# README
tawesoft/golib
A monorepo for small Go (v1.21+) modules maintained by Tawesoft®, with few dependencies.
import "github.com/tawesoft/golib/v2/..."
This is free & open source software made available under the MIT Licence.
Some portions, particularly portions relating to CSS processing and Unicode support, are additionally covered by compatible MIT-like licences.
Packages
Note: "Stable" packages have the normal stability guarantees expected for a Go package of v2 or higher. "Latest" packages do not. See MIGRATIONS.md.
General Packages
Name | Stable | Latest | Description |
---|---|---|---|
dialog | v2 | - | cross-platform message boxes & file pickers |
iter | - | v2 | composable lazy iteration |
ks | - | v2 | (unstable) "kitchen sink" of extras |
must | v2 | - | assertions |
operator | v2 | - | operators as functions |
tuple | v2 | - | convert to/from tuples |
view | v2 | - | dynamic views over collections |
TODO hyerlinks e.g. g01, g02, g03...
Data-Structures
Name | Stable | Latest | Description |
---|---|---|---|
ds/bitseq | - | v2 | compact "infinite" sequence of bits |
ds/genarray | - | v2 | generational array indices |
ds/graph | - | v2 | (unstable) graphs |
ds/matrix | - | v2 | specialised matrices of arbitrary size & dimensions |
Functional-style Packages
Name | Stable | Latest | Description |
---|---|---|---|
fun/either | v2 | - | "Either" type |
fun/future | v2 | synchronous and asynchronous future values | |
fun/maybe | v2 | - | "Maybe" type |
fun/partial | v2 | - | partial function application |
fun/promise | - | v2 | store computations to be performed later |
fun/result | v2 | - | "Result" type |
fun/slices | v2 | - | higher-order functions for slices |
Math Packages
Name | Stable | Latest | Description |
---|---|---|---|
bitwise | v2 | - | efficient operations on data up to a word in size |
Text & Unicode Packages
Name | Stable | Latest | Description |
---|---|---|---|
text/ccc | - | v2 | Unicode Canonical Combining Class values |
text/dm | - | v2 | Unicode decomposition mappings & selective decompositions |
text/fallback | - | v2 | Unicode Character Fallback Substitutions |
text/fold | - | v2 | Unicode text folding |
text/np | - | v2 | Unicode numeric properties |
text/number/algorithmic | v2 | - | CLDR algorithmic (non-decimal) numbering systems |
text/number/plurals | v2 | - | CLDR plural rules with a simple interface |
text/number/rbnf | - | v2 | CLDR Rule-Based Number Formats |
text/number/symbols | - | v2 | CLDR locale-appropriate Number Symbols |
Web
Name | Stable | Latest | Description |
---|---|---|---|
css/tokenizer | - | v2 | CSS tokenizer for CSS Syntax Module Level 3 |
html/meta/opengraph | v2 | - | HTML meta tags for Facebook's Open Graph protocol |
html/meta/twittercard | v2 | - | HTML meta tags for Twitter Cards |
Legacy (TODO rewrites)
Note: Additional v2/legacy packages exist for users migrating from
tawesoft.co.uk/go
. See MIGRATIONS.md.
Name | Stable | Latest | Description |
---|---|---|---|
drop | - | legacy | drop process privileges and inherit handles |
grace | - | legacy | start and gracefully shutdown processes |
humanize | - | legacy | locale-aware numbers & quantities |
loader | - | legacy | concurrent dependency graph solver |
Support
Free and Community Support
Use the tawesoft/golib issue tracker, powered by GitHub issues.
Commercial Support
Open source software from Tawesoft® is backed by commercial support options. Email [email protected] or visit tawesoft.co.uk/products/open-source-software to learn more.