golly

module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2024 License: MIT

README

testing release releaseDate Go Version 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

  • 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
  • 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.

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 cli provides functionality for handling command-line arguments.
Package cli provides functionality for handling command-line arguments.
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.
Package config provides a configuration management library for Go applications.
Package config provides a configuration management library for Go applications.
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.
Packge l3 provides multi level logging for Go applications.
Packge l3 provides multi level logging for Go applications.
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 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 set of utilities for working with secrets in Go.
Package secrets provides a set of utilities for working with secrets in Go.
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.
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
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL