❗WARNING: The English list is likely to lag behind the Chinese one. If you want a guarantee of the latest content, please visit the Chinese list.
-
- Audio & Music
- Authentication & OAuth
- Command Line
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Structures
- Database
- Database Drivers
- Date & Time
- Distributed Systems
- Embeddable Scripting Languages
- Financial
- Forms
- Game Development
- Generation & Generics
- Goroutines
- GUI
- Hardware
- Images
- Logging
- Machine Learning
- Messaging
- Miscellaneous
- Natural Language Processing
- Networking
- OpenGL
- ORM
- Package Management
- Pool
- Resource Embedding
- Science and Data Analysis
- Security
- Serialization
- Template Engines
- Testing
- Text Processing
- Third-party APIs
- Utilities
- Validation
- Version Control
- Video
- Web Frameworks
- Windows
Libraries for manipulating audio.
Libraries for implementing authentications schemes.
Libraries for building standard or basic Command Line applications
Libraries for building Console Applications and Console User Interfaces
- gcli Go CLI application, tool library, running CLI commands, support console color, user interaction, progress display, data formatting display, generate bash/zsh completion add more features.
Libraries for configuration parsing
- ini: Go INI config management. support multi file load, data override merge. parse ENV variable, parse variable reference.
Tools for help with continuous integration
- Cyclone: A cloud native CI/CD platform built for container workflow, written in Go, powered by @caicloud.
Libraries for preprocessing CSS files
Generic datastructures and algorithms in Go.
- go-tagexpr: An interesting go struct tag expression syntax for field validation, etc.
Databases implemented in Go.
- CovenantSQL:A decentralized, crowdsourcing SQL database on blockchain.
- DTM:A distributed transaction management system. Idempotency is ensured by sdk elegantly. Multi language supported.
- Godis: A Golang implemented high-performance Redis server and cluster.
- LedisDB:A high performance NoSQL like Redis powered by Go.
- Tedis: A TiKV-based NoSQL database with strong consistency and compatibility with Redis protocol.
- TiDB:A distributed HTAP database compatible with the MySQL protocol.
- NutsDB: 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. Database tools.
SQL query builder, libraries for building and using SQL.
Libraries for connecting and operating databases.
-
Relational Databases
-
NoSQL Databases
-
Search and Analytic Databases
Libraries for working with dates and times.
Packages that help with building Distributed Systems.
- GoFrame: A modular, powerful, high-performance and enterprise-class application development framework of Golang. I providing a series of core components and dozens of practical modules.
- Kratos Kratos is a lightweight, customizable, cloud native microservice framework, which offers convenient capabilities to help you quickly build a bulletproof application from scratch。
Libraries that implement email creation and sending
Embedding other languages inside your go code
Packages for accounting and finance
Libraries for working with forms.
Awesome game development libraries.
Tools to enhance the language with features like generics via code generation
Tools for managing and working with Goroutines.
- ants: A high-performance goroutine pool in Go.
Libraries for building GUI Applications
Libraries, tools, and tutorials for interacting with hardware.
Libraries for manipulating images.
Libraries for generating and working with log files.
Libraries for Machine Learning.
- gorse: A High Performance Recommender System Package based on Collaborative Filtering for Go.
Libraries that implement messaging systems
These libraries were placed here because none of the other categories seemed to fit
Libraries for working with human languages.
Libraries for working with various layers of the network
- gnet: A high-performance, lightweight, nonblocking, event-loop networking library written in pure Go.
- Kube-OVN: An OVN-based Kubernetes Network Fabric for Enterprises.
- Pholcus: Pholcus is a distributed, high concurrency and powerful web crawler software.
- Surfer: Package surfer is a high level concurrency http client. It has surf andphantom download engines, highly simulated browser behavior, the function of analog login and so on.
- Tao: Asynchronous TCP framework.
- Teleport: Teleport is a versatile, high-performance and flexible TCP socket framework. It can be used for peer-peer, rpc, gateway, micro services, push services, game services and so on.
Libraries for using OpenGL in Go.
- GORM: The fantastic ORM library for Golang, aims to be developer friendly.
Libraries for package and dependency management.
General object pool.
- go-commons-pool:a Go generic object pool, direct translate from Apache Commons Pool,support rich pool configuration option.
Libraries for scientific computing and data analyzing.
Libraries that are used to help make your application more secure.
Libraries and tools for binary serialization
- Ran: a simple static web server which support digest authentication, gzip compression and TLS encryption.
Libraries and tools for templating and lexing.
Libraries for testing codebases and generating test data.
-
Testing Frameworks
-
Mock
-
Fuzzing and delta-debugging/reducing/shrinking
Libraries for parsing and manipulating texts.
- Specific Formats
Libraries for accessing third party APIs.
General utilities and tools to make your life easier.
- g: Golang version manager.
- soar: A tool, which can help SQL optimization and rewrite. It's developed and maintained by the DBA Team of Xiaomi AI&Cloud.
- tsdump: Database table structure dump tool.
Libraries for validation.
Libraries for version control.
Libraries for manipulating video.
- lal:Golang audio/video live streaming library/client/server. support RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket[s]-FLV/TS, H264/H265/AAC, relay, cluster, record, HTTP API/Notify.
Full stack web frameworks.
- Beego:Beego is an HTTP framework for rapid development of Go applications. It can be used to develop APIs, web apps and backend services quickly. It is a RESTful framework. It has the ease of use, intelligent, modular , high-performance characteristics.
- Faygo:Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct Handler, Faygo will automatically bind/verify the request parameters and generate the online API doc.
- Gin-X Gin template, more components to improve development efficiency.
- Gin Metrics:A middleware based on Gin that is responsible for exposing the requested logs to Metrics, showing it in Grafana after being crawled by Prometheus. In less than 10 minutes, a monitoring system can be built on the original architecture.
- Gaea: A MySQL proxy, it's developed by XiaoMi b2c-systech team.
Web-oriented routers.
- Gorouter: Gorouter is a simple and fast HTTP router for Go. It is easy to build RESTful APIs and your web framework.
Go software and plugins.
- go-checkstyle checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, [golint] (https://github.com/golang/lint). The style refered to some points in Go Code Review Comments.
- go-redis-memory-analysis 🔎 Analyzing memory of redis is to find the keys(prefix) which used a lot of memory, export the analysis result into csv file.
Software written in Go.
- Gebug - A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
- http-log-exporter - A Prometheus exporter for nginx、gin HTTP log, support histogram and exemplar configuration.
Where to discover new Go libraries.