Skip to content

nandlabs/golly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6d84431 · Apr 6, 2025

History

50 Commits
Apr 6, 2024
Dec 22, 2024
Apr 6, 2025
Feb 24, 2025
Jan 13, 2025
Dec 22, 2024
Jan 10, 2025
Mar 25, 2025
Feb 21, 2025
Aug 11, 2024
Aug 11, 2024
Mar 25, 2025
Jan 10, 2025
Jan 10, 2025
Jan 16, 2025
Jan 14, 2025
Feb 21, 2025
Feb 24, 2025
Jan 10, 2025
Dec 16, 2024
Dec 22, 2024
Aug 11, 2024
Jan 16, 2025
Dec 22, 2024
Aug 11, 2024
Jan 10, 2025
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Jan 10, 2025
Apr 5, 2024
Apr 6, 2024
Apr 5, 2024

Repository files navigation

report testing release releaseDate godoc

golly

Golly is a collection of reusable common utilities for go programming language.

Goals

  • Create reusable common collection of utilities targeting enterprise use cases
  • Ensure the project is self-contained and minimise external dependencies.

Installation

go get oss.nandlabs.io/golly

Core Packages

  • assertion

    • Unified interface for asserting conditions
    • Supports various assertion functions for different types of conditions
  • clients

    • A common package for all types of client
    • Checkout clients that leverage this package.
  • cli

    • Easy to use API for building complex command structures
    • Argument parsing and validation
  • codec

    • Easy to use interface
    • Multiformat support
    • Unifed interface for Endcoding and Decoding data from structured format
    • Out of the box support for XML JSON & YAML
  • collections

    • A collection of generic data structures
    • Stack, Queue, List,LinkedList, Set
    • Synchronized versions of the above
  • genai

    • Interact with generative AI models
    • Manage sessions, exchanges, and models
    • Handle memory and templates
  • l3

    • Lightweight Levelled Logger
    • Multiple logging levels OFF,ERROR,INFO,DEBUG,TRACE
    • Console and File based writers
    • Ability to specify log levels for a specific package
    • Async logging support
    • Configuration can be done using either a file,env variables,Struct values at runtime.
  • messaging

    • General producer interface for sending messages to different messaging platforms.
    • General consumer interface for receiving and processing messages from different messaging platforms.
    • A local provider interface for messaging using channels
  • rest server

    • HTTP methods: GET, POST, PUT, DELETE
    • Query parameters
    • Request headers
    • Middleware support
    • TLS Configuration
    • Transport Layer Configuration

    client

    • HTTP methods: GET, POST, PUT, DELETE
    • Query parameters
    • Request headers
    • Proxy Configuration
    • TLS Configuration
    • Transport Layer Configuration
    • SSL Configuration
    • Error handling
  • semver

    • Adheres to the SemVer 2.0.0 specification
    • Easy to use API for parsing, comparing and generating SemVer versions
    • Supports pre-release and build metadata
  • turbo

    • Smart Http Routing Capabilities
    • Aimed for API Development
    • Easy to use
    • Filters
  • vfs

    • Virtual File System
    • Unified interface for multiple file systems
    • Default implementation for local fs available
    • Extensible framework
  • testing/assert

    • Flexible and extensible assertion library

And many more... Refer to Godocs for more information

Contributing

We welcome contributions to the project. If you find a bug or would like to request a new feature, please open an issue on GitHub.

License

This project is licensed under MIT License. See the License file for details.