awesome-go
It's a mirror of `avelino/awesome-go`, which sorts the repos by stars, while original `awesome-go` sorts by alphabet only.
https://github.com/vicanso/awesome-go
Last synced: 10 days ago
JSON representation
-
E-Books
-
Free e-books
- GoBooks - A curated list of Go books. Stars:`18.6K`.
- The Golang Standard Library by Example (Chinese)
- Go AST Book (Chinese) - A book focusing on Go `go/*` packages. Stars:`5.5K`.
- The Little Go Book
- Web Application with Go the Anti-Textbook
-
-
Websites
-
Reddit
- Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers. Stars:`40.1K`.
- awesome-awesomeness - List of other amazingly awesome lists. Stars:`32.9K`.
- Go Projects - List of projects on the Go community wiki. Stars:`130.0K`.
-
Tutorials
- go-patterns - Curated list of Go design patterns, recipes and idioms. Stars:`26.9K`.
- Learn Go with 1000+ Exercises - Learn Go with thousands of examples, exercises, and quizzes. Stars:`19.6K`.
- Learn Go with TDD - Learn Go with test-driven development. Stars:`23.2K`.
- go-clean-template - Clean Architecture template for Golang services. Stars:`7.1K`.
- Golang for Node.js Developers - Examples of Golang compared to Node.js for learning. Stars:`4.8K`.
- Build web application with Golang - Golang ebook intro how to build a web app with golang. Stars:`43.9K`.
- golang-examples - Many examples to learn Golang. Stars:`1.6K`.
- Working with Go - Intro to go for experienced programmers. Stars:`1.1K`.
- Ethereum Development with Go - A little e-book on Ethereum Development with Go. Stars:`1.7K`.
- Go Cheat Sheet - Go's reference card. Stars:`8.7K`.
-
Guided Learning
- The Go Interview Practice - A GitHub repository offering coding challenges for Go technical interview preparation. Stars:`1.3K`.
-
-
Security
-
HTTP Clients
- themis - high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps. Stars:`1.9K`.
- CertMagic - Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal. Stars:`5.3K`.
- lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt). Stars:`8.9K`.
- age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. Stars:`19.8K`.
- acra - Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system. Stars:`1.4K`.
- beelzebub - A secure low code honeypot framework, leveraging AI for System Virtualization. Stars:`1.5K`.
- Cameradar - Tool and library to remotely hack RTSP streams from surveillance cameras. Stars:`4.7K`.
- Coraza - Enterprise-ready, modsecurity and OWASP CRS compatible WAF library. Stars:`2.9K`.
- memguard - A pure Go library for handling sensitive values in memory. Stars:`2.7K`.
- secure - HTTP middleware for Go that facilitates some quick security wins. Stars:`2.3K`.
- dongle - A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption. Stars:`1.0K`.
- acmetool - ACME (Let's Encrypt) client tool with automatic renewal. Stars:`2.1K`.
-
-
Code Analysis
-
Routers
- staticcheck - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. Stars:`6.6K`.
- go-critic - source code linter that brings checks that are currently not implemented in other linters. Stars:`2.0K`.
- golangci-lint
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs. Stars:`2.4K`.
- revive - in replacement for `golint`. Stars:`5.3K`.
- GoPlantUML - Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them. Stars:`2.1K`.
- gcvis - Visualise Go program GC trace data in real time. Stars:`1.1K`.
- golines - Formatter that automatically shortens long lines in Go code. Stars:`1.1K`.
-
-
Style Guides
-
Free e-books
-
-
Utilities
-
Utility/Miscellaneous
- sesh - Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide. Stars:`1.3K`.
- fzf - Command-line fuzzy finder written in Go. Stars:`74.0K`.
- wuzz - Interactive cli tool for HTTP inspection. Stars:`10.7K`.
- godropbox - Common libraries for writing Go services/applications from Dropbox. Stars:`4.2K`.
- dive - A tool for exploring each layer in a Docker image. Stars:`52.1K`.
- goreleaser - Deliver Go binaries as fast and easily as possible. Stars:`15.1K`.
- panicparse - Groups similar goroutines and colorizes stack dump. Stars:`3.7K`.
- boilr - Blazingly fast CLI tool for creating projects from boilerplate templates. Stars:`1.7K`.
- circuitbreaker - Circuit Breakers in Go. Stars:`1.2K`.
- create-go-app - A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command. Stars:`2.7K`.
- ctop - [Top-like](https://ctop.sh) interface (e.g. htop) for container metrics. Stars:`16.9K`.
- EaseProbe - A simple, standalone, and lightWeight tool that can do health/status checking daemon, support HTTP/TCP/SSH/Shell/Client/... probes, and Slack/Discord/Telegram/SMS... notification. Stars:`2.3K`.
- Failsafe-go - Fault tolerance and resilience patterns for Go. Stars:`1.9K`.
- filetype - Small package to infer the file type checking the magic numbers signature. Stars:`2.2K`.
- gitbatch - manage your git repositories in one place. Stars:`1.6K`.
- go-funk - Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...). Stars:`4.9K`.
- sqlx - provides a set of extensions on top of the excellent built-in database/sql package. Stars:`17.2K`.
- lo - A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...) Stars:`20.2K`.
- mole - cli app to easily create ssh tunnels. Stars:`1.7K`.
- retry-go - Simple library for retry mechanism. Stars:`2.8K`.
- peco - Simplistic interactive filtering tool. Stars:`7.8K`.
- minify - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. Stars:`4.0K`.
- Storm - Simple and powerful toolkit for BoltDB. Stars:`2.1K`.
- jump - Jump helps you navigate faster by learning your habits. Stars:`1.9K`.
- bed - A Vim-like binary editor written in Go. Stars:`1.3K`.
- mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. Stars:`3.2K`.
- lancet - A comprehensive, efficient, and reusable util function library of go. Stars:`5.2K`.
- hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. Stars:`4.3K`.
- mimetype - Package for MIME type detection based on magic numbers. Stars:`1.9K`.
- hostctl - A CLI tool to manage /etc/hosts with easy commands. Stars:`1.2K`.
- scany - Library for scanning data from a database into Go structs and more. Stars:`1.5K`.
- usql - usql is a universal command-line interface for SQL databases. Stars:`9.5K`.
- goreporter - Golang tool that does static analysis, unit testing, code review and generate code quality report. Stars:`3.1K`.
- hub - wrap git commands with additional functionality to interact with github from the terminal. Stars:`22.9K`.
- mergo - Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. Stars:`3.1K`.
-
-
Database
-
Databases Implemented in Go
- prometheus - Monitoring system and time series database. Stars:`60.5K`.
- VictoriaMetrics - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL. Stars:`15.1K`.
- dolt - Dolt – It's Git for Data. Stars:`19.1K`.
- tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1. Stars:`39.1K`.
- Milvus - Milvus is a vector database for embedding management, analytics and search. Stars:`37.7K`.
- bbolt - An embedded key/value database for Go. Stars:`9.1K`.
- buntdb - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. Stars:`4.8K`.
- cockroach - Scalable, Geo-Replicated, Transactional Datastore. Stars:`31.3K`.
- column - High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions. Stars:`1.5K`.
- CovenantSQL - CovenantSQL is a SQL database on blockchain. Stars:`1.5K`.
- diskv - Home-grown disk-backed key-value store. Stars:`1.4K`.
- eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. Stars:`1.0K`.
- godis - A Golang implemented high-performance Redis server and cluster. Stars:`3.8K`.
- goleveldb - Implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in Go. Stars:`6.3K`.
- immudb - immudb is a lightweight, high-speed immutable database for systems and applications written in Go. Stars:`8.8K`.
- LinDB - LinDB is a scalable, high performance, high availability distributed time series database. Stars:`3.0K`.
- moss - Moss is a simple LSM key-value storage engine written in 100% Go. Stars:`1.0K`.
- objectbox-go - High-performance embedded Object Database (NoSQL) with Go API. Stars:`1.2K`.
- pebble - RocksDB/LevelDB inspired key-value database in Go. Stars:`5.5K`.
- pogreb - Embedded key-value store for read-heavy workloads. Stars:`1.4K`.
- rqlite - The lightweight, distributed, relational database built on SQLite. Stars:`17.0K`.
- tiedot - Your NoSQL database powered by Golang. Stars:`2.7K`.
- redka - Redis re-implemented with SQLite. Stars:`4.2K`.
- DiceDB - An open-source, fast, reactive, in-memory database optimized for modern hardware. Higher throughput and lower median latencies, making it ideal for modern workloads. Stars:`10.6K`.
- nutsdb - 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. Stars:`3.5K`.
- rosedb - An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset. Stars:`4.9K`.
- lotusdb - Fast k/v database compatible with lsm and b+tree. Stars:`2.2K`.
- dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database. Stars:`21.3K`.
- badger - Fast key-value store in Go. Stars:`15.0K`.
- ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB. Stars:`4.1K`.
- influxdb - Scalable datastore for metrics, events, and real-time analytics. Stars:`30.7K`.
- Databunker - Personally identifiable information (PII) storage service built to comply with GDPR and CCPA. Stars:`1.3K`.
-
Database Schema Migration
- dbmate - A lightweight, framework-agnostic database migration tool. Stars:`6.4K`.
- bytebase - Safe database schema change and version control for DevOps teams. Stars:`13.0K`.
- atlas - A Database Toolkit. A CLI designed to help companies better work with their data. Stars:`7.4K`.
- goavro - A Go package that encodes and decodes Avro data. Stars:`1.0K`.
- goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. Stars:`9.2K`.
- gormigrate - Database schema migration helper for Gorm ORM. Stars:`1.1K`.
- migrate - Database migrations. CLI and Golang library. Stars:`17.4K`.
- skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. Stars:`1.3K`.
- sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata. Stars:`3.4K`.
- soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. Stars:`1.5K`.
-
Database Tools
- pREST - Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new. Stars:`4.4K`.
- pgweb - Web-based PostgreSQL database browser. Stars:`9.0K`.
- pg_timetable - Advanced scheduling for PostgreSQL. Stars:`1.2K`.
- go-mysql - Go toolset to handle MySQL protocol and replication. Stars:`4.8K`.
- vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. Stars:`20.2K`.
- chproxy - HTTP proxy for ClickHouse database. Stars:`1.4K`.
-
Caches
- fastcache - fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead. Stars:`2.3K`.
- cache2go - In-memory key:value cache which supports automatic invalidation based on timeouts. Stars:`2.2K`.
- BigCache - Efficient key/value cache for gigabytes of data. Stars:`8.0K`.
- GCache - Cache library with support for expirable Cache, LFU, LRU and ARC. Stars:`2.7K`.
- gocache - A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more. Stars:`2.8K`.
- groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. Stars:`13.3K`.
- otter - A high performance lockless cache for Go. Many times faster than Ristretto and friends. Stars:`2.3K`.
- ttlcache - An in-memory cache with item expiration and generics. Stars:`1.2K`.
- sturdyc - A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant. Stars:`1.2K`.
- ristretto - A high performance memory-bound Go cache. Stars:`6.5K`.
-
SQL Query Builders
- gendry - Non-invasive SQL builder and powerful data binder. Stars:`1.6K`.
- goqu - Idiomatic SQL builder and query library. Stars:`2.6K`.
- jet - Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure. Stars:`3.4K`.
- Squirrel - Go library that helps you build SQL queries. Stars:`7.6K`.
- sqlc - Generate type-safe code from SQL. Stars:`16.0K`.
- xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. Stars:`3.9K`.
-
-
Software Packages
-
Other Software
- croc - Easily and securely send files or folders from one computer to another. Stars:`31.1K`.
- shell2http - Executing shell commands via http server (for prototyping or remote control). Stars:`1.4K`.
- restic - De-duplicating backup program. Stars:`30.1K`.
- Duplicacy - A cross-platform network and cloud backup tool based on the idea of lock-free deduplication. Stars:`5.5K`.
- blocky - Fast and lightweight DNS proxy as ad-blocker for local network with many features. Stars:`5.6K`.
- scc - Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates. Stars:`7.7K`.
- LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE. Stars:`7.7K`.
- JuiceFS - Distributed POSIX file system built on top of Redis and AWS S3. Stars:`12.2K`.
- lgo - Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility. Stars:`2.5K`.
- Documize - Modern wiki software that integrates data from SaaS tools. Stars:`2.3K`.
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. Stars:`2.5K`.
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. Stars:`2.0K`.
- confd - Manage local application configuration files using templates and data from etcd or consul. Stars:`8.4K`.
- sonic - Sonic is a Go Blogging Platform. Simple and Powerful. Stars:`2.1K`.
- portal - Portal is a quick and easy command-line file transfer utility from any computer to another. Stars:`1.7K`.
- drive - Google Drive client for the commandline. Stars:`6.7K`.
- nes - Nintendo Entertainment System (NES) emulator written in Go. Stars:`5.6K`.
- GoBoy - Nintendo Game Boy Color emulator written in Go. Stars:`2.6K`.
- myLG - Command Line Network Diagnostic tool written in Go. Stars:`2.7K`.
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. Stars:`1.1K`.
- Plik - Plik is a temporary file upload system (Wetransfer like) in Go. Stars:`1.7K`.
- Gokapi - Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload. Stars:`2.3K`.
- toxiproxy - Proxy to simulate network and system conditions for automated tests. Stars:`11.6K`.
- Comcast - Simulate bad network connections. Stars:`10.5K`.
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek. Stars:`25.9K`.
- vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. Stars:`1.1K`.
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. Stars:`19.1K`.
- borg - Terminal based search engine for bash snippets. Stars:`1.6K`.
-
DevOps Tools
- fac - Command-line user interface to fix git merge conflicts. Stars:`1.9K`.
- gaia - Build powerful pipelines in any programming language. Stars:`5.2K`.
- Gitea - Fork of Gogs, entirely community driven. Stars:`50.9K`.
- GVM - GVM provides an interface to manage Go versions. Stars:`11.3K`.
- uTask - Automation engine that models and executes business processes declared in yaml. Stars:`1.3K`.
- Moby - Collaborative project for the container ecosystem to assemble container-based systems. Stars:`70.8K`.
- minikube - Run Kubernetes locally. Stars:`31.0K`.
- kubernetes - Container Cluster Manager from Google. Stars:`117.7K`.
- bombardier - Fast cross-platform HTTP benchmarking tool. Stars:`6.6K`.
- Flannel - Flannel is a network fabric for containers, designed for Kubernetes. Stars:`9.3K`.
- k6 - A modern load testing tool, using Go and JavaScript. Stars:`28.8K`.
- kind - Kubernetes IN Docker - local clusters for testing Kubernetes. Stars:`14.6K`.
- kubeshark - API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes. Stars:`11.5K`.
- kala - Simplistic, modern, and performant job scheduler. Stars:`2.2K`.
- k3s - Lightweight Kubernetes. Stars:`30.9K`.
- tlm - Local cli copilot, powered by CodeLLaMa Stars:`1.5K`.
- k3d - Little helper to run CNCF's k3s in Docker. Stars:`6.0K`.
- Pomerium - Pomerium is an identity-aware access proxy. Stars:`4.5K`.
- bosun - Time Series Alerting Framework. Stars:`3.4K`.
- Fleet device management - Lightweight, programmable telemetry for servers and workstations. Stars:`5.6K`.
- ghorg - Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket. Stars:`1.8K`.
- Hey - Hey is a tiny program that sends some load to a web application. Stars:`19.3K`.
- KubeVela - Cloud native application delivery. Stars:`7.5K`.
- Vegeta - HTTP load testing tool and library. It's over 9000! Stars:`24.6K`.
- script - Making it easy to write shell-like scripts in Go for DevOps and system administration tasks. Stars:`6.8K`.
- podinfo - Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops. Stars:`5.7K`.
- gox - Dead simple, no frills Go cross compile tool. Stars:`4.6K`.
- tau - Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging. Stars:`4.5K`.
- PipeCD - A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications. Stars:`1.2K`.
- s5cmd - Blazing fast S3 and local filesystem execution tool. Stars:`3.6K`.
- aptly - aptly is a Debian repository management tool. Stars:`2.7K`.
- StatusOK - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. Stars:`1.6K`.
- kubeblocks - KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s. Stars:`2.8K`.
- KusionStack - A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach. Stars:`1.2K`.
- go-selfupdate - Enable your Go applications to self update. Stars:`1.6K`.
- goxc - build tool for Go, with a focus on cross-compiling and packaging. Stars:`1.7K`.
- s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. Stars:`1.1K`.
- KubeVPN - KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network. Stars:`1.2K`.
- ko - Command line tool for building and deploying Go applications on Kubernetes Stars:`8.1K`.
- traefik - Reverse proxy and load balancer with support for multiple backends. Stars:`56.8K`.
- Ddosify - High-performance load testing tool, written in Golang. Stars:`8.5K`.
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. Stars:`15.5K`.
-
-
Command Line
-
Advanced Console UIs
- termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). Stars:`13.4K`.
- fx - Terminal JSON viewer & processor. Stars:`19.9K`.
- gocui - Minimalist Go library aimed at creating Console User Interfaces. Stars:`10.4K`.
- asciigraph - Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. Stars:`2.9K`.
- bubbletea - Go framework to build terminal apps, based on The Elm Architecture. Stars:`35.3K`.
- termenv - Advanced ANSI style & color support for your terminal applications. Stars:`1.9K`.
- aurora - ANSI terminal colors that support fmt.Printf/Sprintf. Stars:`1.5K`.
- bubbles - TUI components for bubbletea. Stars:`7.0K`.
- go-prompt - Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit). Stars:`5.4K`.
- gookit/color - Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows. Stars:`1.6K`.
- lipgloss - Declaratively define styles for color, format and layout in the terminal. Stars:`9.7K`.
- mpb - Multi progress bar for terminal applications. Stars:`2.4K`.
- progressbar - Basic thread-safe progress bar that works in every OS. Stars:`4.5K`.
- pterm - A library to beautify console output on every platform with many combinable components. Stars:`5.3K`.
- spinner - Go package to easily provide a terminal spinner with options. Stars:`2.5K`.
- termbox-go - Termbox is a library for creating cross-platform text-based interfaces. Stars:`4.7K`.
- termdash - Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui). Stars:`2.9K`.
- uilive - Library for updating terminal output in real time. Stars:`1.7K`.
- uiprogress - Flexible library to render progress bars in terminal applications. Stars:`2.1K`.
-
Standard CLI
- Dnote - A simple command line notebook with multi-device sync. Stars:`2.9K`.
- cobra - Commander for modern Go CLI interactions. Stars:`42.0K`.
- kingpin - Command line and flag parser supporting sub commands (superseded by `kong`; see below). Stars:`3.5K`.
- elvish - An expressive programming language and a versatile interactive shell. Stars:`6.1K`.
- go-arg - Struct-based argument parsing in Go. Stars:`2.2K`.
- go-flags - go command line option parser. Stars:`2.7K`.
- liner - Go readline-like library for command-line interfaces. Stars:`1.1K`.
- mitchellh/cli - Go library for implementing command-line interfaces. Stars:`1.7K`.
- ops - Unikernel Builder/Orchestrator. Stars:`1.4K`.
- pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. Stars:`2.6K`.
- urfave/cli - Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). Stars:`23.5K`.
- carapace-bin - Multi-shell multi-command argument completer. Stars:`1.5K`.
-
-
Server Applications
-
HTTP Clients
- minio - Minio is a distributed object storage server. Stars:`55.4K`.
- Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. Stars:`67.0K`.
- jackal - An XMPP server written in Go. Stars:`1.4K`.
- devd - Local webserver for developers. Stars:`3.5K`.
- pocketbase - PocketBase is a realtime backend in 1 file consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management and much more. Stars:`51.3K`.
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. Stars:`2.9K`.
- discovery - A registry for resilient mid-tier load balancing and failover. Stars:`1.8K`.
- etcd - Highly-available key value store for shared configuration and service discovery. Stars:`50.4K`.
- Fider - Fider is an open platform to collect and organize customer feedback. Stars:`3.8K`.
- go-feature-flag - A simple, complete and lightweight self-hosted feature flag solution 100% Open Source. Stars:`1.8K`.
- SFTPGo - Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage. Stars:`11.0K`.
- Wish - Make SSH apps, just like that! Stars:`4.4K`.
- RoadRunner - High-performance PHP application server, load-balancer and process manager. Stars:`8.3K`.
- Flagr - Flagr is an open-source feature flagging and A/B testing service. Stars:`2.5K`.
- Easegress - A cloud native high availability/performance traffic orchestration system with observability and extensibility. Stars:`5.9K`.
- flipt - A self contained feature flag solution written in Go and Vue.js Stars:`4.6K`.
- Trickster - HTTP reverse proxy cache and time series accelerator. Stars:`2.0K`.
-
-
Financial
-
Search and Analytic Databases
- ticker - Terminal stock watcher and stock position tracker. Stars:`5.5K`.
- bbgo - A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies. Stars:`1.5K`.
- decimal - Arbitrary-precision fixed-point decimal numbers. Stars:`7.0K`.
- go-money - Implementation of Fowler's Money pattern. Stars:`1.8K`.
- ledger - A programmable financial ledger that provides a foundation for money-moving applications. Stars:`1.0K`.
-
-
Web Frameworks
-
Utility/Miscellaneous
- Goyave - Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities. Stars:`1.7K`.
- REST Layer - Framework to build REST/GraphQL API on top of databases with mostly configuration over code. Stars:`1.3K`.
- Echo - High performance, minimalist Go web framework. Stars:`31.6K`.
- go-json-rest - Quick and easy way to setup a RESTful JSON API. Stars:`3.5K`.
- Fiber - An Express.js inspired web framework build on Fasthttp. Stars:`38.0K`.
- 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. Stars:`85.8K`.
- GoFrame - GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. Stars:`12.8K`.
- Goa - Goa provides a holistic approach for developing remote APIs and microservices in Go. Stars:`6.0K`.
- Beego - beego is an open-source, high-performance web framework for the Go programming language. Stars:`32.3K`.
- Hertz - A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices. Stars:`6.7K`.
- Macaron - Macaron is a high productive and modular design web framework in Go. Stars:`3.5K`.
- Revel - High-productivity web framework for the Go language. Stars:`13.2K`.
- goravel - A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features. Stars:`4.1K`.
- Atreugo - High performance and extensible micro web framework with zero memory allocations in hot paths. Stars:`1.3K`.
- utron - Lightweight MVC framework for Go(Golang). Stars:`2.2K`.
- Gizmo - Microservice toolkit used by the New York Times. Stars:`3.8K`.
- GoFr - Gofr is an opinionated microservice development framework. Stars:`13.0K`.
- Fuego - The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code. Stars:`1.5K`.
- Huma - Framework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI. Stars:`3.4K`.
-
Routers
- chi - Small, fast and expressive HTTP router built on net/context. Stars:`20.6K`.
- gocraft/web - Mux and middleware package in Go. Stars:`1.5K`.
- httprouter - High performance router. Use this and the standard http handlers to form a very high performance web framework. Stars:`17.0K`.
- mux - Powerful URL router and dispatcher for golang. Stars:`21.6K`.
- Bone - Lightning Fast HTTP Multiplexer. Stars:`1.3K`.
-
Middlewares
- negroni - Idiomatic HTTP middleware for Golang. Stars:`7.5K`.
- CORS - Easily add CORS capabilities to your API. Stars:`2.8K`.
- alice - Painless middleware chaining for Go. Stars:`3.3K`.
- Limiter - Dead simple rate limit middleware for Go. Stars:`2.3K`.
- Tollbooth - Rate limit HTTP request handler. Stars:`2.8K`.
- render - Go package for easily rendering JSON, XML, and HTML template responses. Stars:`2.0K`.
-
-
GUI
-
Search and Analytic Databases
- fyne - Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. Stars:`27.2K`.
- robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other. Stars:`10.4K`.
- DarwinKit - Build native macOS applications using Go. Stars:`5.3K`.
- go-sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform. Stars:`2.6K`.
- gotk3 - Go bindings for GTK3. Stars:`2.2K`.
- qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi). Stars:`10.7K`.
- Spot - Reactive, cross-platform desktop GUI toolkit. Stars:`1.2K`.
- ui - Platform-native GUI library for Go. Cross platform. Stars:`8.4K`.
- walk - Windows application library kit for Go. Stars:`7.0K`.
- systray - Cross platform Go library to place an icon and menu in the notification area. Stars:`3.6K`.
- Cogent Core - A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web. Stars:`2.1K`.
- app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress. Stars:`8.8K`.
- webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux). Stars:`13.4K`.
-
-
Science and Data Analysis
-
HTTP Clients
- stats - Statistics package with common functions missing from the Golang standard library. Stars:`3.0K`.
- dataframe-go - Dataframes for machine-learning and statistics (similar to pandas). Stars:`1.3K`.
- gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more. Stars:`8.2K`.
- gonum/plot - gonum/plot provides an API for building and drawing plots in Go. Stars:`2.9K`.
- gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more. Stars:`1.9K`.
- orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support. Stars:`1.0K`.
- streamtools - general purpose, graphical tool for dealing with streams of data. Stars:`1.3K`.
-
-
Hardware
-
Search and Analytic Databases
- ghw - Golang hardware discovery/inspection library. Stars:`1.8K`.
- arduino-cli - Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects. Stars:`4.7K`.
- emgo - Go-like language for programming embedded systems (e.g. STM32 MCU). Stars:`1.1K`.
- go-rpio - GPIO for Go, doesn't require cgo. Stars:`2.3K`.
-
-
File Handling
-
Search and Analytic Databases
- pdfcpu - PDF processor. Stars:`8.0K`.
- afero - FileSystem Abstraction System for Go. Stars:`6.4K`.
- gdu - Disk usage analyzer with console interface. Stars:`4.8K`.
- go-wkhtmltopdf - A package to convert an HTML template to a PDF file. Stars:`1.2K`.
-
-
Messaging
-
Search and Analytic Databases
- gorush - Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). Stars:`8.5K`.
- go-socket.io - socket.io library for golang, a realtime application framework. Stars:`5.8K`.
- APNs2 - HTTP/2 Apple Push Notification provider for Go - Send push notifications to iOS, tvOS, Safari and OSX apps. Stars:`3.1K`.
- amqp - Go RabbitMQ Client Library. Stars:`1.9K`.
- Asynq - A simple, reliable, and efficient distributed task queue for Go built on top of Redis. Stars:`12.0K`.
- Beaver - A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. Stars:`1.6K`.
- Centrifugo - Real-time messaging (Websockets or SockJS) server in Go. Stars:`9.3K`.
- Chanify - A push notification server send message to your iOS devices. Stars:`1.3K`.
- Confluent Kafka Golang Client - confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform. Stars:`5.0K`.
- dbus - Native Go bindings for D-Bus. Stars:`1.1K`.
- EventBus - The lightweight event bus with async compatibility. Stars:`1.9K`.
- go-nsq - the official Go package for NSQ. Stars:`2.6K`.
- gopush-cluster - gopush-cluster is a go push server cluster. Stars:`2.1K`.
- machinery - Asynchronous task queue/job queue based on distributed message passing. Stars:`7.8K`.
- melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling. Stars:`4.0K`.
- Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). Stars:`5.1K`.
- Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices. Stars:`1.6K`.
- Watermill - Working efficiently with message streams. Building event driven applications, enabling event sourcing, RPC over messages, sagas. Can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog. Stars:`9.0K`.
- zmq4 - Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). Stars:`1.2K`.
- NATS Go Client - Go client for the NATS Stars:`6.2K`.
- sarama - Go library for Apache Kafka. Stars:`12.2K`.
-
-
Logging
-
Search and Analytic Databases
- spew - Implements a deep pretty printer for Go data structures to aid in debugging. Stars:`6.3K`.
- zap - Fast, structured, leveled logging in Go. Stars:`23.7K`.
- glog - Leveled execution logs for Go. Stars:`3.6K`.
- log - Structured logging package for Go. Stars:`1.4K`.
- log15 - Simple, powerful logging for Go. Stars:`1.1K`.
- logrus - Structured logger for Go. Stars:`25.5K`.
- lumberjack - Simple rolling logger, implements io.WriteCloser. Stars:`5.3K`.
- pp - Colored pretty printer for Go language. Stars:`2.0K`.
- seelog - Logging functionality with flexible dispatching, filtering, and formatting. Stars:`1.6K`.
- tail - Go package striving to emulate the features of the BSD tail program. Stars:`2.8K`.
- tint - A slog.Handler that writes tinted logs. Stars:`1.1K`.
- zerolog - Zero-allocation JSON logger. Stars:`11.8K`.
-
-
Miscellaneous
-
Uncategorized
- base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha. Stars:`2.3K`.
- archiver - Library and command for making and extracting .zip and .tar.gz archives. Stars:`4.4K`.
- go-commons-pool - Generic object pool for Golang. Stars:`1.2K`.
- go-resiliency - Resiliency patterns for golang. Stars:`2.3K`.
- gofakeit - Random data generator written in go. Stars:`5.2K`.
- gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). Stars:`11.5K`.
- gosms - Your own local SMS gateway in Go that can be used to send SMS. Stars:`1.5K`.
- llvm - Library for interacting with LLVM IR in pure Go. Stars:`1.2K`.
- shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. Stars:`1.4K`.
- stateless - A fluent library for creating state machines. Stars:`1.1K`.
- gatus - Automated service health dashboard. Stars:`8.6K`.
-
Dependency Injection
- dig - A reflection based dependency injection toolkit for Go. Stars:`4.3K`.
- do - A dependency injection framework based on Generics. Stars:`2.3K`.
- fx - A dependency injection based application framework for Go (built on top of dig). Stars:`6.9K`.
- google/wire - Automated Initialization in Go. Stars:`14.0K`.
-
Project Layout
- ardanlabs/service - A [starter kit](https://github.com/ardanlabs/service/wiki) for building production grade scalable web service applications. Stars:`3.9K`.
- go-blueprint - Allows users to spin up a quick Go project using a popular framework. Stars:`8.2K`.
- golang-standards/project-layout - Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see [this issue](https://github.com/golang-standards/project-layout/issues/117) for more information. Nonetheless, some may find the layout useful. Stars:`53.9K`.
- modern-go-application - Go application boilerplate and example applying modern practices. Stars:`1.9K`.
- nunu - Nunu is a scaffolding tool for building Go applications. Stars:`2.4K`.
- pagoda - Rapid, easy full-stack web development starter kit built in Go. Stars:`2.8K`.
- goxygen - Generate a modern Web project with Go and Angular, React, or Vue in seconds. Stars:`3.6K`.
- goapp - An opinionated guideline to structure & develop a Go web application/service. Stars:`1.0K`.
-
Strings
-
-
Email
-
Search and Analytic Databases
- hermes - Golang package that generates clean, responsive HTML e-mails. Stars:`2.9K`.
- MailHog - Email and SMTP testing with web and API interface. Stars:`15.3K`.
- email - A robust and flexible email library for Go. Stars:`2.8K`.
- email-verifier - A Go library for email verification without sending any emails. Stars:`1.4K`.
- go-imap - IMAP library for clients and servers. Stars:`2.2K`.
- go-mail - A simple Go library for sending mails in Go. Stars:`1.1K`.
- Maddy - All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server Stars:`5.7K`.
- Mailpit - Email and SMTP testing tool for developers. Stars:`7.8K`.
- SendGrid - SendGrid's Go library for sending email. Stars:`1.0K`.
- mox - Modern full-featured secure mail server for low-maintenance, self-hosted email. Stars:`5.2K`.
-
-
JSON
-
Search and Analytic Databases
- GJSON - Get a JSON value with one line of code. Stars:`15.2K`.
- fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection. Stars:`2.4K`.
- gabs - For parsing, creating and editing unknown or dynamic JSON in Go. Stars:`3.5K`.
- gojson - Automatically generate Go (golang) struct definitions from example JSON. Stars:`2.7K`.
-
-
Geographic
-
Search and Analytic Databases
- Tile38 - Geolocation DB with spatial index and realtime geofencing. Stars:`9.5K`.
- S2 geometry - S2 geometry library in Go. Stars:`1.8K`.
-
-
Generators
-
Search and Analytic Databases
- jennifer - Generate arbitrary Go code without templates. Stars:`3.6K`.
- goderive - Derives functions from input types Stars:`1.3K`.
- GoWrap - Generate decorators for Go interfaces using simple templates. Stars:`1.3K`.
- oapi-codegen - This package contains a set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions. Stars:`7.6K`.
- go-linq - .NET LINQ-like query methods for Go. Stars:`3.6K`.
-
-
Go Generate Tools
-
ORM
-
HTTP Clients
- upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. Stars:`3.6K`.
- go-sqlbuilder - A flexible and powerful SQL string builder library plus a zero-config ORM. Stars:`1.6K`.
- bob - SQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler. Stars:`1.5K`.
- bun - SQL-first Golang ORM. Successor of go-pg. Stars:`4.4K`.
- GORM - The fantastic ORM library for Golang, aims to be developer friendly. Stars:`38.9K`.
- gormt - Mysql database to golang gorm struct. Stars:`2.4K`.
- gorp - Go Relational Persistence, ORM-ish library for Go. Stars:`3.8K`.
- pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. Stars:`1.5K`.
- reform - Better ORM for Go, based on non-empty interfaces and code generation. Stars:`1.4K`.
- Prisma - Prisma Client Go, Typesafe database access for Go. Stars:`2.3K`.
- ent - An entity framework for Go. Simple, yet powerful ORM for modeling and querying data. Stars:`16.6K`.
- SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. Stars:`6.9K`.
-
-
Template Engines
-
HTTP Clients
- pongo2 - Django-like template-engine for Go. Stars:`3.0K`.
- jet - Jet template engine. Stars:`1.4K`.
- maroto - A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple. Stars:`2.5K`.
- quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it. Stars:`3.3K`.
- sprig - Useful template functions for Go templates. Stars:`4.1K`.
- templ - A HTML templating language that has great developer tooling. Stars:`9.7K`.
-
-
Webhooks Server
-
Routers
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. Stars:`11.2K`.
-
-
Networking
-
Transliteration
- dns - Go library for working with DNS. Stars:`8.5K`.
- gobgp - BGP implemented in the Go Programming Language. Stars:`3.9K`.
- fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http. Stars:`23.0K`.
- fortio - Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC. Stars:`3.6K`.
- ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). Stars:`1.4K`.
- gev - gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Stars:`1.8K`.
- gmqtt - Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1. Stars:`1.0K`.
- gnet - `gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go. Stars:`10.8K`.
- go-getter - Go library for downloading files or directories from various sources using a URL. Stars:`1.8K`.
- gopacket - Go library for packet processing with libpcap bindings. Stars:`6.6K`.
- gws - High-Performance WebSocket Server & Client With AsyncIO Supporting . Stars:`1.6K`.
- kcp-go - KCP - Fast and Reliable ARQ Protocol. Stars:`4.3K`.
- kcptun - Extremely simple & fast udp tunnel based on KCP protocol. Stars:`14.3K`.
- mdns - Simple mDNS (Multicast DNS) client/server library in Golang. Stars:`1.3K`.
- nbio - Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use. Stars:`2.6K`.
- netpoll - A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance. Stars:`4.4K`.
- sftp - Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>. Stars:`1.6K`.
- ssh - Higher-level API for building SSH servers (wraps crypto/ssh). Stars:`4.0K`.
- water - Simple TUN/TAP library. Stars:`2.1K`.
- tun2socks - A pure go implementation of tun2socks powered by [gVisor](https://gvisor.dev/) TCP/IP stack. Stars:`4.2K`.
- GoProxy - A library to create a customized HTTP/HTTPS proxy server using Go. Stars:`6.5K`.
- cloudflared - Cloudflare Tunnel client (formerly Argo Tunnel). Stars:`11.6K`.
- sdns - A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy. Stars:`1.0K`.
- gosnmp - Native Go library for performing SNMP actions. Stars:`1.2K`.
- HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses. Stars:`4.1K`.
- nodepass - A secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TLS/TCP connections. Stars:`1.3K`.
- quic-go - An implementation of the QUIC protocol in pure Go. Stars:`11.0K`.
- NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF). Stars:`1.4K`.
- grab - Go package for managing file downloads. Stars:`1.5K`.
- webrtc - A pure Go implementation of the WebRTC API. Stars:`15.4K`.
-
HTTP Clients
- resty - Simple HTTP and REST client for Go inspired by Ruby rest-client. Stars:`11.2K`.
- gentleman - Full-featured plugin-driven HTTP client library. Stars:`1.1K`.
- go-retryablehttp - Retryable HTTP client in Go. Stars:`2.2K`.
- grequests - A Go "clone" of the great and famous Requests library. Stars:`2.2K`.
- req - Simple Go HTTP client with Black Magic (Less code and More efficiency). Stars:`4.6K`.
- sling - Sling is a Go HTTP client library for creating and sending API requests. Stars:`1.7K`.
- tls-client - net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests. Stars:`1.3K`.
- requests - HTTP requests for Gophers. Uses context.Context and doesn't hide the underlying net/http.Client, making it compatible with standard Go APIs. Also includes testing tools. Stars:`1.6K`.
- heimdall - An enhanced http client with retry and hystrix capabilities. Stars:`2.7K`.
-
-
Package Management
-
HTTP Clients
- dep - Go dependency tool. Stars:`12.8K`.
- glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. Stars:`8.1K`.
- godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. Stars:`5.5K`.
- gom - Go Manager - bundle for go. Stars:`1.4K`.
- gopm - Go Package Manager. Stars:`2.5K`.
- govendor - Go Package Manager. Go vendor tool that works with the standard vendor file. Stars:`4.9K`.
- gpm - Barebones dependency manager for Go. Stars:`1.2K`.
- syft - A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems. Stars:`7.7K`.
-
-
Error Handling
-
Search and Analytic Databases
- errors - Go error library with error portability over the network. Stars:`2.3K`.
- eris - A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors. Stars:`1.7K`.
- errorx - A feature rich error package with stack traces, composition of errors and more. Stars:`1.3K`.
- go-multierror - Go (golang) package for representing a list of errors as a single error. Stars:`2.5K`.
- tracerr - Golang errors with stack trace and source fragments. Stars:`1.1K`.
- multierr - Package for representing a list of errors as a single error. Stars:`1.2K`.
-
-
Go Tools
-
Routers
- go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. Stars:`9.8K`.
- go-size-analyzer - Analyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build. Stars:`1.7K`.
- OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub. Stars:`5.3K`.
- go-callvis - Visualize call graph of your Go program using dot format. Stars:`6.4K`.
-
-
Performance
-
HTTP Clients
-
-
Testing
-
Testing Frameworks
- gnomock - integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks. Stars:`1.5K`.
- embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test. Stars:`1.0K`.
- go-cmp - Package for comparing Go values in tests. Stars:`4.5K`.
- go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests. Stars:`1.3K`.
- godog - Cucumber BDD framework for Go. Stars:`2.5K`.
- httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing. Stars:`2.7K`.
- is - Professional lightweight testing mini-framework for Go. Stars:`1.9K`.
- testcontainers-go - A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done. Stars:`4.4K`.
- testfixtures - A helper for Rails' like test fixtures to test database applications. Stars:`1.2K`.
- Testify - Sacred extension to the standard go testing package. Stars:`25.2K`.
- keploy - Generate Testcase and Data Mocks from API calls automatically. Stars:`11.1K`.
- GoConvey - BDD-style framework with web UI and live reload. Stars:`8.4K`.
-
Mock
- counterfeiter - Tool for generating self-contained mock objects. Stars:`1.1K`.
- go-sqlmock - Mock SQL driver for testing database interactions. Stars:`6.5K`.
- gock - Versatile HTTP mocking made easy. Stars:`2.2K`.
- gomock - Mocking framework for the Go programming language. Stars:`9.3K`.
- hoverfly - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI. Stars:`2.4K`.
- httpmock - Easy mocking of HTTP responses from external resources. Stars:`2.1K`.
- mockery - Tool to generate Go interfaces. Stars:`6.8K`.
- moq - Utility that generates a struct from any interface. The struct can be used in test code as a mock of the interface. Stars:`2.1K`.
- gomock - Mocking framework for the Go programming language. Stars:`3.1K`.
-
Fuzzing and delta-debugging/reducing/shrinking
-
Selenium and browser control tools
- rod - A Devtools driver to make web automation and scraping easy. Stars:`6.3K`.
- selenoid - alternative Selenium hub server that launches browsers within containers. Stars:`2.7K`.
- chromedp - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol. Stars:`12.3K`.
- playwright-go - browser automation library to control Chromium, Firefox and WebKit with a single API. Stars:`2.9K`.
-
-
Goroutines
-
Search and Analytic Databases
- workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued. Stars:`1.4K`.
- ants - A high-performance and low-cost goroutine pool in Go. Stars:`14.0K`.
- conc - `conc` is your toolbelt for structured concurrency in go, making common tasks easier and safer. Stars:`10.1K`.
- goworker - goworker is a Go-based background worker. Stars:`2.8K`.
- pond - Minimalistic and High-performance goroutine worker pool written in Go. Stars:`2.0K`.
- tunny - Goroutine pool for golang. Stars:`4.0K`.
- rill - Go toolkit for clean, composable, channel-based concurrency. Stars:`1.8K`.
-
-
Serialization
-
HTTP Clients
- go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support. Stars:`1.9K`.
- csvutil - High Performance, idiomatic CSV record encoding and decoding to native Go structures. Stars:`1.0K`.
- gogoprotobuf - Protocol Buffers for Go with Gadgets. Stars:`5.7K`.
- goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. Stars:`10.0K`.
- jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json". Stars:`13.9K`.
- mapstructure - Go library for decoding generic map values into native Go structures. Stars:`8.0K`.
-
-
Artificial Intelligence
- LocalAI - Open Source OpenAI alternative, self-host AI models. Stars:`35.5K`.
- langchaingo - LangChainGo is a framework for developing applications powered by language models. Stars:`7.7K`.
- Ollama - Run large language models locally. Stars:`153.1K`.
-
Blockchain
- go-ethereum - Official Go implementation of the Ethereum protocol. Stars:`49.9K`.
- kubo - 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. Stars:`16.8K`.
- cosmos-sdk - A Framework for Building Public Blockchains in the Cosmos Ecosystem. Stars:`6.8K`.
- solana-go - Go library to interface with Solana JSON RPC and WebSocket interfaces. Stars:`1.4K`.
- tendermint - 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. Stars:`5.8K`.
- lnd - A complete implementation of a Lightning Network node. Stars:`8.0K`.
-
Third-party APIs
-
Utility/Miscellaneous
- go-jira - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) Stars:`1.6K`.
- go-openai - OpenAI ChatGPT, DALL·E, Whisper API library for Go. Stars:`10.3K`.
- discordgo - Go bindings for the Discord Chat API. Stars:`5.6K`.
- anaconda - Go client library for the Twitter 1.1 API. Stars:`1.1K`.
- aws-sdk-go - The official AWS SDK for the Go programming language. Stars:`3.3K`.
- facebook - Go Library that supports the Facebook Graph API. Stars:`1.4K`.
- github - Go library for accessing the GitHub REST API v3. Stars:`11.0K`.
- go-twitter - Go client library for the Twitter v1.1 APIs. Stars:`1.6K`.
- minio-go - Minio Go Library for Amazon S3 compatible cloud storage. Stars:`2.8K`.
- slack - Slack API in Go. Stars:`4.8K`.
- stripe - Go client for the Stripe API. Stars:`2.4K`.
- webhooks - Webhook receiver for GitHub and Bitbucket. Stars:`1.0K`.
- githubql - Go library for accessing the GitHub GraphQL API v4. Stars:`1.2K`.
- google - Auto-generated Google APIs for Go. Stars:`4.3K`.
- google-cloud - Google Cloud APIs Go Client Library. Stars:`4.3K`.
-
-
Continuous Integration
-
Standard CLI
- CDS - Enterprise-Grade CI/CD and DevOps Automation Open Source Platform. Stars:`4.8K`.
- woodpecker - Woodpecker is a community fork of the Drone CI system. Stars:`5.5K`.
- muffet - Fast website link checker in Go, see [alternatives](https://github.com/lycheeverse/lychee#features). Stars:`2.6K`.
- drone - Drone is a Continuous Integration platform built on Docker, written in Go. Stars:`33.3K`.
-
-
Configuration
-
Standard CLI
- viper - Go configuration with fangs. Stars:`29.3K`.
- cleanenv - Minimalistic configuration reader (from files, ENV, and wherever you want). Stars:`1.9K`.
- env - Parse environment variables to Go structs (with defaults). Stars:`5.8K`.
- godotenv - Go port of Ruby's dotenv library (Loads environment variables from `.env`). Stars:`9.8K`.
- ini - Go package to read and write INI files. Stars:`3.5K`.
- kelseyhightower/envconfig - Go library for managing configuration data from environment variables. Stars:`5.3K`.
- koanf - Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line. Stars:`3.5K`.
- kong - 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`). Stars:`2.8K`.
- sonic - A blazingly fast JSON serializing & deserializing library. Stars:`8.7K`.
-
-
Images
-
Search and Analytic Databases
- smartcrop - Finds good crops for arbitrary images and crop sizes. Stars:`1.8K`.
- bild - Collection of image processing algorithms in pure Go. Stars:`4.1K`.
- bimg - Small package for fast and efficient image processing using libvips. Stars:`2.9K`.
- canvas - Vector graphics to PDF, SVG or rasterized image. Stars:`1.6K`.
- geopattern - Create beautiful generative image patterns from a string. Stars:`1.3K`.
- gg - 2D rendering in pure Go. Stars:`4.7K`.
- gift - Package of image processing filters. Stars:`1.8K`.
- gocv - Go package for computer vision using OpenCV 3.3+. Stars:`7.2K`.
- govips - A lightning fast image processing and resizing library for Go. Stars:`1.5K`.
- gowitness - Screenshoting webpages using go and headless chrome on command line. Stars:`3.9K`.
- imagick - Go binding to ImageMagick's MagickWand C API. Stars:`1.8K`.
- imaginary - Fast and simple HTTP microservice for image resizing. Stars:`5.9K`.
- imaging - Simple Go image processing package. Stars:`5.6K`.
- ln - 3D line art rendering in Go. Stars:`3.3K`.
- picfit - An image resizing server written in Go. Stars:`2.3K`.
- pt - Path tracing engine written in Go. Stars:`2.1K`.
- stegify - Go tool for LSB steganography, capable of hiding any file within an image. Stars:`1.2K`.
- svgo - Go Language Library for SVG generation. Stars:`2.2K`.
- imagor - Fast, secure image processing server and Go library, using libvips. Stars:`3.8K`.
-
-
Authentication and Authorization
- keto - 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. Stars:`5.1K`.
- authboss - 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. Stars:`4.1K`.
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers. Stars:`1.9K`.
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang. Stars:`1.6K`.
- goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box. Stars:`6.2K`.
- jwt-go - 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. Stars:`8.5K`.
- oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support. Stars:`5.7K`.
- oidc - Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation Stars:`1.7K`.
- openfga - Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by [CNCF](https://www.cncf.io/). Stars:`4.2K`.
- osin - Golang OAuth2 server library. Stars:`1.9K`.
- scs - Session Manager for HTTP servers. Stars:`2.4K`.
- spicedb - A Zanzibar-inspired database that enables fine-grained authorization. Stars:`6.1K`.
- jwx - Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies Stars:`2.2K`.
- loginsrv - JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam. Stars:`1.9K`.
- casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC. Stars:`19.2K`.
-
Date and Time
-
Search and Analytic Databases
- carbon - A simple, semantic and developer-friendly golang package for datetime. Stars:`4.9K`.
- dateparse - Parse date's without knowing format in advance. Stars:`2.1K`.
- now - Now is a time toolkit for golang. Stars:`4.6K`.
- carbon - A simple, semantic and developer-friendly time package for golang. Stars:`5.1K`.
-
-
Data Structures and Algorithms
-
Text Analysis
- bleve - Modern text indexing library for go. Stars:`10.6K`.
-
Bit-packing and Compression
- roaring - Go package implementing compressed bitsets. Stars:`2.8K`.
-
Bit Sets
- bitset - Go package implementing bitsets. Stars:`1.5K`.
-
Bloom and Cuckoo Filters
- bloom - Go package implementing Bloom filters. Stars:`2.7K`.
- boomfilters - Probabilistic data structures for processing continuous, unbounded streams. Stars:`1.6K`.
- cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. Stars:`1.2K`.
-
Data Structure and Algorithm Collections
- go-datastructures - Collection of useful, performant, and thread-safe data structures. Stars:`7.8K`.
- gods - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. Stars:`17.2K`.
- gostl - Data structure and algorithm library for go, designed to provide functions similar to C++ STL. Stars:`1.1K`.
-
Sets
- golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go. Stars:`4.6K`.
-
Queues
- hatchet - Distributed, Fault-tolerant task queue. Stars:`6.1K`.
-
Miscellaneous Data Structures and Algorithms
- gota - Implementation of dataframes, series, and data wrangling methods for Go. Stars:`3.2K`.
-
-
Bot Building
- bot - Zero-dependencies Telegram Bot library with additional UI components Stars:`1.4K`.
- Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. Stars:`1.1K`.
- olivia - A chatbot built with an artificial neural network. Stars:`3.7K`.
- telebot - Telegram bot framework is written in Go. Stars:`4.4K`.
- telegram-bot-api - Simple and clean Telegram bot client. Stars:`6.3K`.
- wayback - A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages. Stars:`2.1K`.
- telegram-bot-api - Simple and clean Telegram bot client. Stars:`6.1K`.
-
Build Automation
- mage - Mage is a make/rake-like build tool using Go. Stars:`4.5K`.
- mmake - Modern Make. Stars:`1.7K`.
- Task - simple "Make" alternative. Stars:`13.8K`.
- xc - Task runner with README.md defined tasks, executable markdown. Stars:`1.3K`.
- realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. Stars:`4.5K`.
- air - Air - Live reload for Go apps. Stars:`21.8K`.
-
Database Drivers
-
Relational Database Drivers
- go-mssqldb - Microsoft MSSQL driver for Go. Stars:`1.9K`.
- go-sql-driver/mysql - MySQL driver for Go. Stars:`15.1K`.
- go-sqlite3 - SQLite3 driver for go that uses database/sql. Stars:`8.7K`.
- pgx - PostgreSQL driver supporting features beyond those exposed by database/sql. Stars:`12.5K`.
- pq - Pure Go Postgres driver for database/sql. Stars:`9.6K`.
-
NoSQL Database Drivers
- mgo - (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. Stars:`2.0K`.
- mongo-go-driver - Official MongoDB driver for the Go language. Stars:`8.4K`.
- qmgo - The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo. Stars:`1.3K`.
- redigo - Redigo is a Go client for the Redis database. Stars:`9.8K`.
- redis - Redis client for Golang. Stars:`21.6K`.
- gomemcache - memcache client library for the Go programming language. Stars:`1.8K`.
- gorethink - Go language driver for RethinkDB. Stars:`1.6K`.
-
Search and Analytic Databases
- elastic - Elasticsearch client for Go. Stars:`7.5K`.
- elasticsql - Convert sql to elasticsearch dsl in Go. Stars:`1.2K`.
- go-elasticsearch - Official Elasticsearch client for Go. Stars:`6.0K`.
- zoekt - Fast trigram based code search. Stars:`1.1K`.
- clickhouse-go - ClickHouse SQL client for Go with a `database/sql` compatibility. Stars:`3.2K`.
-
Interfaces to Multiple Backends
- cayley - Graph database with support for multiple backends. Stars:`15.0K`.
-
-
Distributed Systems
-
Search and Analytic Databases
- arpc - More effective network communication, support two-way-calling, notify, broadcast. Stars:`1.1K`.
- dragonboat - A feature complete and high performance multi-group Raft library in Go. Stars:`5.2K`.
- emitter-io - High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love. Stars:`4.0K`.
- evans - Evans: more expressive universal gRPC client. Stars:`4.4K`.
- gleam - 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. Stars:`3.5K`.
- glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. Stars:`3.2K`.
- 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. Stars:`1.2K`.
- go-kit - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. Stars:`27.4K`.
- go-micro - A distributed systems development framework. Stars:`22.5K`.
- grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC. Stars:`22.4K`.
- hprose - Very newbility RPC Library, support 25+ languages now. Stars:`1.3K`.
- Kitex - 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. Stars:`7.7K`.
- Kratos - A modular-designed and easy-to-use microservices framework in Go. Stars:`24.9K`.
- liftbridge - Lightweight, fault-tolerant message streams for NATS. Stars:`2.6K`.
- lura - Ultra performant API Gateway framework with middlewares. Stars:`6.6K`.
- raft - Golang implementation of the Raft consensus protocol, by HashiCorp. Stars:`8.8K`.
- rain - BitTorrent client and library. Stars:`1.1K`.
- redis-lock - Simplified distributed locking implementation using Redis. Stars:`1.7K`.
- rpcx - Distributed pluggable RPC service framework like alibaba Dubbo. Stars:`8.3K`.
- torrent - BitTorrent client package. Stars:`5.9K`.
- trpc-go - The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework. Stars:`1.0K`.
- NATS - NATS is a simple, secure, and Stars:`18.3K`.
- go-eagle - A Go framework for the API or Microservice with handy scaffolding tools. Stars:`2.4K`.
- K8gb - A cloud native Kubernetes Global Balancer. Stars:`1.1K`.
- mochi mqtt - Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub. Stars:`1.2K`.
- Dragonfly - 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. Stars:`2.8K`.
- go-zero - 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. Stars:`31.8K`.
- sponge - A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks. Stars:`2.5K`.
- micro - A distributed systems runtime for the cloud and beyond. Stars:`12.3K`.
-
-
Dynamic DNS
-
Search and Analytic Databases
- GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go. Stars:`1.6K`.
-
-
Embeddable Scripting Languages
-
Search and Analytic Databases
- anko - Scriptable interpreter written in Go. Stars:`1.5K`.
- cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing. Stars:`2.7K`.
- go-lua - Port of the Lua 5.2 VM to pure Go. Stars:`3.3K`.
- go-python - naive go bindings to the CPython C-API. Stars:`1.5K`.
- goja - ECMAScript 5.1(+) implementation in Go. Stars:`6.5K`.
- gopher-lua - Lua 5.1 VM and compiler written in Go. Stars:`6.7K`.
- metacall - Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more. Stars:`1.7K`.
- starlark-go - Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution. Stars:`2.5K`.
- tengo - Bytecode compiled script language for Go. Stars:`3.7K`.
- Wa/凹语言 - The Wa Programming Language embedded in Go. Stars:`1.6K`.
- FrankenPHP - PHP embedded in Go, with a `net/http` handler. Stars:`10.3K`.
- expr - Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing. Stars:`7.3K`.
-
-
Forms
-
Search and Analytic Databases
- gorilla/csrf - CSRF protection for Go web applications & services. Stars:`1.2K`.
- nosurf - CSRF protection middleware for Go. Stars:`1.7K`.
-
-
Functional
-
Search and Analytic Databases
- go-underscore - Useful collection of helpfully functional Go collection utilities. Stars:`1.3K`.
- mo - Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...). Stars:`3.1K`.
-
-
Game Development
-
Search and Analytic Databases
- Ebitengine - dead simple 2D game engine in Go. Stars:`12.5K`.
- engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. Stars:`1.8K`.
- g3n - Go 3D Game Engine. Stars:`3.0K`.
- go-sdl2 - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). Stars:`2.3K`.
- gonet - Game server skeleton implemented with golang. Stars:`1.3K`.
- goworld - Scalable game server engine, featuring space-entity framework and hot-swapping. Stars:`2.7K`.
- Leaf - Lightweight game server framework. Stars:`5.5K`.
- nano - Lightweight, facility, high performance golang based game server framework. Stars:`3.1K`.
- Oak - Pure Go game engine. Stars:`1.6K`.
- Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. Stars:`2.7K`.
- Pixel - Hand-crafted 2D game library in Go. Stars:`4.5K`.
- raylib-go - Go bindings for [raylib](https://www.raylib.com/), a simple and easy-to-use library to learn videogames programming. Stars:`2.2K`.
- termloop - Terminal-based game engine for Go, built on top of Termbox. Stars:`1.5K`.
-
-
Go Compilers
-
IoT (Internet of Things)
-
Search and Analytic Databases
- ekuiper - Lightweight data stream processing engine for IoT edge. Stars:`1.6K`.
- flogo - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration. Stars:`2.5K`.
- gatt - Gatt is a Go package for building Bluetooth Low Energy peripherals. Stars:`1.2K`.
- shifu - Kubernetes native IoT development framework. Stars:`1.4K`.
- rulego - RuleGo is a lightweight, high-performance, embedded, orchestrable component-based rule engine for IoT edge. Stars:`1.3K`.
- gobot - Gobot is a framework for robotics, physical computing, and the Internet of Things. Stars:`9.3K`.
-
-
Job Scheduler
-
Search and Analytic Databases
- go-quartz - Simple, zero-dependency scheduling library for Go. Stars:`2.0K`.
- gocron - Easy and fluent Go job scheduling. This is an actively maintained fork of [jasonlvhit/gocron](https://github.com/jasonlvhit/gocron). Stars:`6.6K`.
- gron - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly. Stars:`1.0K`.
- JobRunner - Smart and featureful cron job scheduler with job queuing and live monitoring built in. Stars:`1.1K`.
- Dagu - No-code workflow executor. it executes DAGs defined in a simple YAML format. Stars:`1.4K`.
-
-
Machine Learning
-
Search and Analytic Databases
- GoLearn - General Machine Learning library for Go. Stars:`9.4K`.
- goml - On-line Machine Learning in Go. Stars:`1.6K`.
- gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. Stars:`5.8K`.
- gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. Stars:`3.0K`.
- m2cgen - A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support. Stars:`2.9K`.
- tfgo - Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python. Stars:`2.5K`.
- gorse - An offline recommender system backend based on collaborative filtering written in Go. Stars:`8.9K`.
-
-
Microsoft Office
-
Search and Analytic Databases
- unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents. Stars:`4.7K`.
-
Microsoft Excel
-
-
Natural Language Processing
-
Morphological Analyzers
- spaGO - Self-contained Machine Learning and Natural Language Processing library in Go. Stars:`1.8K`.
-
Slugifiers
- slug - URL-friendly slugify with multiple languages support. Stars:`1.3K`.
-
Tokenizers
- gojieba - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm. Stars:`2.6K`.
- gse - Go efficient text segmentation; support english, chinese, japanese and other. Stars:`2.7K`.
- prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only. Stars:`3.1K`.
-
Translation
-
Language Detection
- lingua-go - An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text. Stars:`1.3K`.
-
-
OpenGL
-
Query Language
-
HTTP Clients
- dasel - Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies. Stars:`7.6K`.
- gojsonq - A simple Go package to Query over JSON Data. Stars:`2.2K`.
- gqlgen - go generate based graphql server library. Stars:`10.5K`.
- graphql-go - Implementation of GraphQL for Go. Stars:`10.1K`.
- graphql - GraphQL server with a focus on ease of use. Stars:`4.7K`.
-
-
Resource Embedding
-
HTTP Clients
-
-
Stream Processing
-
HTTP Clients
- go-streams - Go stream processing library. Stars:`2.1K`.
-
-
Text Processing
-
Formatters
- go-humanize - Formatters for time, numbers, and memory size to human readable format. Stars:`4.6K`.
- sq - Convert data from SQL databases or document formats like CSV or Excel into formats such as JSON, Excel, CSV, HTML, Markdown, XML, and YAML. Stars:`2.3K`.
-
Markup Languages
- blackfriday - Markdown processor in Go. Stars:`5.6K`.
- go-toml - Go library for the TOML format with query support and handy cli tools. Stars:`1.9K`.
- goldmark - A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured. Stars:`4.3K`.
- html-to-markdown - Convert HTML to Markdown. Even works with entire websites and can be extended through rules. Stars:`3.1K`.
- toml - TOML configuration format (encoder/decoder with reflection). Stars:`4.8K`.
-
Parsers/Encoders/Decoders
- gofeed - Parse RSS and Atom feeds in Go. Stars:`2.8K`.
- sh - Shell parser and formatter. Stars:`8.1K`.
- when - Natural EN and RU language date/time parser with pluggable rules. Stars:`1.4K`.
- go-querystring - Go library for encoding structs into URL query parameters. Stars:`2.1K`.
- godump (goforj) - Pretty-print Go structs with Laravel/Symfony-style dumps, full type info, colorized CLI output, cycle detection, and private field access. Stars:`1.3K`.
-
Sanitation
- bluemonday - HTML Sanitizer. Stars:`3.5K`.
-
Scrapers
-
Utility/Miscellaneous
- w2vgrep - A semantic grep tool using word embeddings to find semantically similar matches. For example, searching for "death" will find "dead", "killing", "murder". Stars:`1.2K`.
-
-
Data Integration Frameworks
-
Standard CLI
- omniparser - A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema. Stars:`1.1K`.
- Benthos - A message streaming bridge between a range of protocols. Stars:`8.5K`.
-
-
Editor Plugins
-
Routers
- vim-go - Go development plugin for Vim. Stars:`16.2K`.
- GoSublime - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features. Stars:`3.4K`.
- gocode - Autocompletion daemon for the Go programming language. Stars:`5.0K`.
- vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language. Stars:`4.1K`.
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting. Stars:`1.5K`.
- go-mode - Go mode for GNU/Emacs. Stars:`1.4K`.
-
-
Validation
-
Utility/Miscellaneous
- validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. Stars:`19.1K`.
- govalidator - Validators and sanitizers for strings, numerics, slices and structs. Stars:`6.2K`.
- 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. Stars:`4.0K`.
- validate - Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features. Stars:`1.1K`.
- govalidator - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. Stars:`1.3K`.
-
-
WebAssembly
-
Routers
- tinygo - Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. Stars:`16.7K`.
-
-
Actor Model
- ProtoActor - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin. Stars:`5.3K`.
- Ergo - An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Stars:`4.2K`.
- Hollywood - Blazingly fast and light-weight Actor engine written in Golang. Stars:`2.1K`.
-
Version Control
-
UUID
-
Utility/Miscellaneous
- uuid - Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. Stars:`5.8K`.
- xid - Xid is a globally unique id generator library, ready to be safely used directly in your server code. Stars:`4.2K`.
- ulid - Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier). Stars:`4.9K`.
- uuid - Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid. Stars:`1.7K`.
-
-
Gophers
-
Free e-books
- Free Gophers Pack - Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster. Stars:`3.8K`.
- gophers - Free gophers. Stars:`3.7K`.
- gophers - Gopher artworks by Ashley McNamara. Stars:`3.0K`.
-
-
Benchmarks
-
Other Software
- skynet - Skynet 1M threads microbenchmark. Stars:`1.1K`.
- go-http-routing-benchmark - Go HTTP request router benchmark and comparison. Stars:`1.7K`.
- go-web-framework-benchmark - Go web framework benchmark. Stars:`2.1K`.
- go_serialization_benchmarks - Benchmarks of Go serialization methods. Stars:`1.6K`.
-
-
Zero Trust
-
Routers
- OpenZiti - A full, open source zero trust overlay network. Including numerous SDKs for numerous languages such as [golang](https://github.com/openziti/sdk-golang) allowing you to embed zero trust principles directly into your applications. The [OpenZiti Test Kitchen](https://github.com/openziti-test-kitchen) has numerous examples to draw inspiration from including a [zero trust ssh client - zssh](https://github.com/openziti-test-kitchen/zssh) Stars:`3.6K`.
- Cosign - Container Signing, Verification and Storage in an OCI registry. Stars:`5.3K`.
- Spire - SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms. Stars:`2.1K`.
-
-
Video
-
Windows
-
Routers
- go-ole - Win32 OLE implementation for golang. Stars:`1.3K`.
-
-
Workflow Frameworks
-
Routers
- Dagu - No-code workflow executor. it executes DAGs defined in a simple YAML format. Stars:`2.6K`.
-
-
Audio and Music
- Oto - A low-level library to play sound on multiple platforms. Stars:`1.8K`.
Programming Languages
Categories
Software Packages
70
Database
64
Networking
39
Utilities
35
Command Line
31
Web Frameworks
30
Distributed Systems
29
Testing
27
Miscellaneous
25
Messaging
21
Images
19
Database Drivers
18
Server Applications
17
Text Processing
17
Authentication and Authorization
15
Third-party APIs
15
Websites
14
GUI
13
Game Development
13
Logging
12
Embeddable Scripting Languages
12
Security
12
Data Structures and Algorithms
12
ORM
12
Email
10
Configuration
9
Code Analysis
8
Package Management
8
Natural Language Processing
8
Machine Learning
7
Bot Building
7
Science and Data Analysis
7
Goroutines
7
Build Automation
6
Serialization
6
Editor Plugins
6
IoT (Internet of Things)
6
Error Handling
6
Blockchain
6
Template Engines
6
Validation
5
Job Scheduler
5
E-Books
5
Generators
5
Financial
5
Query Language
5
Style Guides
5
File Handling
4
JSON
4
UUID
4
Hardware
4
Benchmarks
4
Continuous Integration
4
Go Tools
4
Performance
4
Date and Time
4
Actor Model
3
Resource Embedding
3
Version Control
3
Artificial Intelligence
3
Gophers
3
Zero Trust
3
Microsoft Office
3
Functional
2
Go Generate Tools
2
Data Integration Frameworks
2
OpenGL
2
Video
2
Geographic
2
Forms
2
Go Compilers
2
Stream Processing
1
Workflow Frameworks
1
Windows
1
Webhooks Server
1
WebAssembly
1
Audio and Music
1
Dynamic DNS
1
Sub Categories
Search and Analytic Databases
201
HTTP Clients
92
Utility/Miscellaneous
84
DevOps Tools
42
Routers
32
Other Software
32
Databases Implemented in Go
32
Transliteration
30
Standard CLI
27
Advanced Console UIs
19
Free e-books
13
Testing Frameworks
12
Uncategorized
11
Tutorials
10
Caches
10
Database Schema Migration
10
Mock
9
Project Layout
8
NoSQL Database Drivers
7
Middlewares
6
SQL Query Builders
6
Database Tools
6
Parsers/Encoders/Decoders
5
Markup Languages
5
Relational Database Drivers
5
Dependency Injection
4
Selenium and browser control tools
4
Scrapers
3
Tokenizers
3
Reddit
3
Data Structure and Algorithm Collections
3
Bloom and Cuckoo Filters
3
Formatters
2
Fuzzing and delta-debugging/reducing/shrinking
2
Translation
2
Microsoft Excel
2
Strings
2
Language Detection
1
Bit-packing and Compression
1
Miscellaneous Data Structures and Algorithms
1
Sets
1
Interfaces to Multiple Backends
1
Text Analysis
1
Slugifiers
1
Queues
1
Sanitation
1
Morphological Analyzers
1
Bit Sets
1
Guided Learning
1
Keywords
go
365
golang
354
database
46
cli
34
kubernetes
27
http
26
docker
24
sql
24
mysql
23
golang-library
22
testing
19
distributed-systems
18
postgresql
18
framework
18
json
17
cloud-native
17
microservices
16
sqlite
16
security
16
devops
15
redis
15
microservice
15
grpc
14
performance
13
command-line
13
middleware
11
terminal
11
orm
11
machine-learning
10
web
10
rpc
10
server
10
mongodb
10
websocket
10
javascript
10
golang-application
9
concurrency
9
api
9
cache
9
postgres
9
automation
9
streaming
9
rest-api
8
fast
8
cncf
8
generics
8
tui
8
parser
8
ios
8
key-value
7