Skip to content
/ golib Public

A monorepo for small Go modules maintained by Tawesoft®

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.txt
Unknown
LICENSE-PARTS.txt
Notifications You must be signed in to change notification settings

tawesoft/golib

tawesoft/golib

Go Reference Coverage Status

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 opensource@tawesoft.co.uk or visit tawesoft.co.uk/products/open-source-software to learn more.