Documentation ¶
Overview ¶
A monorepo for small Go modules maintained by Tawesoft®
This is permissively-licensed open source software but exact licenses may vary between modules.
For license information, documentation, source code, support, links, etc. please see https://www.tawesoft.co.uk/go
Directories ¶
Path | Synopsis |
---|---|
Package dialog implements simple cross platform native MessageBox/Alert dialogs for Go.
|
Package dialog implements simple cross platform native MessageBox/Alert dialogs for Go. |
Package drop implements the ability to start a process as root, open privileged resources as files, drop privileges to become a given user account, and inherit file handles across the dropping of privileges.
|
Package drop implements the ability to start a process as root, open privileged resources as files, drop privileges to become a given user account, and inherit file handles across the dropping of privileges. |
examples/drop
Opens privileged files and ports as root, then drops privileges
|
Opens privileged files and ports as root, then drops privileges |
Package email implements the formatting of multipart MIME e-mail messages, including Unicode headers, attachments, HTML email, and plain text.
|
Package email implements the formatting of multipart MIME e-mail messages, including Unicode headers, attachments, HTML email, and plain text. |
examples/stdout
Format an email message and print it, as well as its JSON serialisation, to a Writer (here, stdout).
|
Format an email message and print it, as well as its JSON serialisation, to a Writer (here, stdout). |
Package glcaps provides a nice interface to declare OpenGL capabilities you care about, including minimum required extensions or capabilities.
|
Package glcaps provides a nice interface to declare OpenGL capabilities you care about, including minimum required extensions or capabilities. |
Package grace implements a simple way to start multiple long-lived processes (e.g.
|
Package grace implements a simple way to start multiple long-lived processes (e.g. |
examples/multiportserver
Start HTTP servers on multiple ports with graceful shutdown
|
Start HTTP servers on multiple ports with graceful shutdown |
Package humanizex is an elegant, general-purpose, extensible, modular, locale-aware way to format and parse numbers and quantities - like distances, bytes, and time - in a human-readable way ideal for config files and as a building-block for fully translated ergonomic user interfaces.
|
Package humanizex is an elegant, general-purpose, extensible, modular, locale-aware way to format and parse numbers and quantities - like distances, bytes, and time - in a human-readable way ideal for config files and as a building-block for fully translated ergonomic user interfaces. |
examples/custom-durations
Example leveraging the raw parts of FormatParts to handle durations in a custom even nicer way for the english language.
|
Example leveraging the raw parts of FormatParts to handle durations in a custom even nicer way for the english language. |
examples/custom-factors
Example using custom time factors from the Battlestar Galactica 1978 TV series.
|
Example using custom time factors from the Battlestar Galactica 1978 TV series. |
examples/simple
Example formatting and parsing Byte quantities in various locales
|
Example formatting and parsing Byte quantities in various locales |
internal
|
|
doc
Manages markdown/text/golang docstrings across the monorepo
|
Manages markdown/text/golang docstrings across the monorepo |
legacy
|
|
email
Package email implements the formatting of multipart RFC 2045 e-mail messages, including headers, attachments, HTML email, and plain text.
|
Package email implements the formatting of multipart RFC 2045 e-mail messages, including headers, attachments, HTML email, and plain text. |
Package loader implements the ability to define a graph of tasks and dependencies, classes of synchronous and concurrent workers, and limiting strategies, and solve the graph incrementally or totally.
|
Package loader implements the ability to define a graph of tasks and dependencies, classes of synchronous and concurrent workers, and limiting strategies, and solve the graph incrementally or totally. |
examples/dev
Configure the loader to limit concurrent connections per host
|
Configure the loader to limit concurrent connections per host |
examples/limit-connections-per-host
Configure the Loader with a Strategy to limit concurrent connections per host
|
Configure the Loader with a Strategy to limit concurrent connections per host |
Package log provides a common way to quickly configure a logging implementation with file rotation, syslog, console output, etc.
|
Package log provides a common way to quickly configure a logging implementation with file rotation, syslog, console output, etc. |
zerolog
Package log/zerolog makes it trivial to configure a zerolog logger with syslog, rotating file, and/or console output using the same uniform configuration interface.
|
Package log/zerolog makes it trivial to configure a zerolog logger with syslog, rotating file, and/or console output using the same uniform configuration interface. |
Package lxstrconv is an attempt at implementing locale-aware parsing of numbers that integrates with golang.org/x/text.
|
Package lxstrconv is an attempt at implementing locale-aware parsing of numbers that integrates with golang.org/x/text. |
Package operator implements logical, arithmetic, bitwise and comparison operators as functions (like the Python operator module).
|
Package operator implements logical, arithmetic, bitwise and comparison operators as functions (like the Python operator module). |
examples/calculator
Using operators in lookup tables for a command-line calculator program
|
Using operators in lookup tables for a command-line calculator program |
examples/simple
Using operators as function arguments
|
Using operators as function arguments |
Package queue implements simple, durable/ACID, same-process message queues with best-effort ordering by priority and/or time.
|
Package queue implements simple, durable/ACID, same-process message queues with best-effort ordering by priority and/or time. |
examples/simple
Simple example of creating queues, adding items, peeking at due items.
|
Simple example of creating queues, adding items, peeking at due items. |
Package router is a general purpose router of methods (e.g.
|
Package router is a general purpose router of methods (e.g. |
examples/submatches
Demonstrates HTTP routing with "submatch" patterns in a path component with a server at localhost:8080
|
Demonstrates HTTP routing with "submatch" patterns in a path component with a server at localhost:8080 |
Package sqlp ("SQL-plus" or "squelp!") defines helpful interfaces and implements extra features for Go SQL database drivers.
|
Package sqlp ("SQL-plus" or "squelp!") defines helpful interfaces and implements extra features for Go SQL database drivers. |
sqlite3
Package sqlite enchances a mattn/go-sqlite3 database with simple setup of things like utf8 collation and tawesoft.co.uk/go/sqlp features.
|
Package sqlite enchances a mattn/go-sqlite3 database with simple setup of things like utf8 collation and tawesoft.co.uk/go/sqlp features. |
Package variadic implements features that make it easier to work with variadic functions.
|
Package variadic implements features that make it easier to work with variadic functions. |
Package ximage implements Red, RG, and RGB images matching the core image interface.
|
Package ximage implements Red, RG, and RGB images matching the core image interface. |
xcolor
Package xcolor implements Red, RedGreen, and RGB color models matching the core image/color interface.
|
Package xcolor implements Red, RedGreen, and RGB color models matching the core image/color interface. |
Click to show internal directories.
Click to hide internal directories.