tawesoft

package module
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 6, 2021 License: BSD-3-Clause, MIT, MIT-0 Imports: 19 Imported by: 0

README

Tawesoft

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?
homedocssrc MIT-0 ✔ yes
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?
homedocssrc 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?
homedocssrc 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?
homedocssrc MIT ✔ yes
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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc MIT-0 ✔ yes
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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc 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?
homedocssrc BSD-3-Clause ✔ yes
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?
homedocssrc BSD-3-Clause ✔ yes

Support

Free and Community Support
Commercial Support

Open source software from Tawesoft® backed by commercial support options.

Email open-source@tawesoft.co.uk or visit tawesoft.co.uk/products/open-source-software to learn more.

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
log
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL