awesome-go-plus
A curated list of awesome Go frameworks, libraries and software
https://github.com/jayecc/awesome-go-plus
Last synced: 8 days ago
JSON representation
-
Utilities
-
Utility/Miscellaneous
- mssqlx - Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind. 
- multitick - Multiplexor for aligned tickers. 
- netbug - Easy remote profiling of your services. 
- nfdump - Read nfdump netflow files. 
- nostromo - CLI for building powerful aliases. 
- okrun - go run error steamroller. 
- olaf - Twitter Snowflake implemented in Go. 
- onecache - Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc). 
- panicparse - Groups similar goroutines and colorizes stack dump. 
- pattern-match - Pattern matching library. 
- peco - Simplistic interactive filtering tool. 
- pgo - Convenient functions for PHP community. 
- pm - Process (i.e. goroutine) manager with an HTTP API. 
- pointer - Package pointer contains helper routines for simplifying the creation of optional fields of basic type. 
- ptr - Package that provide functions for simplified creation of pointers from constants of basic types. 
- rclient - Readable, flexible, simple-to-use client for REST APIs. 
- remote-touchpad - Control mouse and keyboard from a smartphone. 
- repeat - Go implementation of different backoff strategies useful for retrying operations and heartbeating. 
- request - Go HTTP Requests for Humans™. 
- rerun - Recompiling and rerunning go apps when source changes. 
- rest-go - A package that provide many helpful methods for working with rest api. 
- retry - The most advanced functional mechanism to perform actions repetitively until successful. 
- retry - A simple but highly configurable retry package for Go. 
- retry - Simple and easy retry mechanism package for Go. 
- retry - A pretty simple library to ensure your work to be done. 
- retry-go - Simple library for retry mechanism. 
- retry-go - Retrying made simple and easy for golang. 
- robustly - Runs functions resiliently, catching and restarting panics. 
- rospo - Simple and reliable ssh tunnels with embedded ssh server in Golang. 
- scan - Scan golang `sql.Rows` directly to structs, slices, or primitive types. 
- scan - Scan sql rows into any type powered by generics. 
- scany - Library for scanning data from a database into Go structs and more. 
- serve - A static http server anywhere you need. 
- sesh - Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide. 
- set - Performant and flexible struct mapping and loose type conversion. 
- shutdown - App shutdown hooks for `os.Signal` handling. 
- silk - Read silk netflow files. 
- slice - Type-safe functions for common Go slice operations. 
- sliceconv - Slice conversion between primitive types. 
- slicer - Makes working with slices easier. 
- sorty - Fast Concurrent / Parallel Sorting. 
- sqlx - provides a set of extensions on top of the excellent built-in database/sql package. 
- sshman - SSH Manager for authorized_keys files on multiple remote servers. 
- statiks - Fast, zero-configuration, static HTTP filer server. 
- Storm - Simple and powerful toolkit for BoltDB. 
- structs - Implement simple functions to manipulate structs. 
- throttle - Throttle is an object that will perform exactly one action per duration. 
- tik - Simple and easy timing wheel package for Go. 
- tome - Tome was designed to paginate simple RESTful APIs. 
- toolbox - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. 
- UNIS - Common Architecture™ for String Utilities in Go. 
- upterm - A tool for developers to share terminal/tmux sessions securely over the web. It’s perfect for remote pair programming, accessing computers behind NATs/firewalls, remote debugging, and more. 
- usql - usql is a universal command-line interface for SQL databases. 
- util - Collection of useful utility functions. (strings, concurrency, manipulations, ...). 
- watchhttp - Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint. 
- wifiqr - Wi-Fi QR Code Generator. 
- wuzz - Interactive cli tool for HTTP inspection. 
- xferspdy - Xferspdy provides binary diff and patch library in golang. 
- xpool - Yet another golang type safe object pool using generics. 
- yogo - Check yopmail mails from command line. 
- hub - wrap git commands with additional functionality to interact with github from the terminal. 
- mergo - Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. 
- cmd - Library for executing shell commands on osx, windows and linux. 
- lets-go - Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities. 
- gitcs - Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine. 
-
-
UUID
-
Utility/Miscellaneous
- fastuuid - Fast generate UUIDv4 as string or bytes.
- gouid - Generate cryptographically secure random string IDs with just one allocation. 
- nanoid - A tiny and efficient Go unique string ID generator. 
- sno - Compact, sortable and fast unique IDs with embedded metadata. 
- ulid - Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier). 
- uuid - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. 
- uuid - Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid. 
- uuid - Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. 
- uuidcheck - A tiny, dependency-free Go library that validates UUIDs against standard RFC 4122 formatting, converts UUIDv7() into UTC timestamps. 
- wuid - An extremely fast globally unique number generator. 
- xid - Xid is a globally unique id generator library, ready to be safely used directly in your server code. 
- goid - Generate and Parse RFC4122 compliant V4 UUIDs. 
-
-
Validation
-
Utility/Miscellaneous
- checkdigit - Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.). 
- go-validator - Validation library using Generics. 
- gody - :balloon: A lightweight struct validator for Go. 
- govalid - Fast, tag-based validation for structs. 
- govalidator - Validators and sanitizers for strings, numerics, slices and structs. 
- govalidator - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. 
- hvalid - 11-blue)
- jio - jio is a json schema validator similar to [joi](https://github.com/hapijs/joi). 
- ozzo-validation - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. 
- validate - Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features. 
- validate - This package provides a framework for writing validations for Go applications. 
- validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. 
- Validator - A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex. 
- valix - 29-blue)
- Zog - A [Zod](https://github.com/colinhacks/zod) inspired schema builder for runtime value parsing and validation. 
-
-
Version Control
-
Utility/Miscellaneous
- cli - An open-source GitLab command line tool bringing GitLab's cool features to your command line.
- froggit-go - Froggit-Go is a Go library, allowing to perform actions on VCS providers. 
- git2go - Go bindings for libgit2. 
- githooks - Per-repo and shared Git hooks with version control and auto update. 
- go-git - highly extensible Git implementation in pure Go. 
- go-vcs - manipulate and inspect VCS repositories in Go. 
- hercules - gaining advanced insights from Git repository history. 
- hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. 
-
-
Video
-
Utility/Miscellaneous
- gmf - Go bindings for FFmpeg av\* libraries. 
- go-astiav - Better C bindings for ffmpeg in GO. 
- go-astisub - Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.). 
- go-astits - Parse and demux MPEG Transport Streams (.ts) natively in GO. 
- go-m3u8 - Parser and generator library for Apple m3u8 playlists. Actively maintained version of quangngotan95/go-m3u8 with improvements and latest HLS playlist parsing compatibility. 
- go-mpd - Parser and generator library for MPEG-DASH manifest files. 
- goav - Comprehensive Go bindings for FFmpeg. 
- gortsplib - Pure Go RTSP server and client library. 
- libvlc-go - Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player). 
- m3u8 - Parser and generator library of M3U8 playlists for Apple HLS. 
- mp4ff - Library and tools for working with MP4 files containing video, audio, subtitles, or metadata. 
- v4l - Video capture library for Linux, written in Go. 
-
-
WebAssembly
-
Routers
- dom - DOM library. 
- Extism Go SDK - Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps. 
- go-canvas - Library to use HTML5 Canvas, with all drawing within go code. 
- tinygo - Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. 
- vert - Interop between Go and JS values. 
- wasmbrowsertest - Run Go WASM tests in your browser. 
- webapi - Bindings for DOM and HTML generated from WebIDL. 
-
-
Web Frameworks
-
Middlewares
- client-timing - An HTTP client for Server-Timing header. 
- CORS - Easily add CORS capabilities to your API. 
- echo-middleware - Middleware for Echo framework with logging and metrics. 
- formjson - Transparently handle JSON input as a standard form POST. 
- go-fault - Fault injection middleware for Go. 
- go-server-timing - Add/parse Server-Timing header. 
- Limiter - Dead simple rate limit middleware for Go. 
- ln-paywall - Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin). 
- mid - Miscellaneous HTTP middleware features: idiomatic error return from handlers; receive/respond with JSON data; request tracing; and more. 
- rk-gin - Middleware for Gin framework with logging, metrics, auth, tracing etc. 
- rk-grpc - Middleware for gRPC with logging, metrics, auth, tracing etc. 
- Tollbooth - Rate limit HTTP request handler. 
- XFF - Handle `X-Forwarded-For` header and friends. 
- alice - Painless middleware chaining for Go. 
- catena - http.Handler wrapper catenation (same API as "chain"). 
- chain - Handler wrapper chaining with scoped data (net/context-based "middleware"). 
- gores - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. 
- interpose - Minimalist net/http middleware for golang. 
- mediary - add interceptors to `http.Client` to allow dumping/shaping/tracing/... of requests/responses. 
- muxchain - Lightweight middleware for net/http. 
- negroni - Idiomatic HTTP middleware for Golang. 
- render - Go package for easily rendering JSON, XML, and HTML template responses. 
- renderer - Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go. 
- rye - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context. 
- stats - Go middleware that stores various information about your web application. 
-
Routers
- alien - Lightweight and fast http router from outer space. 
- bellt - A simple Go HTTP router. 
- Bone - Lightning Fast HTTP Multiplexer. 
- Bxog - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. 
- chi - Small, fast and expressive HTTP router built on net/context. 
- fasthttprouter - High performance router forked from `httprouter`. The first router fit for `fasthttp`. 
- FastRouter - a fast, flexible HTTP router written in Go. 
- goblin - A golang http router based on trie tree. 
- gocraft/web - Mux and middleware package in Go. 
- Goji - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. 
- GoLobby/Router - GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language. 
- goroute - Simple yet powerful HTTP request multiplexer. 
- GoRouter - GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting `net/context`. 
- gowww/router - Lightning fast HTTP router fully compatible with the net/http.Handler interface. 
- httprouter - High performance router. Use this and the standard http handlers to form a very high performance web framework. 
- httptreemux - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. 
- lars - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. 
- mux - Powerful URL router and dispatcher for golang. 
- nchi - chi-like router built on httprouter with dependency injection based middleware wrappers 
- ngamux - Simple HTTP router for Go. 
- ozzo-routing - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. 
- pure - Is a lightweight HTTP router that sticks to the std "net/http" implementation. 
- Siesta - Composable framework to write middleware and handlers. 
- vestigo - Performant, stand-alone, HTTP compliant URL Router for go web applications. 
- violetear - Go HTTP router. 
- xmux - High performance muxer based on `httprouter` with `net/context` support. 
- xujiajun/gorouter - A simple and fast HTTP router for Go. 
-
Utility/Miscellaneous
- Atreugo - High performance and extensible micro web framework with zero memory allocations in hot paths. 
- Beego - beego is an open-source, high-performance web framework for the Go programming language. 
- Confetti Framework - Confetti is a Go web application framework with an expressive, elegant syntax. Confetti combines the elegance of Laravel and the simplicity of Go.
- Don - A highly performant and simple to use API framework. 
- Echo - High performance, minimalist Go web framework. 
- Fastschema - A flexible Go web framework and Headless CMS. 
- Fiber - An Express.js inspired web framework build on Fasthttp. 
- Flamingo - Framework for pluggable web projects. Including a concept for modules and offering features for DI, Configareas, i18n, template engines, graphql, observability, security, events, routing & reverse routing etc. 
- Flamingo Commerce - Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications. 
- Fuego - The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code. 
- Gin - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. 
- Ginrpc - Gin parameter automatic binding tool,gin rpc tools. 
- Goa - Goa provides a holistic approach for developing remote APIs and microservices in Go. 
- GoFr - Gofr is an opinionated microservice development framework. 
- GoFrame - GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. 
- golamb - Golamb makes it easier to write API endpoints for use with AWS Lambda and API Gateway. 
- Gone - A lightweight dependency injection and web framework inspired by Spring. 
- goravel - A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features. 
- Goyave - Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities. 
- Hertz - A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices. 
- hiboot - hiboot is a high performance web application framework with auto configuration and dependency injection support. 
- iWF - iWF is an all-in-one platform for developing long-running business processes. It offers a convenient abstraction for utilizing databases, ElasticSearch, message queues, durable timers, and more, with a clean, simple, and user-friendly interface. 
- Lit - Highly performant declarative web framework for Golang, aiming for simplicity and quality of life. 
- Microservice - The framework for the creation of microservices, written in Golang. 
- patron - Patron is a microservice framework following best cloud practices with a focus on productivity. 
- Pnutmux - Pnutmux is a powerful Go web framework that uses regex for matching and handling HTTP requests. It offers features such as CORS handling, structured logging, URL parameters extraction, middlewares, and concurrency limiting.
- Revel - High-productivity web framework for the Go language. 
- rk-boot - A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily. 
- Ronykit - Web framework with pluggable architecture and very performant. 
-
Programming Languages
Categories
Utilities
174
Software Packages
155
Database
135
Miscellaneous
107
Third-party APIs
102
Networking
97
Testing
91
Command Line
90
Web Frameworks
87
Data Structures and Algorithms
74
Text Processing
70
Websites
69
Logging
63
Distributed Systems
62
Database Drivers
62
Configuration
61
Messaging
56
Goroutines
49
Natural Language Processing
48
Images
44
Meetups
43
Security
43
Machine Learning
40
JSON
39
Science and Data Analysis
36
Authentication and OAuth
35
Code Analysis
32
Server Applications
31
Bot Building
27
GUI
26
Financial
26
E-Books
25
ORM
25
File Handling
25
Email
24
Embeddable Scripting Languages
24
Date and Time
22
Game Development
22
Serialization
21
Go Tools
20
Error Handling
17
Query Language
17
Template Engines
17
Continuous Integration
16
Geographic
16
IoT (Internet of Things)
15
Benchmarks
15
Validation
15
Conferences
14
Job Scheduler
14
Build Automation
14
Generators
13
Editor Plugins
13
Package Management
13
Forms
12
Video
12
UUID
12
Gophers
11
Go Generate Tools
11
Blockchain
10
Functional
9
Audio and Music
9
Reflection
8
Hardware
8
Microsoft Office
8
Version Control
8
Style Guides
8
WebAssembly
7
Performance
7
XML
6
Go Compilers
6
OpenGL
6
Artificial Intelligence
6
Social Media
5
Zero Trust
5
Workflow Frameworks
5
Stream Processing
5
Actor Model
4
Resource Embedding
4
Windows
3
Data Integration Frameworks
3
Webhooks Server
3
Dynamic DNS
3
CSS Preprocessors
2
Sub Categories
Search and Analytic Databases
645
Utility/Miscellaneous
365
HTTP Clients
254
Routers
132
Standard CLI
132
Other Software
94
DevOps Tools
90
Transliteration
80
Free e-books
79
Testing Frameworks
63
Uncategorized
58
Databases Implemented in Go
40
Advanced Console UIs
40
Tutorials
39
Caches
30
Reddit
28
NoSQL Database Drivers
28
Parsers/Encoders/Decoders
26
SQL Query Builders
25
Middlewares
25
Dependency Injection
23
Database Schema Migration
22
Relational Database Drivers
20
Mock
18
Database Tools
18
Project Layout
18
Miscellaneous Data Structures and Algorithms
17
Morphological Analyzers
17
Markup Languages
13
Tokenizers
10
Text Analysis
9
Translation
9
Strings
8
Scrapers
8
Bloom and Cuckoo Filters
8
E-books for purchase
8
Formatters
8
Bit-packing and Compression
6
Microsoft Excel
6
Selenium and browser control tools
6
Queues
6
Trees
6
Regular Expressions
5
Interfaces to Multiple Backends
5
Language Detection
5
Maps
4
Twitter
4
Sets
4
Data Structure and Algorithm Collections
4
Fuzzing and delta-debugging/reducing/shrinking
3
Nullable Types
3
Guided Learning
3
Pipes
3
Slugifiers
3
Sanitation
2
Iterators
2
Bit Sets
2
Fail injection
1
RSS
1
Microsoft Word
1
Keywords
golang
1,175
go
1,045
golang-library
102
cli
91
database
78
json
73
http
61
testing
57
sql
52
docker
47
golang-package
46
framework
43
mysql
42
library
39
kubernetes
38
postgresql
38
middleware
32
redis
32
api
32
orm
30
logging
30
parser
30
configuration
29
cache
28
distributed-systems
28
concurrency
28
microservice
27
command-line
25
awesome-go
25
machine-learning
24
config
23
security
23
grpc
23
microservices
23
performance
23
log
22
sqlite
22
server
22
router
22
logger
21
validation
21
dependency-injection
21
cloud-native
21
terminal
20
devops
20
generics
20
rest-api
20
xml
20
linux
18
rest
18