About Golly

What is Golly?

Golly is a collection of reusable, production-grade utilities for the Go programming language. It provides a comprehensive set of packages that address common enterprise development needs — from HTTP routing and REST clients to logging, configuration, messaging, and generative AI — all in a single, self-contained module with minimal external dependencies.

Goals

  • Reusable utilities — Create a common collection of packages targeting enterprise use cases.
  • Self-contained — Minimise external dependencies to keep the footprint small and reduce supply-chain risk.
  • Idiomatic Go — Follow Go conventions, leverage generics, and support concurrent use by default.

Installation

go get oss.nandlabs.io/golly

Requires Go 1.21 or later.

Architecture

Golly is organised as a single Go module (oss.nandlabs.io/golly) containing 25+ packages. Each package is independently importable and designed around clear interfaces.

CategoryPackages
Web & APIturbo (HTTP router), rest (client & server), turbo/auth, turbo/filters
Data & Serialisationcodec (JSON, XML, YAML), codec/validator, data, collections
AI & MLgenai (provider abstraction), genai/impl (OpenAI, Claude, Ollama)
Infrastructuremessaging, vfs (virtual file system), secrets, config
Observabilityl3 (lightweight levelled logger)
Lifecycle & Concurrencylifecycle, managers, pool
Utilitiescli, clients, errutils, fnutils, fsutils, ioutils, semver, textutils, uuid
Testingtesting/assert (assertion helpers)

Extension Modules

Cloud-specific and protocol-specific integrations are provided as separate modules to keep the core dependency-free:

ModuleDescription
golly-awsAWS services — S3 VFS, SNS, SQS
golly-gcpGCP services — Cloud Storage, Pub/Sub, Vertex AI
golly-azureAzure services integration

Contributing

We welcome contributions of all kinds — bug reports, feature requests, documentation improvements, and code contributions.

  • Bug ReportsOpen an issue using the bug template.
  • Feature RequestsOpen an issue using the feature template.
  • Pull Requests — Fork the repository, create a feature branch, and submit a PR with a clear description.

Please see the Contributing Guide for full details.

License

Golly is licensed under the MIT License.

Copyright © Nandlabs Pty Ltd 2024.

Links