Documentation
¶
Overview ¶
Package golly is a collection of reusable common utilities for the Go programming language.
Golly provides a wide range of sub-packages that cover common application needs including logging, configuration, REST client/server, messaging, codec, collections, CLI, GenAI providers, and more.
Each sub-package is independently importable:
import "oss.nandlabs.io/golly/rest" // REST client and server import "oss.nandlabs.io/golly/l3" // Logging import "oss.nandlabs.io/golly/codec" // Encoding/decoding (JSON, XML, YAML) import "oss.nandlabs.io/golly/config" // Application configuration import "oss.nandlabs.io/golly/messaging" // Generic messaging API import "oss.nandlabs.io/golly/genai" // Generative AI provider abstractions
For a complete list of packages and documentation, see: https://pkg.go.dev/oss.nandlabs.io/golly
Directories
¶
| Path | Synopsis |
|---|---|
|
Package assertion provides a set of utilities for making assertions in Go.
|
Package assertion provides a set of utilities for making assertions in Go. |
|
Package chrono provides a full-featured task scheduler for Go applications.
|
Package chrono provides a full-featured task scheduler for Go applications. |
|
Package cli provides a command-line interface (CLI) framework for building command-line applications.
|
Package cli provides a command-line interface (CLI) framework for building command-line applications. |
|
Package clients provides a collection of client libraries for various services.
|
Package clients provides a collection of client libraries for various services. |
|
Package codec provides a set of utilities for encoding and decoding data in Go.
|
Package codec provides a set of utilities for encoding and decoding data in Go. |
|
validator
Package validator provides struct field validation using tags.
|
Package validator provides struct field validation using tags. |
|
Package collections provides generic data structures for Go applications.
|
Package collections provides generic data structures for Go applications. |
|
Package config provides a configuration management library for Go applications.
|
Package config provides a configuration management library for Go applications. |
|
Package data provides utilities for data schema generation and data handling.
|
Package data provides utilities for data schema generation and data handling. |
|
examples
|
|
|
assertion
command
Package main demonstrates the assertion utilities.
|
Package main demonstrates the assertion utilities. |
|
chrono
command
Package main demonstrates the chrono package for task scheduling.
|
Package main demonstrates the chrono package for task scheduling. |
|
cli
command
Package main demonstrates the CLI framework for building command-line applications.
|
Package main demonstrates the CLI framework for building command-line applications. |
|
clients
command
Package main demonstrates the clients package: auth, retry, and circuit breaker.
|
Package main demonstrates the clients package: auth, retry, and circuit breaker. |
|
codec
command
Package main demonstrates the codec package for encoding/decoding data.
|
Package main demonstrates the codec package for encoding/decoding data. |
|
collections
command
Package main demonstrates the collections package with generic data structures.
|
Package main demonstrates the collections package with generic data structures. |
|
config
command
Package main demonstrates the config package for application configuration.
|
Package main demonstrates the config package for application configuration. |
|
data
command
Package main demonstrates the data package with Pipeline and Schema generation.
|
Package main demonstrates the data package with Pipeline and Schema generation. |
|
errutils
command
Package main demonstrates the errutils package.
|
Package main demonstrates the errutils package. |
|
fnutils
command
Package main demonstrates the fnutils package.
|
Package main demonstrates the fnutils package. |
|
fsutils
command
Package main demonstrates the fsutils package.
|
Package main demonstrates the fsutils package. |
|
genai
command
|
|
|
genai-claude
command
Package main demonstrates the Claude (Anthropic) GenAI provider.
|
Package main demonstrates the Claude (Anthropic) GenAI provider. |
|
genai-ollama
command
Package main demonstrates the Ollama GenAI provider for local model inference.
|
Package main demonstrates the Ollama GenAI provider for local model inference. |
|
genai-openai
command
Package main demonstrates the OpenAI GenAI provider.
|
Package main demonstrates the OpenAI GenAI provider. |
|
ioutils
command
Package main demonstrates the ioutils package.
|
Package main demonstrates the ioutils package. |
|
l3
command
Package main demonstrates the l3 (multi-level logging) package.
|
Package main demonstrates the l3 (multi-level logging) package. |
|
lifecycle
command
Package main demonstrates the lifecycle package for component management.
|
Package main demonstrates the lifecycle package for component management. |
|
managers
command
Package main demonstrates the managers package for generic item management.
|
Package main demonstrates the managers package for generic item management. |
|
messaging
command
Package main demonstrates the messaging package with the local (channel-based) provider.
|
Package main demonstrates the messaging package with the local (channel-based) provider. |
|
pool
command
Package main demonstrates the pool package for generic object pooling.
|
Package main demonstrates the pool package for generic object pooling. |
|
rest-client
command
Package main demonstrates the REST client for making HTTP requests.
|
Package main demonstrates the REST client for making HTTP requests. |
|
rest-server
command
Package main demonstrates the REST server for building HTTP APIs.
|
Package main demonstrates the REST server for building HTTP APIs. |
|
schema
command
|
|
|
secrets
command
Package main demonstrates the secrets package for encryption and secret management.
|
Package main demonstrates the secrets package for encryption and secret management. |
|
semver
command
Package main demonstrates the semver parsing and comparison utilities.
|
Package main demonstrates the semver parsing and comparison utilities. |
|
textutils
command
Package main demonstrates the textutils package with ASCII character constants.
|
Package main demonstrates the textutils package with ASCII character constants. |
|
turbo
command
Package main demonstrates the turbo HTTP router package.
|
Package main demonstrates the turbo HTTP router package. |
|
uuid
command
Package main demonstrates the UUID generation utilities.
|
Package main demonstrates the UUID generation utilities. |
|
vfs
command
Package main demonstrates the vfs (Virtual File System) package.
|
Package main demonstrates the vfs (Virtual File System) package. |
|
Package fnutils provides a set of utilities for working with functions in Go.
|
Package fnutils provides a set of utilities for working with functions in Go. |
|
Package fsutils provides a set of utilities for working with the filesystem in Go.
|
Package fsutils provides a set of utilities for working with the filesystem in Go. |
|
Package genai defines the provider abstraction for Generative AI services.
|
Package genai defines the provider abstraction for Generative AI services. |
|
impl
Package impl provides concrete implementations of the genai.Provider interface.
|
Package impl provides concrete implementations of the genai.Provider interface. |
|
Package l3 provides multi level logging for Go applications.
|
Package l3 provides multi level logging for Go applications. |
|
Package lifecycle provides component lifecycle management for Go applications.
|
Package lifecycle provides component lifecycle management for Go applications. |
|
Package managers provides generic manager abstractions for component registration and lookup.
|
Package managers provides generic manager abstractions for component registration and lookup. |
|
Package messaging provides a set of utilities for working with messaging systems.
|
Package messaging provides a set of utilities for working with messaging systems. |
|
Package pool provides a generic object pool implementation.
|
Package pool provides a generic object pool implementation. |
|
Package rest provides a set of utilities for making RESTful API calls.
|
Package rest provides a set of utilities for making RESTful API calls. |
|
Package secrets provides a comprehensive secret management system for Go applications.
|
Package secrets provides a comprehensive secret management system for Go applications. |
|
Package semver provides a set of utilities for working with semantic versions in Go.
|
Package semver provides a set of utilities for working with semantic versions in Go. |
|
Package testing provides support for automated testing of Go packages.
|
Package testing provides support for automated testing of Go packages. |
|
assert
Package assert provides test assertion helpers for use in unit tests.
|
Package assert provides test assertion helpers for use in unit tests. |
|
package textutils provides a set of utilities for working with text in Go.
|
package textutils provides a set of utilities for working with text in Go. |
|
package turbo provides enterprise grade http routing capabilities
|
package turbo provides enterprise grade http routing capabilities |
|
auth
Package auth provides authentication middleware for the Turbo HTTP router.
|
Package auth provides authentication middleware for the Turbo HTTP router. |
|
filters
Package filters provides HTTP request/response filter middleware for the Turbo router.
|
Package filters provides HTTP request/response filter middleware for the Turbo router. |
|
package uuid provides a set of utilities for working with UUIDs in Go.
|
package uuid provides a set of utilities for working with UUIDs in Go. |
|
package vfs provides a set of utilities for working with virtual file systems in Go.
|
package vfs provides a set of utilities for working with virtual file systems in Go. |
Click to show internal directories.
Click to hide internal directories.