Project Awesome project awesome

Go

Collection GitHub

Authentication and Authorization

authboss 4.2k updated 4mo ago

Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.

authgate 43 updated 3d ago

A lightweight OAuth 2.0 Authorization Server supporting Device Authorization Grant (RFC 8628), Authorization Code Flow with PKCE (RFC 6749 + RFC 7636), and Client Credentials Grant for machine-to-machine authentication.

branca 96 updated 13d ago

branca token specification implementation for Golang 1.15+.

casbin 19.9k updated 2d ago

Authorization library that supports access control models like ACL, RBAC, and ABAC.

cookiestxt 22 updated 2mo ago

provides a parser of cookies.txt file format.

go-githubauth

Utilities for GitHub authentication: generate and use GitHub application and installation tokens.

go-guardian 610 updated 1y ago

Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.

go-iam 35 updated 4mo ago

Developer-first Identity and Access Management system with a simple UI.

go-jose 490 updated 2mo ago

Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.

go-jwt

A JWT (JSON Web Token) library for Go.

go-jwt 17 updated 1mo ago

JWT authentication package providing access tokens and refresh tokens with fingerprinting, Redis storage, and automatic refresh capabilities.

goiabada 187 updated 1mo ago

An open-source authentication and authorization server supporting OAuth2 and OpenID Connect.

gologin

chainable handlers for login with OAuth1 and OAuth2 authentication providers.

gorbac 1.7k updated 6mo ago

provides a lightweight role-based access control (RBAC) implementation in Golang.

gosession 259 updated 1y ago

This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one.

goth 6.5k updated 1mo ago

provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.

jeff 271 updated 1y ago

Simple, flexible, secure, and idiomatic web session management with pluggable backends.

jwt 361 updated 2y ago

Lightweight JSON Web Token (JWT) library.

jwt 688 updated 9mo ago

Safe, simple, and fast JSON Web Tokens for Go.

jwt-auth 236 updated 4y ago

JWT middleware for Golang http servers with many configuration options.

jwt-go 9.0k updated 12d ago

A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs.

jwx 2.3k updated 2d ago

Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies.

keto 5.3k updated 2d ago

Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.

loginsrv 1.9k updated 5y ago

JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.

oauth2 5.8k updated 17d ago

Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.

oidc 1.8k updated yesterday

Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation.

openfga 4.9k updated yesterday

Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by CNCF.

osin 1.9k updated 1mo ago

Golang OAuth2 server library.

otpgen 142 updated 2y ago

Library to generate TOTP/HOTP codes.

otpgo 77 updated 5y ago

Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.

paseto

Golang implementation of Platform-Agnostic Security Tokens (PASETO).

permissions 12 updated 2mo ago

Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt.

scope 42 updated 4y ago

Easily Manage OAuth2 Scopes In Go.

scs 2.5k updated 4mo ago

Session Manager for HTTP servers.

securecookie 85 updated 3y ago

Efficient secure cookie encoding/decoding.

session 118 updated 1y ago

Go session management for web servers (including support for Google App Engine - GAE).

sessions 79 updated 2y ago

Dead simple, highly performant, highly customizable sessions service for go http servers.

sessionup 131 updated 1y ago

Simple, yet effective HTTP session management and identification package.

sjwt 122 updated 4mo ago

Simple jwt generator and parser.

spicedb 6.5k updated today

A Zanzibar-inspired database that enables fine-grained authorization.

x509proxy 7 updated 1y ago

Library to handle X509 proxy certificates.

Blockchain

cometbft 872 updated 2d ago

A distributed, Byzantine fault-tolerant, deterministic state machine replication engine. It is a fork of Tendermint Core and implements the Tendermint consensus algorithm.

cosmos-sdk 7.0k updated 2d ago

A Framework for Building Public Blockchains in the Cosmos Ecosystem.

gno 1.1k updated 2d ago

A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains.

go-ethereum

Official Go implementation of the Ethereum protocol.

gosemble 14 updated 1y ago

A Go-based framework for building Polkadot/Substrate-compatible runtimes.

gossamer

A Go implementation of the Polkadot Host.

kubo 17.0k updated 3d ago

An IPFS implementation in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol.

lnd 8.1k updated 5d ago

A complete implementation of a Lightning Network node.

nview 39 updated 6d ago

Local monitoring tool for a Cardano Node. It's a TUI (terminal user interface) designed to fit most screens.

solana-go 1.5k updated 5mo ago

Go library to interface with Solana JSON RPC and WebSocket interfaces.

tendermint 5.9k updated 7d ago

High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols.

tronlib 1 updated 2mo ago

A comprehensive, production-ready Go SDK for interacting with the TRON blockchain with TRC20 token support.

Command Line

Advanced Console UIs

asciigraph 3.0k updated 10d ago

Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

aurora 1.5k updated 1y ago

ANSI terminal colors that support fmt.Printf/Sprintf.

box-cli-maker 620 updated 22d ago

Render highly customizable boxes in the terminal.

bubble-table 564 updated 6mo ago

An interactive table component for bubbletea.

bubbles 8.0k updated 2d ago

TUI components for bubbletea.

bubbletea 40.9k updated 2d ago

Go framework to build terminal apps, based on The Elm Architecture.

crab-config-files-templating 8 updated 3y ago

Dynamic configuration file templating tool for kubernetes manifest or general configuration files.

ctc 52 updated 3y ago

The non-invasive cross-platform terminal color library does not need to modify the Print method.

fx 20.4k updated 16d ago

Terminal JSON viewer & processor.

go-ataman 20 updated 5y ago

Go library for rendering ANSI colored text templates in terminals.

go-colorable 805 updated 1y ago

Colorable writer for windows.

go-colortext 215 updated 6y ago

Go library for color output in terminals.

go-isatty

isatty for golang.

go-palette 20 updated 3y ago

Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the fmt library for nice terminal layouts.

go-prompt 5.5k updated 7mo ago

Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.

gocui 10.5k updated 10mo ago

Minimalist Go library aimed at creating Console User Interfaces.

gommon/color 579 updated 2y ago

Style terminal text.

gookit/color 1.6k updated 1mo ago

Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.

lazyenv 2 updated 3d ago

TUI for browsing, comparing, and editing .env files.

lipgloss 10.9k updated 5d ago

Declaratively define styles for color, format and layout in the terminal.

loom 108 updated 7d ago

Signal-based reactive components framework for building TUIs.

marker 53 updated 2y ago

Easiest way to match and mark strings for colorful terminal outputs.

mpb 2.5k updated 12d ago

Multi progress bar for terminal applications.

phoenix 21 updated 20d ago

High-performance TUI framework with Elm-inspired architecture, perfect Unicode rendering, and zero-allocation event system.

progressbar 4.7k updated 2mo ago

Basic thread-safe progress bar that works in every OS.

pterm 5.4k updated 13d ago

A library to beautify console output on every platform with many combinable components.

simpletable 547 updated 4y ago

Simple tables in a terminal with Go.

spinner 2.5k updated 1y ago

Go package to easily provide a terminal spinner with options.

tabby 368 updated 5y ago

A tiny library for super simple Golang tables.

table 50 updated 2y ago

Small library for terminal color based tables.

termbox-go 4.8k updated 5mo ago

Termbox is a library for creating cross-platform text-based interfaces.

termdash 3.0k updated 5mo ago

Go terminal dashboard based on termbox-go and inspired by termui.

termenv 2.0k updated 4mo ago

Advanced ANSI style & color support for your terminal applications.

termui 13.5k updated 8mo ago

Go terminal dashboard based on termbox-go and inspired by blessed-contrib.

uilive 1.7k updated 2y ago

Library for updating terminal output in real time.

uiprogress 2.1k updated 2y ago

Flexible library to render progress bars in terminal applications.

uitable 742 updated 3y ago

Library to improve readability in terminal apps using tabular data.

yacspin 456 updated 4y ago

Yet Another CLi Spinner package, for working with terminal spinners.

Standard CLI

acmd 138 updated 1y ago

Simple, useful, and opinionated CLI package in Go.

argparse 637 updated 3y ago

Command line argument parser inspired by Python's argparse module.

argv 42 updated 6y ago

Go library to split command line string as arguments array using the bash syntax.

carapace 1.2k updated 18d ago

Command argument completion generator for spf13/cobra.

carapace-bin 1.8k updated today

Multi-shell multi-command argument completer.

carapace-spec 29 updated today

Define simple completions using a spec file.

climax 217 updated 5y ago

Alternative CLI with "human face", in spirit of Go command.

clîr 198 updated 1y ago

A Simple and Clear CLI library. Dependency free.

cmd 47 updated 5y ago

Extends the standard flag package to support sub commands and more in idiomatic way.

cmdr 141 updated 2d ago

A POSIX/GNU style, getopt-like command-line UI Go library.

cobra 43.5k updated 3mo ago

Commander for modern Go CLI interactions.

command-chain 70 updated 8mo ago

A go library for configure and run command chains - such as pipelining in unix shells.

commandeer 175 updated 3y ago

Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.

complete 952 updated 1y ago

Write bash completions in Go + Go command bash completion.

console 107 updated 2mo ago

Closed-loop application library for Cobra commands, with oh-my-posh prompts, and more.

Dnote 3.0k updated 20d ago

A simple command line notebook with multi-device sync.

elvish 6.3k updated 1mo ago

An expressive programming language and a versatile interactive shell.

env

Tag-based environment configuration for structs.

flaggy 948 updated 5mo ago

A robust and idiomatic flags package with excellent subcommand support.

flagvar 48 updated 1y ago

A collection of flag argument types for Go's standard flag package.

flash-flags 10 updated 2mo ago

Ultra-fast, zero-dependency, POSIX-compliant flag parsing library that can be used as drop-in stdlib replacement with security hardening.

getopt 8 updated 1mo ago

An accurate Go getopt, validated against the GNU libc implementation.

go-arg 2.2k updated 2mo ago

Struct-based argument parsing in Go.

go-flags 2.7k updated 1y ago

go command line option parser.

go-getoptions 61 updated 11mo ago

Go option parser inspired by the flexibility of Perl’s GetOpt::Long.

go-readline-ny 34 updated 1mo ago

A customizable line-editing library with Emacs keybindings, Unicode support, completion, and syntax highlighting. Used in NYAGOS shell.

gocmd 67 updated 3y ago

Go library for building command line applications.

goopt 5 updated 1mo ago

A declarative, struct-tag based CLI framework for Go, with a broad feature set such as hierarchical commands/flags, i18n, shell completion, and validation.

hashicorp/cli 36 updated 4mo ago

Go library for implementing command-line interfaces.

job 149 updated 5y ago

JOB, make your short-term command as a long-term job.

kingpin 3.6k updated 3d ago

Command line and flag parser supporting sub commands (superseded by kong; see below).

liner 1.1k updated 2y ago

Go readline-like library for command-line interfaces.

mcli 45 updated 1mo ago

A minimal but very powerful cli library for Go.

mkideal/cli 726 updated 2y ago

Feature-rich and easy to use command-line package based on golang struct tags.

mow.cli 883 updated 2y ago

Go library for building CLI applications with sophisticated flag and argument parsing and validation.

ops

Unikernel Builder/Orchestrator.

orpheus 27 updated 2mo ago

CLI framework with security hardening, plugin storage system, and production observability features.

pflag 2.7k updated 20d ago

Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.

readline 136 updated 2mo ago

Shell library with modern and easy to use UI features.

sflags

Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries.

structcli 8 updated yesterday

Eliminate Cobra boilerplate: build powerful, feature-rich CLIs declaratively from Go structs.

strumt

Library to create prompt chain.

subcmd 9 updated 2mo ago

Another approach to parsing and running subcommands. Works alongside the standard flag package.

teris-io/cli

Simple and complete API for building command line interfaces in Go.

urfave/cli 23.9k updated 2d ago

Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).

version 110 updated 2y ago

Collects and displays CLI version information in multiple formats along with upgrade notice.

wlog 67 updated 1y ago

Simple logging interface that supports cross-platform color and concurrency.

wmenu 229 updated 1y ago

Easy to use menu structure for cli applications that prompt users to make choices.

hiboot cli 179 updated 20d ago

cli application framework with auto configuration and dependency injection.

Configuration

aconfig 626 updated 3mo ago

Simple, useful and opinionated config loader.

argus 167 updated 8d ago

File watching and configuration management with MPSC ring buffer, adaptive batching strategies, and universal format parsing (JSON, YAML, TOML, INI, HCL, Properties).

azureappconfiguration 5 updated 8d ago

The configuration provider for consuming data in Azure App Configuration from Go applications.

bcl 29 updated 1mo ago

BCL is a configuration language similar to HCL.

cleanenv 2.1k updated 6mo ago

Minimalistic configuration reader (from files, ENV, and wherever you want).

config

Cloud native application configuration. Bind ENV to structs in only two lines.

config 60 updated 1y ago

configure your app using file, environment variables, or flags in two lines of code.

configuration 108 updated 1y ago

Library for initializing configuration structs from env variables, files, flags and 'default' tag.

configuro 93 updated 3y ago

opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.

confiq 39 updated 8mo ago

Structured data format to config struct decoder library for Go - supporting multiple data formats.

confita 508 updated 7d ago

Load configuration in cascade from multiple backends into a struct.

conflate 37 updated 2y ago

Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.

enflag 38 updated 5mo ago

Container-oriented, zero-dependency configuration library that unifies Env variable and Flag parsing. Uses generics for type safety, without reflection or struct tags.

env 6.1k updated 24d ago

Parse environment variables to Go structs (with defaults).

env 80 updated 1y ago

A lightweight package for loading environment variables into structs.

env 7 updated 1y ago

An environment utility package with support for unmarshaling into structs.

envconfig 250 updated 1y ago

Read your configuration from environment variables.

envh 100 updated 2mo ago

Helpers to manage environment variables.

envyaml 18 updated 1mo ago

Yaml with environment variables reader. it helps to have secrets as environment variable but load them configs as structured Yaml.

fig 384 updated 9mo ago

Tiny library for reading configuration from a file and from environment variables (with validation & defaults).

genv 43 updated 1mo ago

Read environment variables easily with dotenv support.

go-array 22 updated 1y ago

A Go package that read or set data from map, slice or json.

go-aws-ssm 62 updated 5d ago

Go package that fetches parameters from AWS System Manager - Parameter Store.

go-cfg 48 updated 1y ago

The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env).

go-conf 13 updated 1y ago

Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters.

go-config 4 updated 1mo ago

Simple and convenient library for working with app configurations.

go-ini

A Go package that marshals and unmarshals INI-files.

go-ssm-config 22 updated 2y ago

Go utility for loading configuration parameters from AWS SSM (Parameter Store).

go-up 43 updated 6y ago

A simple configuration library with recursive placeholders resolution and no magic.

GoCfg 6 updated 9mo ago

Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple.

goconfig 43 updated 10d ago

Populate Go structs from flags, environment variables, config.json and defaults with deterministic precedence. No extra dependencies.

godotenv

Go port of Ruby's dotenv library (Loads environment variables from .env).

GoLobby/Config 369 updated 3y ago

GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language.

gonfig 10 updated 4y ago

Tag-based configuration parser which loads values from different providers into typesafe struct.

gookit/config 581 updated 4d ago

application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.

harvester 133 updated 2d ago

Harvester, a easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration.

hedzr/store 7 updated 2d ago

Extensible, high-performance configuration management library, optimized for hierarchical data.

hjson 346 updated 1mo ago

Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.

hocon 89 updated 4mo ago

Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files.

ini 3.5k updated 2mo ago

Go package to read and write INI files.

ini 18 updated 1y ago

INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file.

kelseyhightower/envconfig 5.4k updated 9mo ago

Go library for managing configuration data from environment variables.

koanf 3.9k updated 5d ago

Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.

konf 373 updated 2d ago

The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP).

konfig 645 updated 5y ago

Composable, observable and performant config handling for Go for the distributed processing era.

kong 3.0k updated 12d ago

Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to kingpin).

nasermirzaei89/env 22 updated 8mo ago

Simple useful package for read environment variables.

nfigure 10 updated 4mo ago

Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML

onion 119 updated 3y ago

Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP.

piper 10 updated 4y ago

Viper wrapper with config inheritance and key generation.

sonic 9.3k updated 9d ago

A blazingly fast JSON serializing & deserializing library.

swap 8 updated 11mo ago

Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).

typenv 12 updated 11mo ago

Minimalistic, zero dependency, typed environment variables library.

uConfig 73 updated 8mo ago

Lightweight, zero-dependency, and extendable configuration management.

viper 30.2k updated 2mo ago

Go configuration with fangs.

xdg 970 updated 16d ago

Go implementation of the XDG Base Directory Specification and XDG user directories.

yamagiconf 18 updated 1mo ago

The "safe subset" of YAML for Go configs.

zerocfg

Zero-effort, concise configuration management that avoids boilerplate and repetitive code, supports multiple sources with priority overrides.

Data Structures and Algorithms

Miscellaneous Data Structures and Algorithms

combo

Combinatorial operations including permutations, combinations, and combinations-with-replacement.

concurrent-writer 58 updated 8y ago

Highly concurrent drop-in replacement for bufio.Writer.

count-min-log 69 updated 1y ago

Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).

FSM 17 updated 24d ago

FSM for Go.

fsm 89 updated 3y ago

Finite-State Machine package.

genfuncs 51 updated 3y ago

Go 1.18+ generics package inspired by Kotlin's Sequence and Map.

go-generics 85 updated 9mo ago

Generic slice, map, set, iterator, and goroutine utilities.

go-geoindex 360 updated 8y ago

In-memory geo index.

go-rampart 106 updated 1y ago

Determine how intervals relate to each other.

go-rquad 140 updated 3y ago

Region quadtrees with efficient point location and neighbour finding.

go-tuple 97 updated 7mo ago

Generic tuple implementation for Go 1.18+.

go18ds

Go Data Structures using Go 1.18 generics.

gofal 19 updated 6y ago

fractional api for Go.

gogu 108 updated 3y ago

A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.

gota 3.3k (archived)

Implementation of dataframes, series, and data wrangling methods for Go.

hide 73 updated 4y ago

ID type with marshalling to/from hash to prevent sending IDs to clients.

hyperloglog 1.0k updated 3mo ago

HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.

quadtree 41 updated 11mo ago

Generic, zero-alloc, 100%-test covered quadtree.

slices 22 updated 3y ago

Pure, generic functions for slices.

Database

Caches

bcache 162 updated 3y ago

Eventually consistent distributed in-memory cache Go library.

BigCache 8.1k updated 1mo ago

Efficient key/value cache for gigabytes of data.

cache2go 2.2k updated 1y ago

In-memory key:value cache which supports automatic invalidation based on timeouts.

cachego 371 updated 11mo ago

Golang Cache component for multiple drivers.

clusteredBigCache 45 updated 8y ago

BigCache with clustering support and individual item expiration.

coherence-go-client 14 updated 7mo ago

Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport.

couchcache 66 updated 1y ago

RESTful caching micro-service backed by Couchbase server.

EchoVault 530 updated 11mo ago

Embeddable Distributed in-memory data store compatible with Redis clients.

fastcache 2.3k updated 1mo ago

fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.

GCache 2.7k updated 2y ago

Cache library with support for expirable Cache, LFU, LRU and ARC.

gdcache 13 updated 4y ago

A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache.

go-cache 160 updated 2y ago

A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern.

go-freelru 263 updated 6d ago

A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration.

go-gcache 12 updated 10mo ago

The generic version of GCache, cache support for expirable Cache, LFU, LRU and ARC.

go-mcache 103 updated 3d ago

Fast in-memory key:value store/cache library. Pointer caches.

gocache 2.8k updated 3mo ago

A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.

gocache 19 updated 3mo ago

A data race free Go ache library with high performance and auto pruge functionality

groupcache 13.3k updated 1y ago

Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.

icache 23 updated 1y ago

A High Performance, Generic, thread-safe, zero-dependency cache package.

imcache 123 updated 1y ago

A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding.

jetcache-go 527 updated 29d ago

Unified Go cache library supporting multi-level caching.

nscache 14 updated 6d ago

A Go caching framework that supports multiple data source drivers.

otter 2.6k updated 3mo ago

A high performance lockless cache for Go. Many times faster than Ristretto and friends.

pocache 232 updated 6mo ago

Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy.

ristretto 6.8k updated 2mo ago

A high performance memory-bound Go cache.

sturdyc 1.2k updated 11mo ago

A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant.

theine 365 updated 6mo ago

High performance, near optimal in-memory cache with proactive TTL expiration and generics.

timedmap 74 updated 1y ago

Map with expiring key-value pairs.

ttlcache 1.2k updated 28d ago

An in-memory cache with item expiration and generics.

ttlcache 10 updated 3y ago

In-memory key value storage with TTL for each record.

Databases Implemented in Go

badger 15.5k updated 3d ago

Fast key-value store in Go.

bbolt 9.4k updated 13d ago

An embedded key/value database for Go.

clover 811 updated 6mo ago

A lightweight document-oriented NoSQL database written in pure Golang.

cockroach 32.0k updated 2d ago

Scalable, Geo-Replicated, Transactional Datastore.

Coffer 39 updated 2mo ago

Simple ACID key-value database that supports transactions.

column 1.5k updated 9mo ago

High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.

CovenantSQL 1.5k updated 3y ago

CovenantSQL is a SQL database on blockchain.

Databunker 1.4k updated 10d ago

Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.

dgraph 21.7k updated 5d ago

Scalable, Distributed, Low Latency, High Throughput Graph Database.

DiceDB 10.7k updated 6d ago

An open-source, fast, reactive, in-memory database optimized for modern hardware. Higher throughput and lower median latencies, making it ideal for modern workloads.

diskv 1.5k updated 4y ago

Home-grown disk-backed key-value store.

dolt 21.7k updated today

Dolt – It's Git for Data.

eliasdb 1.0k updated 3y ago

Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.

godis 3.8k updated 6mo ago

A Golang implemented high-performance Redis server and cluster.

goleveldb 6.3k updated 1y ago

Implementation of the LevelDB key/value database in Go.

hare 97 updated 5y ago

A simple database management system that stores each table as a text file of line-delimited JSON.

immudb 8.9k updated 1mo ago

immudb is a lightweight, high-speed immutable database for systems and applications written in Go.

influxdb 31.4k updated 2d ago

Scalable datastore for metrics, events, and real-time analytics.

ledisdb 4.1k updated 2y ago

Ledisdb is a high performance NoSQL like Redis based on LevelDB.

levigo 420 updated 4y ago

Levigo is a Go wrapper for LevelDB.

libradb 199 updated 1y ago

LibraDB is a simple database with less than 1000 lines of code for learning.

LinDB 3.1k updated 19d ago

LinDB is a scalable, high performance, high availability distributed time series database.

lotusdb 2.3k updated 1y ago

Fast k/v database compatible with lsm and b+tree.

Milvus 43.5k updated yesterday

Milvus is a vector database for embedding management, analytics and search.

moss 1.0k updated 1y ago

Moss is a simple LSM key-value storage engine written in 100% Go.

NoKV 224 updated 2d ago

High-performance distributed KV storage based on LSM Tree.

nutsdb 3.6k updated 1mo ago

Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.

objectbox-go

High-performance embedded Object Database (NoSQL) with Go API.

pebble 5.8k updated today

RocksDB/LevelDB inspired key-value database in Go.

piladb 206 updated 3mo ago

Lightweight RESTful database engine based on stack data structures.

pogreb 1.3k updated 5mo ago

Embedded key-value store for read-heavy workloads.

prometheus 63.3k updated 2d ago

Monitoring system and time series database.

pudge 368 updated 4y ago

Fast and simple key/value store written using Go's standard library.

redka 4.5k updated 1mo ago

Redis re-implemented with SQLite.

rosedb 4.9k updated 1mo ago

An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset.

rotom 40 updated 1y ago

A tiny Redis server built with Golang, compatible with RESP protocols.

rqlite 17.4k updated 5d ago

The lightweight, distributed, relational database built on SQLite.

tempdb

Key-value store for temporary items.

tidb

TiDB is a distributed SQL database. Inspired by the design of Google F1.

tiedot 2.7k updated 4y ago

Your NoSQL database powered by Golang.

unitdb

Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.

Vasto 263 updated 7y ago

A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.

VictoriaMetrics 16.6k updated yesterday

fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.

Database Schema Migration

atlas

A Database Toolkit. A CLI designed to help companies better work with their data.

avro 48 updated 1y ago

Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.

bytebase 13.8k updated 2d ago

Safe database schema change and version control for DevOps teams.

darwin 149 updated 3y ago

Database schema evolution library for Go.

dbmate 6.8k updated 2d ago

A lightweight, framework-agnostic database migration tool.

go-fixtures 31 updated 6y ago

Django style fixtures for Golang's excellent built-in database/sql library.

go-pg-migrate 11 updated 2y ago

CLI-friendly package for go-pg migrations management.

go-pg-migrations 86 updated 4mo ago

A Go package to help write migrations with go-pg/pg.

goavro 1.1k updated 2mo ago

A Go package that encodes and decodes Avro data.

godfish 11 updated 1mo ago

Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3.

goose 10.4k updated 3d ago

Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.

gorm-seeder 18 updated 3y ago

Simple database seeder for Gorm ORM.

gormigrate 1.2k updated 6mo ago

Database schema migration helper for Gorm ORM.

libschema 17 updated 2d ago

Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL.

migrate 18.3k updated 6d ago

Database migrations. CLI and Golang library.

migrator 178 updated 2y ago

Dead simple Go database migration library.

migrator

MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.

schema 42 updated 20d ago

Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.

skeema 1.4k updated 4d ago

Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.

sql-migrate 3.4k updated 4mo ago

Database migration tool. Allows embedding migrations into the application using go-bindata.

sqlize 124 updated 24d ago

Database migration generator. Allows generate sql migration from model and existing sql by differ them.

Database Tools

chproxy 1.4k updated 27d ago

HTTP proxy for ClickHouse database.

clickhouse-bulk 507 updated 13d ago

Collects small inserts and sends big requests to ClickHouse servers.

database-gateway 33 updated 6d ago

Running SQL in production with ACLs, logs, and shared links.

dbbench 115 updated 5d ago

Database benchmarking tool with support for several databases and scripts.

dg 43 updated 7mo ago

A fast data generator that produces CSV files from generated relational data.

gatewayd 279 updated 11d ago

Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases.

go-mysql 4.9k updated 11d ago

Go toolset to handle MySQL protocol and replication.

gorm-multitenancy 79 updated 3mo ago

Multi-tenancy support for GORM managed databases.

GoSQLX 67 updated 3d ago

High-performance SQL parser, formatter, linter, and security scanner with multi-dialect support and WASM playground.

hasql

Library for accessing multi-host SQL database installations.

octillery 200 updated 2y ago

Go package for sharding databases ( Supports every ORM or raw SQL ).

onedump 951 updated 6d ago

Database backup from different drivers to different destinations with one command and configuration.

pg_timetable 1.3k updated 2d ago

Advanced scheduling for PostgreSQL.

pgweb 9.3k updated 24d ago

Web-based PostgreSQL database browser.

prep 36 updated 8y ago

Use prepared SQL statements without changing your code.

pREST

Simplify and accelerate development, instant, realtime, high-performance on any Postgres application, existing or new.

rdb

Redis RDB file parser for secondary development and memory analysis.

rwdb 21 updated 8y ago

rwdb provides read replica capability for multiple database servers setup.

vitess 20.9k updated 2d ago

vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

wescale 314 updated 1y ago

WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications.

SQL Query Builders

bqb 189 updated 1y ago

Lightweight and easy to learn query builder.

buildsqlx 185 updated 1y ago

Go database query builder library for PostgreSQL.

builq 97 updated 1y ago

Easily build SQL queries in Go.

dbq 413 updated 5y ago

Zero boilerplate database operations for Go.

Dotsql 744 updated 2y ago

Go library that helps you keep sql files in one place and use them with ease.

gendry 1.6k updated 1y ago

Non-invasive SQL builder and powerful data binder.

godbal

Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.

goqu 2.6k updated 1y ago

Idiomatic SQL builder and query library.

gosql 37 updated 4y ago

SQL Query builder with better null values support.

Hotcoal 23 updated 2y ago

Secure your handcrafted SQL against injection.

igor 126 updated 1y ago

Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.

jet 3.6k updated 1mo ago

Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.

obreron 12 updated 1mo ago

Fast and cheap SQL builder which does only one thing, SQL building.

ormlite 16 updated 3y ago

Lightweight package containing some ORM-like features and helpers for sqlite databases.

ozzo-dbx

Powerful data retrieval methods as well as DB-agnostic query building capabilities.

patcher 6 updated 23d ago

Powerful SQL Query builder that automatically generates SQL queries from structs.

qry 35 updated 2y ago

Tool that generates constants from files with raw SQL queries.

relica 10 updated 8d ago

Type-safe database query builder with zero production dependencies, LRU statement cache, batch operations, and support for JOINs, subqueries, CTEs, and window functions.

sg 7 updated 3y ago

A SQL Gen for generating standard SQLs(supports: CRUD) written in Go.

sq 203 updated 3y ago

Type-safe SQL builder and struct mapper for Go.

sqlc

Generate type-safe code from SQL.

sqlf 187 updated 1y ago

Fast SQL query builder.

sqlingo 450 updated 6mo ago

A lightweight DSL to build SQL in Go.

sqrl 284 updated 2y ago

SQL query builder, fork of Squirrel with improved performance.

Squirrel 7.9k updated 1y ago

Go library that helps you build SQL queries.

xo 3.9k updated 4d ago

Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.

Database Drivers

Relational Database Drivers

avatica 124 updated 4mo ago

Apache Avatica/Phoenix SQL driver for database/sql.

bgc 21 updated 2y ago

Datastore Connectivity for BigQuery for go.

firebirdsql 256 updated 2d ago

Firebird RDBMS SQL driver for Go.

go-adodb

Microsoft ActiveX Object DataBase driver for go that uses database/sql.

go-mssqldb 1.9k updated 11mo ago

Microsoft MSSQL driver for Go.

go-oci8 637 updated 2y ago

Oracle driver for go that uses database/sql.

go-rqlite 180 updated 9mo ago

A Go client for rqlite, providing easy-to-use abstractions for working with the rqlite API.

go-sql-driver/mysql 15.4k updated 1mo ago

MySQL driver for Go.

go-sqlite3 9.0k updated 6d ago

SQLite3 driver for go that uses database/sql.

go-sqlite3 938 updated 4d ago

This Go module is compatible with the database/sql driver. It allows embedding SQLite into your application, provides direct access to its C API, supports SQLite VFS, and also includes a GORM driver.

godror 589 updated 7d ago

Oracle driver for Go, using the ODPI-C driver.

gofreetds 114 updated 5y ago

Microsoft MSSQL driver. Go wrapper over FreeTDS.

KSQL 355 updated 1mo ago

A Simple and Powerful Golang SQL Library.

pgx 13.6k updated 3d ago

PostgreSQL driver supporting features beyond those exposed by database/sql.

pig 17 updated 4mo ago

Simple pgx wrapper to execute and scan query results easily.

pq 9.8k updated 6d ago

Pure Go Postgres driver for database/sql.

Sqinn-Go 514 updated 7d ago

SQLite with pure Go.

sqlhooks 665 updated 1y ago

Attach hooks to any database/sql driver.

sqlite

Package sqlite is a sql/database driver using a CGo-free port of the C SQLite3 library.

surrealdb.go 308 updated 21d ago

SurrealDB Driver for Go.

ydb-go-sdk 177 updated 2d ago

native and database/sql driver YDB (Yandex Database).

NoSQL Database Drivers

aerospike-client-go 458 updated 8d ago

Aerospike client in Go language.

arangolite 72 updated 5y ago

Lightweight golang driver for ArangoDB.

asc 11 updated 1y ago

Datastore Connectivity for Aerospike for go.

forestdb 36 updated 9y ago

Go bindings for ForestDB.

go-couchbase 324 updated 7mo ago

Couchbase client in Go.

go-mongox 217 updated 7mo ago

A Go Mongo library based on the official driver, featuring streamlined document operations, generic binding of structs to collections, built-in CRUD, aggregation, automated field updates, struct validation, hooks, and plugin-based programming.

go-pilosa 57 (archived)

Go client library for Pilosa.

go-rejson 343 updated 2y ago

Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.

gocb

Official Couchbase Go SDK.

gocosmos 22 updated 1y ago

REST client and standard database/sql driver for Azure Cosmos DB.

godis 112 updated 5y ago

redis client implement by golang, inspired by jedis.

godscache 11 updated 7y ago

A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.

gomemcache 1.9k updated 11mo ago

memcache client library for the Go programming language.

gomemcached 22 updated 3mo ago

A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL.

gorethink 1.6k updated 5mo ago

Go language driver for RethinkDB.

goriak 30 updated 4y ago

Go language driver for Riak KV.

Kivik 340 updated 15d ago

Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases.

mgm 764 updated 25d ago

MongoDB model-based ODM for Go (based on official MongoDB driver).

mgo 2.0k updated 4y ago

(unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.

mongo-go-driver 8.5k updated 6d ago

Official MongoDB driver for the Go language.

neo4j 29 updated 11y ago

Neo4j Rest API Bindings for Golang.

neoism 387 updated 6y ago

Neo4j client for Golang.

qmgo 1.3k updated 8mo ago

The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo.

redeo 445 updated 3y ago

Redis-protocol compatible TCP servers/services.

redigo 9.9k updated 4mo ago

Redigo is a Go client for the Redis database.

redis 22.0k updated 2d ago

Redis client for Golang.

rueidis 2.9k updated 9d ago

Fast Redis RESP3 client with auto pipelining and server-assisted client side caching.

xredis 19 updated 6y ago

Typesafe, customizable, clean & easy to use Redis client.

Date and Time

approx 17 updated 4mo ago

A Duration extension supporting parsing/printing durations in days, weeks and years.

carbon 5.2k updated 28d ago

A simple, semantic and developer-friendly time package for golang.

carbon 783 updated 2y ago

Simple Time extension with a lot of util methods, ported from PHP Carbon library.

cronrange 17 updated 3y ago

Parses Cron-style time range expressions, checks if the given time is within any ranges.

date 142 updated 15d ago

Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.

dateparse 2.1k updated 2y ago

Parse date's without knowing format in advance.

durafmt 510 updated 4y ago

Time duration formatting library for Go.

feiertage 52 updated 5mo ago

Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...

go-anytime 35 updated 3y ago

Parse dates/times like "next dec 22nd at 3pm" and ranges like "from today until next thursday" without knowing the format in advance.

go-date-fns 3 updated 24d ago

A comprehensive date utility library for Go, inspired by date-fns, with 140+ pure and immutable functions.

go-datebin 4 updated 1y ago

A simple datetime parse pkg.

go-faketime 5 updated 1y ago

A simple time.Now() that honors the faketime(1) utility.

go-persian-calendar 237 updated 5mo ago

The implementation of the Persian (Solar Hijri) Calendar in Go (golang).

go-str2duration 117 updated 2y ago

Convert string to duration. Support time.Duration returned string and more.

go-sunrise 173 updated 1y ago

Calculate the sunrise and sunset times for a given location.

go-week 11 updated 4y ago

An efficient package to work with ISO8601 week dates.

gostradamus 208 updated 1y ago

A Go package for working with dates.

iso8601 158 updated 6mo ago

Efficiently parse ISO8601 date-times without regex.

kair 24 updated 5y ago

Date and Time - Golang Formatting Library.

now 4.7k updated 1mo ago

Now is a time toolkit for golang.

strftime 14 updated 8y ago

C99-compatible strftime formatter.

timespan 84 updated 7y ago

For interacting with intervals of time, defined as a start time and a duration.

timeutil 193 updated 7y ago

Useful extensions (Timedelta, Strftime, ...) to the golang's time package.

tuesday 12 updated 27d ago

Ruby-compatible Strftime function.

Distributed Systems

arpc 1.1k updated 5mo ago

More effective network communication, support two-way-calling, notify, broadcast.

bedrock 15 updated 5d ago

Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go.

capillaries 68 updated 3mo ago

distributed batch data processing framework.

celeriac 76 updated 1y ago

Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.

committer 41 updated 2mo ago

A distributed transactions management system (2PC/3PC implementation).

consistent 768 updated 2y ago

Consistent hashing with bounded loads.

consistenthash 32 updated 2y ago

Consistent hashing with configurable replicas.

dht 351 updated 18d ago

BitTorrent Kademlia DHT implementation.

digota 526 updated 5y ago

grpc ecommerce microservice.

dot

distributed sync using operational transformation/OT.

doublejump 110 updated 3y ago

A revamped Google's jump consistent hash.

dragonboat 5.3k updated 8mo ago

A feature complete and high performance multi-group Raft library in Go.

Dragonfly 3.1k updated yesterday

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures.

drmaa 51 updated 7mo ago

Job submission library for cluster schedulers based on the DRMAA standard.

dynamolock

DynamoDB-backed distributed locking implementation.

dynatomic 17 updated 5y ago

A library for using DynamoDB as an atomic counter.

emitter-io 4.0k updated 1y ago

High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.

evans 4.5k updated 2y ago

Evans: more expressive universal gRPC client.

failured 15 updated 4y ago

adaptive accrual failure detector for distributed systems.

flowgraph 65 updated 3mo ago

flow-based programming package.

gleam 3.6k updated 6d ago

Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.

glow 3.2k updated 7y ago

Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.

gmsec 25 updated 25d ago

A Go distributed systems development framework.

go-doudou

A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity.

go-eagle 2.4k updated 6d ago

A Go framework for the API or Microservice with handy scaffolding tools.

go-jump 388 updated 4y ago

Port of Google's "Jump" Consistent Hash function.

go-kit 27.6k updated 1y ago

Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.

go-micro 22.7k updated 9d ago

A distributed systems development framework.

go-mysql-lock 66 updated 1y ago

MySQL based distributed lock.

go-pdu 49 updated 1y ago

A decentralized identity-based social network.

go-sundheit 560 updated 1y ago

A library built to provide support for defining async service health checks for golang services.

go-zero 32.8k updated 2d ago

A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

gorpc

Simple, fast and scalable RPC library for high load.

grpc-go 22.8k updated 6d ago

The Go language implementation of gRPC. HTTP/2 based RPC.

hprose 1.3k updated 2y ago

Very newbility RPC Library, support 25+ languages now.

jsonrpc

The jsonrpc package helps implement of JSON-RPC 2.0.

jsonrpc 370 updated 5mo ago

JSON-RPC 2.0 HTTP client implementation.

K8gb

A cloud native Kubernetes Global Balancer.

Kitex 7.9k updated 5d ago

A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If the performance and extensibility are the main concerns when you develop microservices, Kitex can be a good choice.

Kratos 25.6k updated 2d ago

A modular-designed and easy-to-use microservices framework in Go.

liftbridge 2.8k updated 6d ago

Lightweight, fault-tolerant message streams for NATS.

lura 6.7k updated 9d ago

Ultra performant API Gateway framework with middlewares.

micro

A distributed systems runtime for the cloud and beyond.

mochi mqtt 1.8k updated 11mo ago

Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub.

NATS 19.4k updated 2d ago

NATS is a simple, secure, and performant communications system for digital systems, services, and devices.

opentelemetry-go-auto-instrumentation

OpenTelemetry Compile-Time Instrumentation for Golang.

oras 2.2k updated 2d ago

CLI and library for OCI Artifacts in container registries.

outbox 121 updated 22d ago

Lightweight library for the transactional outbox pattern in Go, not tied to any specific relational database or broker.

outboxer 166 updated 2d ago

Outboxer is a go library that implements the outbox pattern.

pglock

PostgreSQL-backed distributed locking implementation.

raft 9.0k updated 2d ago

Golang implementation of the Raft consensus protocol, by HashiCorp.

raft

Go implementation of the Raft consensus protocol, by CoreOS.

rain

BitTorrent client and library.

redis-lock 1.7k updated 9mo ago

Simplified distributed locking implementation using Redis.

rpcplatform 1 updated 9d ago

Framework for microservices with service discovery, load balancing, and related features.

rpcx 8.3k updated 3mo ago

Distributed pluggable RPC service framework like alibaba Dubbo.

Semaphore 95 updated 3y ago

A straightforward (micro) service orchestrator.

sleuth 387 updated 2y ago

Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).

sponge 2.8k updated 3mo ago

A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks.

Tarmac 343 updated 6d ago

Framework for writing functions, microservices, or monoliths with WebAssembly

Temporal 850 updated 2d ago

Durable execution system for making code fault-tolerant and simple.

torrent 6.0k updated 7d ago

BitTorrent client package.

trpc-go 1.1k updated 6mo ago

The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework.

Email

douceur 258 updated 3y ago

CSS inliner for your HTML emails.

email

A robust and flexible email library for Go.

email-verifier 1.5k updated 27d ago

A Go library for email verification without sending any emails.

go-dkim 99 updated 1y ago

DKIM library, to sign & verify email.

go-email-normalizer 78 updated 1y ago

Golang library for providing a canonical representation of email address.

go-imap 98 updated 2d ago

Batteries-included IMAP client with auto-reconnect, OAuth2, IDLE support, and built-in MIME parsing.

go-imap 2.3k updated 21d ago

IMAP library for clients and servers.

go-mail 1.3k updated 14d ago

A simple Go library for sending mails in Go.

go-message 442 updated 1y ago

Streaming library for the Internet Message Format and mail messages.

go-premailer

Inline styling for HTML mail in Go.

go-simple-mail 693 updated 1y ago

Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.

Hectane 225 updated 5y ago

Lightweight SMTP client providing an HTTP API.

hermes 3.0k updated 11mo ago

Golang package that generates clean, responsive HTML e-mails.

Maddy 5.9k updated 8d ago

All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server

mailchain

Send encrypted emails to blockchain addresses written in Go.

mailgun-go 745 updated 3d ago

Go library for sending mail with the Mailgun API.

MailHog

Email and SMTP testing with web and API interface.

Mailpit

Email and SMTP testing tool for developers.

mailx 21 updated 8d ago

Mailx is a library that makes it easier to send email via SMTP. It is an enhancement of the golang standard library net/smtp.

mox

Modern full-featured secure mail server for low-maintenance, self-hosted email.

SendGrid 1.1k updated 7mo ago

SendGrid's Go library for sending email.

smtp 76 updated 4y ago

SMTP server protocol state machine.

smtpmock 162 updated 8d ago

Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment.

truemail-go 130 updated 1y ago

Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more.

Embeddable Scripting Languages

anko

Scriptable interpreter written in Go.

binder 79 updated 3y ago

Go to Lua binding library, based on gopher-lua.

cel-go 2.9k updated 6d ago

Fast, portable, non-Turing complete expression evaluation with gradual typing.

ecal

A simple embeddable scripting language which supports concurrent event processing.

expr 7.7k updated 12d ago

Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.

FrankenPHP 10.9k updated 2d ago

PHP embedded in Go, with a net/http handler.

gentee

Embeddable scripting programming language.

gisp 527 updated 8y ago

Simple LISP in Go.

go-lua 3.4k updated 8mo ago

Port of the Lua 5.2 VM to pure Go.

go-php 939 updated 1y ago

PHP bindings for Go.

goal 4 (archived)

An embeddable scripting array language.

goja 6.8k updated 14d ago

ECMAScript 5.1(+) implementation in Go.

golua 691 updated 1y ago

Go bindings for Lua C API.

gopher-lua 6.9k updated 1y ago

Lua 5.1 VM and compiler written in Go.

gval 811 updated 7mo ago

A highly customizable expression language written in Go.

metacall 1.8k updated 2d ago

Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more.

ngaro

Embeddable Ngaro VM implementation enabling scripting in Retro.

prolog 715 updated 1mo ago

Embeddable Prolog.

purl 41 updated 11y ago

Perl 5.18.2 embedded in Go.

starlark-go 2.7k updated 1mo ago

Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution.

starlet 41 updated 11mo ago

Go wrapper for starlark-go that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.

tengo 3.8k updated 1mo ago

Bytecode compiled script language for Go.

Wa/凹语言 1.8k updated 4d ago

The Wa Programming Language embedded in Go.

Error Handling

emperror 367 updated 5y ago

Error handling tools and best practices for Go libraries and applications.

eris 1.8k updated 11mo ago

A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.

errlog 460 updated 2y ago

Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.

errors 204 updated 3y ago

Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.

errors

Simple golang error handling with classification primitives.

errors 7 updated 4y ago

The most simple error wrapper with awesome performance and minimal memory overhead.

errors 74 updated 6mo ago

Drop-in replacement for builtin Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions.

errors

Go error library with error portability over the network.

errorx 1.3k updated 1y ago

A feature rich error package with stack traces, composition of errors and more.

exception 38 updated 3y ago

A simple utility package for exception handling with try-catch in Golang.

Falcon 11 updated 6y ago

A Simple Yet Highly Powerful Package For Error Handling.

Fault 308 updated 9mo ago

An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values.

go-multierror 2.6k updated 12d ago

Go (golang) package for representing a list of errors as a single error.

metaerr

A library to create your custom error builders producing structured errors with metadata from different sources and optional stacktraces.

multierr

Package for representing a list of errors as a single error.

oops 889 updated 2d ago

Error handling with context, stack trace and source fragments.

tracerr 1.1k updated 1y ago

Golang errors with stack trace and source fragments.

File Handling

afero 6.6k updated 13d ago

FileSystem Abstraction System for Go.

afs 381 updated 3mo ago

Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.

baraka 64 updated 3y ago

A library to process http file uploads easily.

checksum 115 updated 2y ago

Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files.

copy

Copy directory recursively.

fastwalk

Fast parallel directory traversal library (used by fzf).

flop 35 updated 4y ago

File operations library which aims to mirror feature parity with GNU cp.

gdu 5.5k updated 4d ago

Disk usage analyzer with console interface.

go-csv-tag 130 updated 9mo ago

Load csv file using tag.

go-decent-copy 22 updated 6y ago

Copy files for humans.

go-exiftool 294 updated 7mo ago

Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).

go-gtfs 48 updated 2y ago

Load gtfs files in go.

go-wkhtmltopdf

A package to convert an HTML template to a PDF file.

gofs 526 updated 6d ago

A cross-platform real-time file synchronization tool out of the box.

gulter 70 updated 1y ago

A simple HTTP middleware to automatically handle all your file upload needs

gut/yos 27 updated 5y ago

Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.

higgs 24 updated 4y ago

A tiny cross-platform Go library to hide/unhide files and directories.

iso9660 281 updated 2y ago

A package for reading and creating ISO9660 disk images

notify 929 updated 2y ago

File system event notification library with simple API, similar to os/signal.

opc 80 updated 2y ago

Load Open Packaging Conventions (OPC) files for Go.

parquet 127 updated 11mo ago

Read and write parquet files.

pathtype 13 updated 4y ago

Treat paths as their own type instead of using strings.

pdfcpu 8.5k updated 9d ago

PDF processor.

skywalker 103 updated 4y ago

Package to allow one to concurrently go through a filesystem with ease.

todotxt

Go library for Gina Trapani's todo.txt files, supports parsing and manipulating of task lists in the todo.txt format.

vfs 358 updated 18d ago

A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.

Financial

accounting

money and currency formatting for golang.

ach 535 updated 2d ago

A reader, writer, and validator for Automated Clearing House (ACH) files.

bbgo

A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies.

currency 628 updated 1mo ago

Handles currency amounts, provides currency information and formatting.

currency 61 updated 6mo ago

High performant & accurate currency computation package.

dec128 42 updated 15d ago

High performance 128-bit fixed-point decimal numbers.

decimal 7.3k updated 10d ago

Arbitrary-precision fixed-point decimal numbers.

decimal 230 updated 1y ago

Immutable decimal numbers with panic-free arithmetic.

fpdecimal 34 updated 1y ago

Fast and precise serialization and arithmetic for small fixed-point decimals

fpmoney 35 updated 8mo ago

Fast and simple ISO4217 fixed-point decimal money.

go-finance

Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.

go-finance 31 updated 6mo ago

Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.

go-money 1.9k updated 10mo ago

Implementation of Fowler's Money pattern.

go-nowpayments 5 updated 3y ago

Library for the crypto NOWPayments API.

gobl 267 updated 2d ago

Invoice and billing document framework. JSON Schema based. Automates tax calculations and validation, with tooling to convert into global formats.

ledger

A programmable financial ledger that provides a foundation for money-moving applications.

money 50 updated 1y ago

Immutable monetary amounts and exchange rates with panic-free arithmetic.

ofxgo 147 updated 1mo ago

Query OFX servers and/or parse the responses (with example command-line client).

orderbook 541 updated 11mo ago

Matching Engine for Limit Order Book in Golang.

payme 91 updated 2mo ago

QR code generator (ASCII & PNG) for SEPA payments.

techan 892 updated 2y ago

Technical analysis library with advanced market analysis and trading strategies.

ticker 6.0k updated 2mo ago

Terminal stock watcher and stock position tracker.

transaction 139 updated 11mo ago

Embedded transactional database of accounts, running in multithreaded mode.

udecimal 177 updated 28d ago

High performance, high precision, zero allocation fixed-point decimal library for financial applications.

vat 119 updated 2y ago

VAT number validation & EU VAT rates.

Game Development

Ark

Archetype-based Entity Component System (ECS) for Go.

Ebitengine

dead simple 2D game engine in Go.

ecs 171 updated 4mo ago

Build your own Game-Engine based on the Entity Component System concept in Golang.

engo 1.8k updated 6mo ago

Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.

fantasyname 41 updated 5mo ago

Fantasy names generator.

g3n 3.1k updated 2mo ago

Go 3D Game Engine.

go-astar 631 updated 4y ago

Go implementation of the A path finding algorithm.

go-sdl2 2.3k updated 1y ago

Go bindings for the Simple DirectMedia Layer.

go3d 338 updated 5mo ago

Performance oriented 2D/3D math package for Go.

gogpu 184 updated 4d ago

GPU application framework with windowing, input, and rendering built on WebGPU  reduces 480+ lines of GPU code to ~20, zero CGO (GoGPU ecosystem: gg, ui, wgpu, naga).

gonet 1.3k (archived)

Game server skeleton implemented with golang.

goworld 2.7k updated 4mo ago

Scalable game server engine, featuring space-entity framework and hot-swapping.

grid 25 updated 3mo ago

Generic 2D grid with ray-casting, shadow-casting and path finding.

Leaf

Lightweight game server framework.

nano 3.2k updated 27d ago

Lightweight, facility, high performance golang based game server framework.

Oak 1.7k updated 1y ago

Pure Go game engine.

Pi 61 updated 1mo ago

Game engine for creating retro games for modern computers. Inspired by Pico-8 and powered by Ebitengine.

Pitaya 2.8k updated 6d ago

Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.

Pixel 386 updated 1y ago

Hand-crafted 2D game library in Go.

prototype 107 updated 7mo ago

Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.

raylib-go

Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.

termloop 1.5k updated 1y ago

Terminal-based game engine for Go, built on top of Termbox.

tile 213 updated 7mo ago

Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.

Geographic

borders updated 7mo ago

Detects image borders and converts to GeoJSON for GIS operations.

geoos 532 updated 1y ago

A library provides spatial data and geometric algorithms.

geoserver 91 updated 3y ago

geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.

gismanager

Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.

godal 174 updated 2mo ago

Go wrapper for GDAL.

H3 414 updated 1mo ago

Go bindings for H3, a hierarchical hexagonal geospatial indexing system.

H3 GeoJSON 6 updated 3y ago

Conversion utilities between H3 indexes and GeoJSON.

H3GeoDist 2 updated 3y ago

Distribution of Uber H3geo cells by virtual nodes.

mbtileserver 777 updated 10mo ago

A simple Go-based server for map tiles stored in mbtiles format.

osm 448 updated 5mo ago

Library for reading, writing and working with OpenStreetMap data and APIs.

pbf 54 updated 21d ago

OpenStreetMap PBF golang encoder/decoder.

S2 geojson 37 updated 1y ago

Convert geojson to s2 cells & demonstrating some S2 geometry features on map.

S2 geometry 1.8k updated 23d ago

S2 geometry library in Go.

simplefeatures 171 updated 1mo ago

simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them.

Tile38 9.6k updated 6d ago

Geolocation DB with spatial index and realtime geofencing.

Web-Mercator-Projection 9 updated 4y ago

A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection.

WGS84 141 updated 1y ago

Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).

Goroutines

anchor 2 updated 10d ago

Library to manage component lifecycle in microservice architectures.

ants 14.4k updated 5d ago

A high-performance and low-cost goroutine pool in Go.

artifex 214 updated 1y ago

Simple in-memory job queue for Golang using worker-based dispatching.

async 15 updated 1y ago

An asynchronous task package with async/await style for Go.

async 301 updated 2mo ago

An alternative sync library for Go (Future, Promise, Locks).

async 139 updated 5y ago

A safe way to execute functions asynchronously, recovering them in case of panic.

async-job

AsyncJob is an asynchronous queue job manager with light code, clear and speed.

breaker 20 updated 4y ago

Flexible mechanism to make execution flow interruptible.

channelify

Transform your function to return channels for easy and powerful parallel processing.

conc 10.3k updated 1y ago

conc is your toolbelt for structured concurrency in go, making common tasks easier and safer.

concurrency-limiter

Concurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines.

conexec 17 updated 5y ago

A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.

cyclicbarrier

CyclicBarrier for golang.

execpool

A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command.

flowmatic 398 updated 6mo ago

Structured concurrency made easy.

go-accumulator

Solution for accumulation of events and their subsequent processing.

go-actor

A tiny library for writing concurrent programs using actor model.

go-floc 269 updated 4y ago

Orchestrate goroutines with ease.

go-flow 222 updated 6y ago

Control goroutines execution order.

go-tools/multithreading 16 updated 7y ago

Manage a pool of goroutines using this lightweight library with a simple API.

go-trylock 36 updated 4y ago

TryLock support on read-write lock for Golang.

go-waitgroup 49 updated 6mo ago

Like sync.WaitGroup with error handling and concurrency control.

go-workerpool 12 updated 3y ago

Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines.

goccm 73 updated 3y ago

Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.

gohive 53 updated 2y ago

A highly performant and easy to use Goroutine pool for Go.

gollback 123 updated 3y ago

asynchronous simple function utilities, for managing execution of closures and callbacks.

gowl 71 updated 2y ago

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

goworker 2.9k updated 11mo ago

goworker is a Go-based background worker.

gowp 520 updated 1y ago

gowp is concurrency limiting goroutine pool.

gpool 91 (archived)

manages a resizeable pool of context-aware goroutines to bound concurrency.

grpool

Lightweight Goroutine pool.

hands 10 updated 7mo ago

A process controller used to control the execution and return strategies of multiple goroutines.

Hunch

Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.

kyoo

Provides an unlimited job queue and concurrent worker pools.

neilotoole/errgroup 163 updated 3y ago

Drop-in alternative to sync/errgroup, limited to a pool of N worker goroutines.

nursery

Structured concurrency in Go.

oversight

Oversight is a complete implementation of the Erlang supervision trees.

parallel-fn 37 updated 8y ago

Run functions in parallel.

pond 2.1k updated 19d ago

Minimalistic and High-performance goroutine worker pool written in Go.

pool

Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.

rill 1.8k updated 2d ago

Go toolkit for clean, composable, channel-based concurrency.

routine 287 updated 4mo ago

routine is a ThreadLocal for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance goroutine context access interfaces, which can help you access coroutine context information more gracefully.

routine 62 updated 2y ago

go routine control with context, support: Main, Go, Pool and some useful Executors.

semaphore 103 updated 6y ago

Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.

semaphore 178 updated 5y ago

Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).

stl 31 updated 5y ago

Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.

threadpool 103 updated 6y ago

Golang threadpool implementation.

tunny

Goroutine pool for golang.

worker-pool 92 updated 5y ago

goworker is a Go simple async worker pool.

workerpool 1.4k updated 1mo ago

Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.

GUI

app 8.9k updated 1mo ago

Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.

cimgui-go 506 updated 6d ago

Auto generated Go wrapper for Dear ImGui via cimgui.

Cogent Core 2.3k updated 14d ago

A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web.

DarwinKit 5.4k updated 1y ago

Build native macOS applications using Go.

energy 579 updated 2d ago

Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)

fyne 28.0k updated 2d ago

Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.

go-sciter 2.6k updated 2y ago

Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.

gogpu/ui

GPU-accelerated GUI toolkit with 22 widgets, 3 design systems (Material, Fluent, Cupertino), reactive signals, and zero CGO (part of GoGPU ecosystem).

goradd/html5tag 13 updated 2y ago

Library for outputting HTML5 tags.

gotk3 2.2k updated 4mo ago

Go bindings for GTK3.

gowd

Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.

qt 10.8k updated 2y ago

Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).

Spot 1.3k updated 1y ago

Reactive, cross-platform desktop GUI toolkit.

ui 8.4k updated 3y ago

Platform-native GUI library for Go. Cross platform.

unison 320 updated 2d ago

A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported.

webview

Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).

AppIndicator Go 5 updated 1y ago

Go bindings for libappindicator3 C library.

gosx-notifier 590 updated 6y ago

OSX Desktop Notifications library for Go.

mac-activity-tracker 31 updated 2y ago

OSX library to notify about any (pluggable) activity on your machine.

mac-sleep-notifier 39 updated 6y ago

OSX Sleep/Wake notifications in golang.

robotgo 10.7k updated 23d ago

Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.

systray 3.7k updated 1y ago

Cross platform Go library to place an icon and menu in the notification area.

trayhost 258 updated 2y ago

Cross-platform Go library to place an icon in the host operating system's taskbar.

zenity 897 updated 13d ago

Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user.

Images

bild 4.2k updated 22d ago

Collection of image processing algorithms in pure Go.

bimg 3.0k updated 1y ago

Small package for fast and efficient image processing using libvips.

cameron 131 updated 1mo ago

An avatar generator for Go.

canvas 1.8k updated 5d ago

Vector graphics to PDF, SVG or rasterized image.

color-extractor 131 updated 2y ago

Dominant color extractor with no external dependencies.

darkroom 236 updated 9mo ago

An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.

geopattern 1.3k updated 7y ago

Create beautiful generative image patterns from a string.

gg 4.8k updated 2y ago

2D rendering in pure Go.

gift 1.8k updated 2y ago

Package of image processing filters.

gltf 277 updated 1y ago

Efficient and robust glTF 2.0 reader, writer and validator.

go-cairo

Go binding for the cairo graphics library.

go-gd 60 updated 7y ago

Go binding for GD library.

go-nude

Nudity detection with Go.

go-qrcode

Generate QR codes with personalized styles, allowing adjustments to color, block size, shape, and icons.

go-webcolors 29 updated 10y ago

Port of webcolors library from Python to Go.

go-webp

Library for encode and decode webp pictures, using libwebp.

gocv

Go package for computer vision using OpenCV 3.3+.

gogpu/gg 80 updated 3d ago

GPU-accelerated 2D rendering with Canvas-like API, zero CGO (part of GoGPU pure Go graphics ecosystem).

goimagehash

Go Perceptual image hashing package.

goimghdr 40 updated 6y ago

The imghdr module determines the type of image contained in a file for Go.

govatar 607 updated 3y ago

Library and CMD tool for generating funny avatars.

govips 1.5k updated 6d ago

A lightning fast image processing and resizing library for Go.

gowitness 4.2k updated 2mo ago

Screenshoting webpages using go and headless chrome on command line.

gridder 81 updated 4y ago

A Grid based 2D Graphics library.

image2ascii 967 updated 3y ago

Convert image to ASCII.

imagick 1.9k updated 25d ago

Go binding to ImageMagick's MagickWand C API.

imaginary 6.0k updated 4mo ago

Fast and simple HTTP microservice for image resizing.

imaging 5.7k updated 2y ago

Simple Go image processing package.

imagor 3.9k updated 2d ago

Fast, secure image processing server and Go library, using libvips.

img

Selection of image manipulation tools.

ln 3.4k updated 6y ago

3D line art rendering in Go.

mergi 243 updated 1y ago

Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).

mort 520 updated 3mo ago

Storage and image processing server written in Go.

mpo 24 updated 5d ago

Decoder and conversion tool for MPO 3D Photos.

nativewebp 403 updated 4mo ago

Go native WebP encoder with zero external dependencies.

picfit 2.3k updated 2d ago

An image resizing server written in Go.

pt 2.1k updated 7y ago

Path tracing engine written in Go.

scout 26 updated 4d ago

Scout is a standalone open source software solution for DIY video security.

smartcrop 1.9k updated 2y ago

Finds good crops for arbitrary images and crop sizes.

steganography

Pure Go Library for LSB steganography.

stegify 1.3k updated 2y ago

Go tool for LSB steganography, capable of hiding any file within an image.

svgo 2.2k updated 3y ago

Go Language Library for SVG generation.

transformimgs 289 updated 3mo ago

Transformimgs resizes and optimises images for Web using next-generation formats.

webp-server 81 updated 5y ago

Simple and minimal image server capable of storing, resizing, converting and caching images.

Job Scheduler

cdule

Job scheduler library with database support

cheek 195 updated 13d ago

A simple crontab like scheduler that aims to offer a KISS approach to job scheduling.

clockwerk 182 updated 1y ago

Go package to schedule periodic jobs using a simple, fluent syntax.

cronticker 19 updated 5y ago

A ticker implementation to support cron schedules.

go-cron 238 updated 6y ago

Simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

go-job

A flexible and extensible job scheduling and execution library for Go.

go-quartz 2.0k updated 2mo ago

Simple, zero-dependency scheduling library for Go.

go-scheduler 32 updated 1mo ago

Job scheduler supporting standard cron expressions, custom descriptors, intervals, and task dependencies.

gocron

Easy and fluent Go job scheduling. This is an actively maintained fork of jasonlvhit/gocron.

goflow 475 updated 1y ago

A simple but powerful DAG scheduler and dashboard.

gron 1.0k updated 2y ago

Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.

gronx 500 updated 10mo ago

Cron expression parser, task runner and daemon consuming crontab like task list.

JobRunner 1.1k updated 5y ago

Smart and featureful cron job scheduler with job queuing and live monitoring built in.

leprechaun 106 updated 3y ago

Job scheduler that supports webhooks, crons and classic scheduling.

pending 6 updated 18d ago

ID-based debounced task scheduler for deferred tasks with cancellation, graceful shutdown, and optional concurrency limits.

sched 30 updated 1y ago

A job scheduler with the ability to fast-forward time.

scheduler 469 updated 3y ago

Cronjobs scheduling made easy.

tasks

An easy to use in-process scheduler for recurring tasks in Go.

JSON

ajson 291 updated 1y ago

Abstract JSON for golang with JSONPath support.

ask 56 updated 2y ago

Easy access to nested values in maps and slices. Works in combination with encoding/json and other packages that "Unmarshal" arbitrary data into Go data-types.

dynjson 16 updated 2y ago

Client-customizable JSON formats for dynamic APIs.

ej 10 updated 6y ago

Write and read JSON from different sources succinctly.

epoch 17 updated 2y ago

Contains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON.

fastjson 2.4k updated 1mo ago

Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection.

gabs 3.5k updated 1y ago

For parsing, creating and editing unknown or dynamic JSON in Go.

gjo 132 updated 5y ago

Small utility to create JSON objects.

GJSON

Get a JSON value with one line of code.

go-jsonerror 16 updated 6y ago

Go-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec.

go-respond

Go package for handling common HTTP JSON responses.

gojmapr 22 updated 2y ago

Get simple struct from complex json by json path.

gojq 190 updated 2y ago

JSON query in Golang.

gojson 2.7k updated 4y ago

Automatically generate Go (golang) struct definitions from example JSON.

htmljson 9 updated 1y ago

Rich rendering of JSON as HTML in Go.

JayDiff 110 updated 2y ago

JSON diff utility written in Go.

jettison 180 updated 2y ago

Fast and flexible JSON encoder for Go.

jscan 100 updated 2y ago

High performance zero-allocation JSON iterator.

json2go 141 updated 24d ago

Advanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all.

jsonapi-errors

Go bindings based on the JSON API errors reference.

jsoncolor 51 updated 1mo ago

Drop-in replacement for encoding/json that outputs colorized JSON.

jsondiff 625 updated 29d ago

JSON diff library for Go based on RFC6902 (JSON Patch).

jsonf 64 updated 5y ago

Console tool for highlighted formatting and struct query fetching JSON.

jsongo 108 updated 4y ago

Fluent API to make it easier to create Json objects.

jsonhal

Simple Go package to make custom structs marshal into HAL compatible JSON responses.

jsonhandlers 2 updated 3y ago

JSON library to expose simple handlers that lets you easily read and write json from various sources.

jsonic

Utilities to handle and query JSON without defining structs in a type safe manner.

jsonvalue 202 updated 20d ago

A fast and convenient library for unstructured JSON data, replacing encoding/json.

jzon 11 updated 1y ago

JSON library with standard compatible API/behavior.

kazaam 293 updated 3y ago

API for arbitrary transformation of JSON documents.

mapslice-json 20 updated 2y ago

Go MapSlice for ordered marshal/ unmarshal of maps in JSON.

marshmallow

Performant JSON unmarshalling for flexible use cases.