A monorepo for small Go modules maintained by Tawesoft®
This is permissively-licensed open source software but exact licenses may vary between modules.
Download
go get -u tawesoft.co.uk/go
Contents
dialog - simple cross-platform messagebox
Package dialog implements simple cross platform native MessageBox/Alert dialogs for Go.
import "tawesoft.co.uk/go/dialog"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT-0 |
drop - drop privileges and inherit handles
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.
import "tawesoft.co.uk/go/drop"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
email - format multipart MIME email
Package email implements the formatting of multipart MIME e-mail messages, including Unicode headers, attachments, HTML email, and plain text.
import "tawesoft.co.uk/go/email"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
glcaps - read and check OpenGL capabilities
Package glcaps provides a nice interface to declare OpenGL capabilities you care about, including minimum required extensions or capabilities. Glcaps has no dependencies and is agnostic to the exact OpenGL binding used.
import "tawesoft.co.uk/go/glcaps"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT |
grace - start and gracefully shutdown processes
Package grace implements a simple way to start multiple long-lived processes (e.g. goroutines) with cancellation, signal handling and graceful shutdown.
import "tawesoft.co.uk/go/grace"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
humanizex - locale-aware natural number formatting
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.
import "tawesoft.co.uk/go/humanizex"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | ✘ no |
loader - concurrent dependency graph solver
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.
import "tawesoft.co.uk/go/loader"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | ✘ no |
log - uniformly configurable loggers
Package log provides a common way to quickly configure a logging implementation with file rotation, syslog, console output, etc. for some popular logging implementations such as zerolog.
import "tawesoft.co.uk/go/log"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT-0 | candidate |
log/zerolog - easy-config 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.
import "tawesoft.co.uk/go/log/zerolog"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT-0 | candidate |
lxstrconv - locale-aware number parsing
Package lxstrconv is an attempt at implementing locale-aware parsing of numbers that integrates with golang.org/x/text.
import "tawesoft.co.uk/go/lxstrconv"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | ✘ no |
operator - operators as functions
Package operator implements logical, arithmetic, bitwise and comparison operators as functions (like the Python operator module). Includes unary, binary, and n-ary functions with overflow checked variants.
import "tawesoft.co.uk/go/operator"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT-0 |
queue - same-process durable message queue
Package queue implements simple, durable/ACID, same-process message queues with best-effort ordering by priority and/or time.
import "tawesoft.co.uk/go/queue"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
router - general purpose (HTTP, etc.) router
Package router is a general purpose router of methods (e.g. HTTP "GET") and paths (e.g. "/user/123/profile") to some value e.g. a controller.
import "tawesoft.co.uk/go/router"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
sqlp - SQL database extras
Package sqlp ("SQL-plus" or "squelp!") defines helpful interfaces and implements extra features for Go SQL database drivers. Specific driver extras are implemented in the subdirectories.
import "tawesoft.co.uk/go/sqlp"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
sqlp/sqlite3 - SQLite3 database extras
Package sqlite enchances a mattn/go-sqlite3 database with simple setup of things like utf8 collation and tawesoft.co.uk/go/sqlp features.
import "tawesoft.co.uk/go/sqlp/sqlite3"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
variadic - helpers for variadic functions
Package variadic implements features that make it easier to work with variadic functions.
import "tawesoft.co.uk/go/variadic"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | MIT | candidate |
ximage - extended image types
Package ximage implements Red, RG, and RGB images matching the core image interface.
import "tawesoft.co.uk/go/ximage"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | BSD-3-Clause |
ximage/xcolor - extended color types
Package xcolor implements Red, RedGreen, and RGB color models matching the core image/color interface.
import "tawesoft.co.uk/go/ximage/xcolor"
Links | License | Stable? |
---|---|---|
home ∙ docs ∙ src | BSD-3-Clause |
Links
- Home: tawesoft.co.uk/go
- Docs hub: tawesoft.co.uk/go/doc/
- Repository: github.com/tawesoft/go
- Or search "tawesoft" on go.dev
Support
Free and Community Support
- GitHub issues
- Email [email protected] (feedback welcomed, but support is "best effort")
Commercial Support
Open source software from Tawesoft® backed by commercial support options.
Email [email protected] or visit tawesoft.co.uk/products/open-source-software to learn more.