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: 4 days ago
JSON representation
-
Websites
-
Reddit
- awesome-awesomeness - List of other amazingly awesome lists. Stars:`32.9K`.
- Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers. Stars:`40.1K`.
- Go Projects - List of projects on the Go community wiki. Stars:`130.0K`.
-
Tutorials
- 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`.
- golang-examples - Many examples to learn Golang. Stars:`1.6K`.
- Build web application with Golang - Golang ebook intro how to build a web app with golang. Stars:`43.9K`.
- 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`.
- go-patterns - Curated list of Go design patterns, recipes and idioms. Stars:`26.9K`.
- Learn Go with TDD - Learn Go with test-driven development. Stars:`23.2K`.
- Learn Go with 1000+ Exercises - Learn Go with thousands of examples, exercises, and quizzes. Stars:`19.6K`.
-
Guided Learning
- The Go Interview Practice - A GitHub repository offering coding challenges for Go technical interview preparation. Stars:`1.3K`.
-
-
Job Scheduler
-
Search and Analytic Databases
- 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`.
- gocron - Easy and fluent Go job scheduling. This is an actively maintained fork of [jasonlvhit/gocron](https://github.com/jasonlvhit/gocron). Stars:`6.6K`.
- go-quartz - Simple, zero-dependency scheduling library for Go. Stars:`2.0K`.
- gron - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly. Stars:`1.0K`.
-
-
Server Applications
-
HTTP Clients
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. Stars:`2.9K`.
- Wish - Make SSH apps, just like that! Stars:`4.4K`.
- go-feature-flag - A simple, complete and lightweight self-hosted feature flag solution 100% Open Source. Stars:`1.8K`.
- jackal - An XMPP server written in Go. Stars:`1.4K`.
- 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`.
- etcd - Highly-available key value store for shared configuration and service discovery. Stars:`50.4K`.
- 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`.
- 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`.
- Fider - Fider is an open platform to collect and organize customer feedback. Stars:`3.8K`.
- devd - Local webserver for developers. Stars:`3.5K`.
- Flagr - Flagr is an open-source feature flagging and A/B testing service. Stars:`2.5K`.
- Trickster - HTTP reverse proxy cache and time series accelerator. Stars:`2.0K`.
- discovery - A registry for resilient mid-tier load balancing and failover. Stars:`1.8K`.
- 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`.
- RoadRunner - High-performance PHP application server, load-balancer and process manager. Stars:`8.3K`.
-
-
Text Processing
-
Parsers/Encoders/Decoders
- go-querystring - Go library for encoding structs into URL query parameters. Stars:`2.1K`.
- when - Natural EN and RU language date/time parser with pluggable rules. Stars:`1.4K`.
- 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`.
- sh - Shell parser and formatter. Stars:`8.1K`.
- gofeed - Parse RSS and Atom feeds in Go. Stars:`2.8K`.
-
Scrapers
-
Markup Languages
- blackfriday - Markdown processor in Go. Stars:`5.6K`.
- toml - TOML configuration format (encoder/decoder with reflection). Stars:`4.8K`.
- 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`.
- go-toml - Go library for the TOML format with query support and handy cli tools. Stars:`1.9K`.
-
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`.
-
Sanitation
- bluemonday - HTML Sanitizer. Stars:`3.5K`.
-
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`.
-
-
Web Frameworks
-
Utility/Miscellaneous
- Revel - High-productivity web framework for the Go language. Stars:`13.2K`.
- Echo - High performance, minimalist Go web framework. Stars:`31.6K`.
- Gizmo - Microservice toolkit used by the New York Times. Stars:`3.8K`.
- go-json-rest - Quick and easy way to setup a RESTful JSON API. Stars:`3.5K`.
- Macaron - Macaron is a high productive and modular design web framework in Go. Stars:`3.5K`.
- utron - Lightweight MVC framework for Go(Golang). Stars:`2.2K`.
- REST Layer - Framework to build REST/GraphQL API on top of databases with mostly configuration over code. Stars:`1.3K`.
- Fiber - An Express.js inspired web framework build on Fasthttp. Stars:`38.0K`.
- Hertz - A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices. Stars:`6.7K`.
- Goyave - Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities. Stars:`1.7K`.
- goravel - A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features. Stars:`4.1K`.
- Fuego - The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code. Stars:`1.5K`.
- 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`.
- Beego - beego is an open-source, high-performance web framework for the Go programming language. Stars:`32.3K`.
- GoFr - Gofr is an opinionated microservice development framework. Stars:`13.0K`.
- Goa - Goa provides a holistic approach for developing remote APIs and microservices in Go. Stars:`6.0K`.
- Atreugo - High performance and extensible micro web framework with zero memory allocations in hot paths. Stars:`1.3K`.
- GoFrame - GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. Stars:`12.8K`.
-
Middlewares
- negroni - Idiomatic HTTP middleware for Golang. Stars:`7.5K`.
- alice - Painless middleware chaining for Go. Stars:`3.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`.
- CORS - Easily add CORS capabilities to your API. Stars:`2.8K`.
- Limiter - Dead simple rate limit middleware for Go. Stars:`2.3K`.
-
Routers
- gocraft/web - Mux and middleware package in Go. Stars:`1.5K`.
- mux - Powerful URL router and dispatcher for golang. Stars:`21.6K`.
- chi - Small, fast and expressive HTTP router built on net/context. Stars:`20.6K`.
- httprouter - High performance router. Use this and the standard http handlers to form a very high performance web framework. Stars:`17.0K`.
- Bone - Lightning Fast HTTP Multiplexer. Stars:`1.3K`.
-
-
Style Guides
-
Free e-books
-
-
Actor Model
- Hollywood - Blazingly fast and light-weight Actor engine written in Golang. Stars:`2.1K`.
- 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`.
-
Build Automation
- mmake - Modern Make. Stars:`1.7K`.
- xc - Task runner with README.md defined tasks, executable markdown. Stars:`1.3K`.
- air - Air - Live reload for Go apps. Stars:`21.8K`.
- Task - simple "Make" alternative. Stars:`13.8K`.
- mage - Mage is a make/rake-like build tool using Go. Stars:`4.5K`.
- realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. Stars:`4.5K`.
-
Database
-
Databases Implemented in Go
- godis - A Golang implemented high-performance Redis server and cluster. Stars:`3.8K`.
- dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database. Stars:`21.3K`.
- dolt - Dolt – It's Git for Data. Stars:`19.1K`.
- rqlite - The lightweight, distributed, relational database built on SQLite. Stars:`17.0K`.
- 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`.
- 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`.
- goleveldb - Implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in Go. Stars:`6.3K`.
- ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB. Stars:`4.1K`.
- column - High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions. Stars:`1.5K`.
- diskv - Home-grown disk-backed key-value store. Stars:`1.4K`.
- Milvus - Milvus is a vector database for embedding management, analytics and search. Stars:`37.7K`.
- influxdb - Scalable datastore for metrics, events, and real-time analytics. Stars:`30.7K`.
- 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`.
- cockroach - Scalable, Geo-Replicated, Transactional Datastore. Stars:`31.3K`.
- pebble - RocksDB/LevelDB inspired key-value database in Go. Stars:`5.5K`.
- buntdb - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. Stars:`4.8K`.
- redka - Redis re-implemented with SQLite. Stars:`4.2K`.
- LinDB - LinDB is a scalable, high performance, high availability distributed time series database. Stars:`3.0K`.
- tiedot - Your NoSQL database powered by Golang. Stars:`2.7K`.
- lotusdb - Fast k/v database compatible with lsm and b+tree. Stars:`2.2K`.
- prometheus - Monitoring system and time series database. Stars:`60.5K`.
- bbolt - An embedded key/value database for Go. Stars:`9.1K`.
- tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1. Stars:`39.1K`.
- badger - Fast key-value store in Go. Stars:`15.0K`.
- CovenantSQL - CovenantSQL is a SQL database on blockchain. Stars:`1.5K`.
- pogreb - Embedded key-value store for read-heavy workloads. Stars:`1.4K`.
- objectbox-go - High-performance embedded Object Database (NoSQL) with Go API. Stars:`1.2K`.
- moss - Moss is a simple LSM key-value storage engine written in 100% Go. Stars:`1.0K`.
- immudb - immudb is a lightweight, high-speed immutable database for systems and applications written in Go. Stars:`8.8K`.
- eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. Stars:`1.0K`.
-
Caches
- otter - A high performance lockless cache for Go. Many times faster than Ristretto and friends. Stars:`2.3K`.
- gocache - A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more. Stars:`2.8K`.
- GCache - Cache library with support for expirable Cache, LFU, LRU and ARC. Stars:`2.7K`.
- 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`.
- sturdyc - A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant. Stars:`1.2K`.
- ttlcache - An in-memory cache with item expiration and generics. Stars:`1.2K`.
- groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. Stars:`13.3K`.
- BigCache - Efficient key/value cache for gigabytes of data. Stars:`8.0K`.
- ristretto - A high performance memory-bound Go cache. Stars:`6.5K`.
-
Database Schema Migration
- dbmate - A lightweight, framework-agnostic database migration tool. Stars:`6.4K`.
- sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata. Stars:`3.4K`.
- gormigrate - Database schema migration helper for Gorm ORM. Stars:`1.1K`.
- goavro - A Go package that encodes and decodes Avro data. Stars:`1.0K`.
- migrate - Database migrations. CLI and Golang library. Stars:`17.4K`.
- bytebase - Safe database schema change and version control for DevOps teams. Stars:`13.0K`.
- goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. Stars:`9.2K`.
- skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. Stars:`1.3K`.
- atlas - A Database Toolkit. A CLI designed to help companies better work with their data. Stars:`7.4K`.
-
Database Tools
- pgweb - Web-based PostgreSQL database browser. Stars:`9.0K`.
- go-mysql - Go toolset to handle MySQL protocol and replication. Stars:`4.8K`.
- pREST - Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new. Stars:`4.4K`.
- vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. Stars:`20.2K`.
- pg_timetable - Advanced scheduling for PostgreSQL. Stars:`1.2K`.
-
SQL Query Builders
- Squirrel - Go library that helps you build SQL queries. Stars:`7.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`.
- goqu - Idiomatic SQL builder and query library. Stars:`2.6K`.
- gendry - Non-invasive SQL builder and powerful data binder. Stars:`1.6K`.
-
-
File Handling
-
Search and Analytic Databases
- gdu - Disk usage analyzer with console interface. Stars:`4.8K`.
- afero - FileSystem Abstraction System for Go. Stars:`6.4K`.
- go-wkhtmltopdf - A package to convert an HTML template to a PDF file. Stars:`1.2K`.
- pdfcpu - PDF processor. Stars:`8.0K`.
-
-
Financial
-
Search and Analytic Databases
- decimal - Arbitrary-precision fixed-point decimal numbers. Stars:`7.0K`.
- ticker - Terminal stock watcher and stock position tracker. Stars:`5.5K`.
- go-money - Implementation of Fowler's Money pattern. Stars:`1.8K`.
- 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`.
- ledger - A programmable financial ledger that provides a foundation for money-moving applications. Stars:`1.0K`.
-
-
GUI
-
Search and Analytic Databases
- systray - Cross platform Go library to place an icon and menu in the notification area. Stars:`3.6K`.
- qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi). Stars:`10.7K`.
- app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress. Stars:`8.8K`.
- ui - Platform-native GUI library for Go. Cross platform. Stars:`8.4K`.
- walk - Windows application library kit for Go. Stars:`7.0K`.
- 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`.
- Spot - Reactive, cross-platform desktop GUI toolkit. Stars:`1.2K`.
- webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux). Stars:`13.4K`.
- fyne - Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. Stars:`27.2K`.
- Cogent Core - A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web. Stars:`2.1K`.
- robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other. Stars:`10.4K`.
-
-
Hardware
-
Search and Analytic Databases
- arduino-cli - Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects. Stars:`4.7K`.
- go-rpio - GPIO for Go, doesn't require cgo. Stars:`2.3K`.
- ghw - Golang hardware discovery/inspection library. Stars:`1.8K`.
- emgo - Go-like language for programming embedded systems (e.g. STM32 MCU). Stars:`1.1K`.
-
-
Images
-
Search and Analytic Databases
- gocv - Go package for computer vision using OpenCV 3.3+. Stars:`7.2K`.
- imagor - Fast, secure image processing server and Go library, using libvips. Stars:`3.8K`.
- picfit - An image resizing server written in Go. Stars:`2.3K`.
- 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`.
- pt - Path tracing engine written in Go. Stars:`2.1K`.
- imagick - Go binding to ImageMagick's MagickWand C API. Stars:`1.8K`.
- gift - Package of image processing filters. Stars:`1.8K`.
- canvas - Vector graphics to PDF, SVG or rasterized image. Stars:`1.6K`.
- govips - A lightning fast image processing and resizing library for Go. Stars:`1.5K`.
- geopattern - Create beautiful generative image patterns from a string. Stars:`1.3K`.
- stegify - Go tool for LSB steganography, capable of hiding any file within an image. Stars:`1.2K`.
- imaginary - Fast and simple HTTP microservice for image resizing. Stars:`5.9K`.
- imaging - Simple Go image processing package. Stars:`5.6K`.
- gg - 2D rendering in pure Go. Stars:`4.7K`.
- gowitness - Screenshoting webpages using go and headless chrome on command line. Stars:`3.9K`.
- ln - 3D line art rendering in Go. Stars:`3.3K`.
- bimg - Small package for fast and efficient image processing using libvips. Stars:`2.9K`.
- svgo - Go Language Library for SVG generation. Stars:`2.2K`.
-
-
IoT (Internet of Things)
-
Search and Analytic Databases
- ekuiper - Lightweight data stream processing engine for IoT edge. Stars:`1.6K`.
- shifu - Kubernetes native IoT development framework. Stars:`1.4K`.
- gatt - Gatt is a Go package for building Bluetooth Low Energy peripherals. Stars:`1.2K`.
- flogo - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration. Stars:`2.5K`.
- 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`.
-
-
Messaging
-
Search and Analytic Databases
- Asynq - A simple, reliable, and efficient distributed task queue for Go built on top of Redis. Stars:`12.0K`.
- amqp - Go RabbitMQ Client Library. Stars:`1.9K`.
- 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`.
- 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`.
- Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices. Stars:`1.6K`.
- go-nsq - the official Go package for NSQ. Stars:`2.6K`.
- gopush-cluster - gopush-cluster is a go push server cluster. Stars:`2.1K`.
- EventBus - The lightweight event bus with async compatibility. Stars:`1.9K`.
- Chanify - A push notification server send message to your iOS devices. Stars:`1.3K`.
- go-socket.io - socket.io library for golang, a realtime application framework. Stars:`5.8K`.
- dbus - Native Go bindings for D-Bus. Stars:`1.1K`.
- sarama - Go library for Apache Kafka. Stars:`12.2K`.
- 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`.
- Centrifugo - Real-time messaging (Websockets or SockJS) server in Go. Stars:`9.3K`.
- machinery - Asynchronous task queue/job queue based on distributed message passing. Stars:`7.8K`.
- Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). Stars:`5.1K`.
- Confluent Kafka Golang Client - confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform. Stars:`5.0K`.
- melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling. Stars:`4.0K`.
- APNs2 - HTTP/2 Apple Push Notification provider for Go - Send push notifications to iOS, tvOS, Safari and OSX apps. Stars:`3.1K`.
- gorush - Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). Stars:`8.5K`.
- NATS Go Client - Go client for the NATS Stars:`6.2K`.
-
-
Natural Language Processing
-
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`.
-
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
- prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only. Stars:`3.1K`.
- gse - Go efficient text segmentation; support english, chinese, japanese and other. Stars:`2.7K`.
- gojieba - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm. Stars:`2.6K`.
-
Translation
-
-
Networking
-
Transliteration
- cloudflared - Cloudflare Tunnel client (formerly Argo Tunnel). Stars:`11.6K`.
- fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http. Stars:`23.0K`.
- kcptun - Extremely simple & fast udp tunnel based on KCP protocol. Stars:`14.3K`.
- quic-go - An implementation of the QUIC protocol in pure Go. Stars:`11.0K`.
- gnet - `gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go. Stars:`10.8K`.
- GoProxy - A library to create a customized HTTP/HTTPS proxy server using Go. Stars:`6.5K`.
- kcp-go - KCP - Fast and Reliable ARQ Protocol. Stars:`4.3K`.
- sdns - A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy. Stars:`1.0K`.
- dns - Go library for working with DNS. Stars:`8.5K`.
- 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`.
- grab - Go package for managing file downloads. Stars:`1.5K`.
- gopacket - Go library for packet processing with libpcap bindings. Stars:`6.6K`.
- netpoll - A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance. Stars:`4.4K`.
- tun2socks - A pure go implementation of tun2socks powered by [gVisor](https://gvisor.dev/) TCP/IP stack. Stars:`4.2K`.
- HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses. Stars:`4.1K`.
- ssh - Higher-level API for building SSH servers (wraps crypto/ssh). Stars:`4.0K`.
- gobgp - BGP implemented in the Go Programming Language. Stars:`3.9K`.
- 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`.
- 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`.
- water - Simple TUN/TAP library. Stars:`2.1K`.
- go-getter - Go library for downloading files or directories from various sources using a URL. Stars:`1.8K`.
- gev - gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Stars:`1.8K`.
- gws - High-Performance WebSocket Server & Client With AsyncIO Supporting . Stars:`1.6K`.
- mdns - Simple mDNS (Multicast DNS) client/server library in Golang. Stars:`1.3K`.
- NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF). Stars:`1.4K`.
- ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). Stars:`1.4K`.
- 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`.
- gosnmp - Native Go library for performing SNMP actions. Stars:`1.2K`.
- gmqtt - Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1. Stars:`1.0K`.
-
HTTP Clients
- resty - Simple HTTP and REST client for Go inspired by Ruby rest-client. Stars:`11.2K`.
- req - Simple Go HTTP client with Black Magic (Less code and More efficiency). Stars:`4.6K`.
- go-retryablehttp - Retryable HTTP client in Go. Stars:`2.2K`.
- grequests - A Go "clone" of the great and famous Requests library. Stars:`2.2K`.
- sling - Sling is a Go HTTP client library for creating and sending API requests. Stars:`1.7K`.
- 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`.
- tls-client - net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests. Stars:`1.3K`.
- gentleman - Full-featured plugin-driven HTTP client library. Stars:`1.1K`.
-
-
ORM
-
HTTP Clients
- SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. Stars:`6.9K`.
- bun - SQL-first Golang ORM. Successor of go-pg. Stars:`4.4K`.
- gorp - Go Relational Persistence, ORM-ish library for Go. Stars:`3.8K`.
- gormt - Mysql database to golang gorm struct. Stars:`2.4K`.
- reform - Better ORM for Go, based on non-empty interfaces and code generation. Stars:`1.4K`.
- GORM - The fantastic ORM library for Golang, aims to be developer friendly. Stars:`38.9K`.
- upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. Stars:`3.6K`.
- Prisma - Prisma Client Go, Typesafe database access for Go. Stars:`2.3K`.
- 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`.
- ent - An entity framework for Go. Simple, yet powerful ORM for modeling and querying data. Stars:`16.6K`.
- pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. Stars:`1.5K`.
-
-
Security
-
HTTP Clients
- lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt). Stars:`8.9K`.
- memguard - A pure Go library for handling sensitive values in memory. Stars:`2.7K`.
- acmetool - ACME (Let's Encrypt) client tool with automatic renewal. Stars:`2.1K`.
- beelzebub - A secure low code honeypot framework, leveraging AI for System Virtualization. Stars:`1.5K`.
- acra - Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system. Stars:`1.4K`.
- secure - HTTP middleware for Go that facilitates some quick security wins. Stars:`2.3K`.
- 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`.
- dongle - A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption. Stars:`1.0K`.
- 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`.
- CertMagic - Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal. Stars:`5.3K`.
- 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`.
-
-
Testing
-
Testing Frameworks
- 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`.
- embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test. Stars:`1.0K`.
- GoConvey - BDD-style framework with web UI and live reload. Stars:`8.4K`.
- go-cmp - Package for comparing Go values in tests. Stars:`4.5K`.
- 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`.
- httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing. Stars:`2.7K`.
- godog - Cucumber BDD framework for Go. Stars:`2.5K`.
- is - Professional lightweight testing mini-framework for Go. Stars:`1.9K`.
- gnomock - integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks. Stars:`1.5K`.
- go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests. Stars:`1.3K`.
- testfixtures - A helper for Rails' like test fixtures to test database applications. Stars:`1.2K`.
-
Mock
- gomock - Mocking framework for the Go programming language. Stars:`9.3K`.
- gomock - Mocking framework for the Go programming language. Stars:`3.1K`.
- mockery - Tool to generate Go interfaces. Stars:`6.8K`.
- go-sqlmock - Mock SQL driver for testing database interactions. Stars:`6.5K`.
- gock - Versatile HTTP mocking made easy. Stars:`2.2K`.
- 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`.
- 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`.
- counterfeiter - Tool for generating self-contained mock objects. Stars:`1.1K`.
-
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`.
-
Fuzzing and delta-debugging/reducing/shrinking
-
-
Third-party APIs
-
Utility/Miscellaneous
- github - Go library for accessing the GitHub REST API v3. Stars:`11.0K`.
- go-openai - OpenAI ChatGPT, DALL·E, Whisper API library for Go. Stars:`10.3K`.
- go-twitter - Go client library for the Twitter v1.1 APIs. Stars:`1.6K`.
- go-jira - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) Stars:`1.6K`.
- facebook - Go Library that supports the Facebook Graph API. Stars:`1.4K`.
- anaconda - Go client library for the Twitter 1.1 API. Stars:`1.1K`.
- webhooks - Webhook receiver for GitHub and Bitbucket. Stars:`1.0K`.
- discordgo - Go bindings for the Discord Chat API. Stars:`5.6K`.
- slack - Slack API in Go. Stars:`4.8K`.
- aws-sdk-go - The official AWS SDK for the Go programming language. Stars:`3.3K`.
- minio-go - Minio Go Library for Amazon S3 compatible cloud storage. Stars:`2.8K`.
- stripe - Go client for the Stripe API. Stars:`2.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`.
- govalidator - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. Stars:`1.3K`.
- 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`.
-
-
Version Control
-
Editor Plugins
-
Routers
- go-mode - Go mode for GNU/Emacs. Stars:`1.4K`.
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting. Stars:`1.5K`.
- gocode - Autocompletion daemon for the Go programming language. Stars:`5.0K`.
- vim-go - Go development plugin for Vim. Stars:`16.2K`.
- vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language. Stars:`4.1K`.
- GoSublime - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features. Stars:`3.4K`.
-
-
Command Line
-
Advanced Console UIs
- bubbletea - Go framework to build terminal apps, based on The Elm Architecture. Stars:`35.3K`.
- fx - Terminal JSON viewer & processor. Stars:`19.9K`.
- termui - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). Stars:`13.4K`.
- termdash - Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui). Stars:`2.9K`.
- go-prompt - Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit). Stars:`5.4K`.
- pterm - A library to beautify console output on every platform with many combinable components. Stars:`5.3K`.
- termbox-go - Termbox is a library for creating cross-platform text-based interfaces. Stars:`4.7K`.
- spinner - Go package to easily provide a terminal spinner with options. Stars:`2.5K`.
- mpb - Multi progress bar for terminal applications. Stars:`2.4K`.
- gocui - Minimalist Go library aimed at creating Console User Interfaces. Stars:`10.4K`.
- progressbar - Basic thread-safe progress bar that works in every OS. Stars:`4.5K`.
- asciigraph - Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. Stars:`2.9K`.
- uiprogress - Flexible library to render progress bars in terminal applications. Stars:`2.1K`.
- termenv - Advanced ANSI style & color support for your terminal applications. Stars:`1.9K`.
- uilive - Library for updating terminal output in real time. Stars:`1.7K`.
- gookit/color - Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows. Stars:`1.6K`.
- aurora - ANSI terminal colors that support fmt.Printf/Sprintf. Stars:`1.5K`.
- lipgloss - Declaratively define styles for color, format and layout in the terminal. Stars:`9.7K`.
- bubbles - TUI components for bubbletea. Stars:`7.0K`.
-
Standard CLI
- mitchellh/cli - Go library for implementing command-line interfaces. Stars:`1.7K`.
- pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. Stars:`2.6K`.
- liner - Go readline-like library for command-line interfaces. Stars:`1.1K`.
- cobra - Commander for modern Go CLI interactions. Stars:`42.0K`.
- urfave/cli - Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). Stars:`23.5K`.
- elvish - An expressive programming language and a versatile interactive shell. Stars:`6.1K`.
- Dnote - A simple command line notebook with multi-device sync. Stars:`2.9K`.
- go-flags - go command line option parser. Stars:`2.7K`.
- go-arg - Struct-based argument parsing in Go. Stars:`2.2K`.
- ops - Unikernel Builder/Orchestrator. Stars:`1.4K`.
- kingpin - Command line and flag parser supporting sub commands (superseded by `kong`; see below). Stars:`3.5K`.
- carapace-bin - Multi-shell multi-command argument completer. Stars:`1.5K`.
-
-
Continuous Integration
-
Standard CLI
- 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`.
- CDS - Enterprise-Grade CI/CD and DevOps Automation Open Source Platform. Stars:`4.8K`.
-
-
Data Structures and Algorithms
-
Data Structure and Algorithm Collections
- gostl - Data structure and algorithm library for go, designed to provide functions similar to C++ STL. Stars:`1.1K`.
- gods - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. Stars:`17.2K`.
- go-datastructures - Collection of useful, performant, and thread-safe data structures. Stars:`7.8K`.
-
Bit Sets
- bitset - Go package implementing bitsets. Stars:`1.5K`.
-
Bit-packing and Compression
- roaring - Go package implementing compressed bitsets. Stars:`2.8K`.
-
Bloom and Cuckoo Filters
- bloom - Go package implementing Bloom filters. Stars:`2.7K`.
- cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. Stars:`1.2K`.
- boomfilters - Probabilistic data structures for processing continuous, unbounded streams. Stars:`1.6K`.
-
Miscellaneous Data Structures and Algorithms
- gota - Implementation of dataframes, series, and data wrangling methods for Go. Stars:`3.2K`.
-
Text Analysis
- bleve - Modern text indexing library for go. Stars:`10.6K`.
-
Queues
- hatchet - Distributed, Fault-tolerant task queue. Stars:`6.1K`.
-
Sets
- golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go. Stars:`4.6K`.
-
-
Distributed Systems
-
Search and Analytic Databases
- 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`.
- emitter-io - High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love. Stars:`4.0K`.
- go-eagle - A Go framework for the API or Microservice with handy scaffolding tools. Stars:`2.4K`.
- mochi mqtt - Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub. Stars:`1.2K`.
- micro - A distributed systems runtime for the cloud and beyond. Stars:`12.3K`.
- go-kit - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. Stars:`27.4K`.
- Kratos - A modular-designed and easy-to-use microservices framework in Go. Stars:`24.9K`.
- 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`.
- arpc - More effective network communication, support two-way-calling, notify, broadcast. Stars:`1.1K`.
- trpc-go - The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework. Stars:`1.0K`.
- K8gb - A cloud native Kubernetes Global Balancer. Stars:`1.1K`.
- raft - Golang implementation of the Raft consensus protocol, by HashiCorp. Stars:`8.8K`.
- rpcx - Distributed pluggable RPC service framework like alibaba Dubbo. Stars:`8.3K`.
- torrent - BitTorrent client package. Stars:`5.9K`.
- redis-lock - Simplified distributed locking implementation using Redis. Stars:`1.7K`.
- 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`.
- NATS - NATS is a simple, secure, and Stars:`18.3K`.
- lura - Ultra performant API Gateway framework with middlewares. Stars:`6.6K`.
- hprose - Very newbility RPC Library, support 25+ languages now. Stars:`1.3K`.
- 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`.
- 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`.
- dragonboat - A feature complete and high performance multi-group Raft library in Go. Stars:`5.2K`.
- evans - Evans: more expressive universal gRPC client. Stars:`4.4K`.
- 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`.
- liftbridge - Lightweight, fault-tolerant message streams for NATS. Stars:`2.6K`.
- rain - BitTorrent client and library. Stars:`1.1K`.
-
-
Email
-
Search and Analytic Databases
- Mailpit - Email and SMTP testing tool for developers. Stars:`7.8K`.
- Maddy - All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server Stars:`5.7K`.
- mox - Modern full-featured secure mail server for low-maintenance, self-hosted email. Stars:`5.2K`.
- 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`.
- go-imap - IMAP library for clients and servers. Stars:`2.2K`.
- email-verifier - A Go library for email verification without sending any emails. Stars:`1.4K`.
- go-mail - A simple Go library for sending mails in Go. Stars:`1.1K`.
- SendGrid - SendGrid's Go library for sending email. Stars:`1.0K`.
-
-
Game Development
-
Search and Analytic Databases
- nano - Lightweight, facility, high performance golang based game server framework. Stars:`3.1K`.
- Pixel - Hand-crafted 2D game library in Go. Stars:`4.5K`.
- Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. Stars:`2.7K`.
- Ebitengine - dead simple 2D game engine in Go. Stars:`12.5K`.
- Leaf - Lightweight game server framework. Stars:`5.5K`.
- goworld - Scalable game server engine, featuring space-entity framework and hot-swapping. Stars:`2.7K`.
- go-sdl2 - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). Stars:`2.3K`.
- raylib-go - Go bindings for [raylib](https://www.raylib.com/), a simple and easy-to-use library to learn videogames programming. Stars:`2.2K`.
- engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. Stars:`1.8K`.
- Oak - Pure Go game engine. Stars:`1.6K`.
- termloop - Terminal-based game engine for Go, built on top of Termbox. Stars:`1.5K`.
- gonet - Game server skeleton implemented with golang. Stars:`1.3K`.
- g3n - Go 3D Game Engine. Stars:`3.0K`.
-
-
Miscellaneous
-
Project Layout
- nunu - Nunu is a scaffolding tool for building Go applications. Stars:`2.4K`.
- go-blueprint - Allows users to spin up a quick Go project using a popular framework. Stars:`8.2K`.
- ardanlabs/service - A [starter kit](https://github.com/ardanlabs/service/wiki) for building production grade scalable web service applications. Stars:`3.9K`.
- modern-go-application - Go application boilerplate and example applying modern practices. Stars:`1.9K`.
- goxygen - Generate a modern Web project with Go and Angular, React, or Vue in seconds. Stars:`3.6K`.
- pagoda - Rapid, easy full-stack web development starter kit built in Go. Stars:`2.8K`.
- goapp - An opinionated guideline to structure & develop a Go web application/service. Stars:`1.0K`.
- 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`.
-
Uncategorized
- archiver - Library and command for making and extracting .zip and .tar.gz archives. Stars:`4.4K`.
- base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha. Stars:`2.3K`.
- 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`.
- gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). Stars:`11.5K`.
- gofakeit - Random data generator written in go. Stars:`5.2K`.
- go-resiliency - Resiliency patterns for golang. Stars:`2.3K`.
- 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`.
- gatus - Automated service health dashboard. Stars:`8.6K`.
- go-commons-pool - Generic object pool for Golang. Stars:`1.2K`.
-
Strings
-
Dependency Injection
- google/wire - Automated Initialization in Go. Stars:`14.0K`.
- 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`.
- dig - A reflection based dependency injection toolkit for Go. Stars:`4.3K`.
-
-
Utilities
-
Utility/Miscellaneous
- godropbox - Common libraries for writing Go services/applications from Dropbox. Stars:`4.2K`.
- hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. Stars:`4.3K`.
- fzf - Command-line fuzzy finder written in Go. Stars:`74.0K`.
- 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`.
- Failsafe-go - Fault tolerance and resilience patterns for Go. Stars:`1.9K`.
- jump - Jump helps you navigate faster by learning your habits. Stars:`1.9K`.
- 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`.
- sesh - Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide. Stars:`1.3K`.
- dive - A tool for exploring each layer in a Docker image. Stars:`52.1K`.
- lo - A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...) Stars:`20.2K`.
- sqlx - provides a set of extensions on top of the excellent built-in database/sql package. Stars:`17.2K`.
- ctop - [Top-like](https://ctop.sh) interface (e.g. htop) for container metrics. Stars:`16.9K`.
- goreleaser - Deliver Go binaries as fast and easily as possible. Stars:`15.1K`.
- wuzz - Interactive cli tool for HTTP inspection. Stars:`10.7K`.
- usql - usql is a universal command-line interface for SQL databases. Stars:`9.5K`.
- peco - Simplistic interactive filtering tool. Stars:`7.8K`.
- lancet - A comprehensive, efficient, and reusable util function library of go. Stars:`5.2K`.
- goreporter - Golang tool that does static analysis, unit testing, code review and generate code quality report. Stars:`3.1K`.
- filetype - Small package to infer the file type checking the magic numbers signature. Stars:`2.2K`.
- boilr - Blazingly fast CLI tool for creating projects from boilerplate templates. Stars:`1.7K`.
- mole - cli app to easily create ssh tunnels. Stars:`1.7K`.
- gitbatch - manage your git repositories in one place. Stars:`1.6K`.
- scany - Library for scanning data from a database into Go structs and more. Stars:`1.5K`.
- bed - A Vim-like binary editor written in Go. Stars:`1.3K`.
- retry-go - Simple library for retry mechanism. Stars:`2.8K`.
- 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`.
- circuitbreaker - Circuit Breakers in Go. Stars:`1.2K`.
- go-funk - Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...). Stars:`4.9K`.
- minify - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. Stars:`4.0K`.
- panicparse - Groups similar goroutines and colorizes stack dump. Stars:`3.7K`.
- mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. Stars:`3.2K`.
- Storm - Simple and powerful toolkit for BoltDB. Stars:`2.1K`.
-
-
Code Analysis
-
Routers
- golangci-lint
- gcvis - Visualise Go program GC trace data in real time. Stars:`1.1K`.
- go-critic - source code linter that brings checks that are currently not implemented in other linters. Stars:`2.0K`.
- golines - Formatter that automatically shortens long lines in Go code. Stars:`1.1K`.
- revive - in replacement for `golint`. Stars:`5.3K`.
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs. Stars:`2.4K`.
- GoPlantUML - Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them. Stars:`2.1K`.
- 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`.
-
-
Bot Building
- 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`.
- telegram-bot-api - Simple and clean Telegram bot client. Stars:`6.1K`.
- 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`.
- bot - Zero-dependencies Telegram Bot library with additional UI components Stars:`1.4K`.
- telebot - Telegram bot framework is written in Go. Stars:`4.4K`.
-
Date and Time
-
Search and Analytic Databases
- carbon - A simple, semantic and developer-friendly golang package for datetime. Stars:`4.9K`.
- now - Now is a time toolkit for golang. Stars:`4.6K`.
- dateparse - Parse date's without knowing format in advance. Stars:`2.1K`.
- carbon - A simple, semantic and developer-friendly time package for golang. Stars:`5.1K`.
-
-
Database Drivers
-
NoSQL Database Drivers
- qmgo - The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo. Stars:`1.3K`.
- 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`.
- 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`.
- redigo - Redigo is a Go client for the Redis database. Stars:`9.8K`.
- mongo-go-driver - Official MongoDB driver for the Go language. Stars:`8.4K`.
-
Relational Database Drivers
- 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`.
- go-sqlite3 - SQLite3 driver for go that uses database/sql. Stars:`8.7K`.
- go-mssqldb - Microsoft MSSQL driver for Go. Stars:`1.9K`.
- go-sql-driver/mysql - MySQL driver for Go. Stars:`15.1K`.
-
Search and Analytic Databases
- go-elasticsearch - Official Elasticsearch client for Go. Stars:`6.0K`.
- elasticsql - Convert sql to elasticsearch dsl in Go. Stars:`1.2K`.
- clickhouse-go - ClickHouse SQL client for Go with a `database/sql` compatibility. Stars:`3.2K`.
- zoekt - Fast trigram based code search. Stars:`1.1K`.
- elastic - Elasticsearch client for Go. Stars:`7.5K`.
-
-
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`.
- govendor - Go Package Manager. Go vendor tool that works with the standard vendor file. Stars:`4.9K`.
- gopm - Go Package Manager. Stars:`2.5K`.
- gom - Go Manager - bundle for go. Stars:`1.4K`.
- 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`.
-
-
Resource Embedding
-
HTTP Clients
-
-
Template Engines
-
HTTP Clients
- sprig - Useful template functions for Go templates. Stars:`4.1K`.
- templ - A HTML templating language that has great developer tooling. Stars:`9.7K`.
- pongo2 - Django-like template-engine for Go. Stars:`3.0K`.
- 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`.
- jet - Jet template engine. Stars:`1.4K`.
-
-
UUID
-
Utility/Miscellaneous
- 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`.
- uuid - Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. Stars:`5.8K`.
-
-
Video
-
Go Generate Tools
-
Software Packages
-
DevOps Tools
- gox - Dead simple, no frills Go cross compile tool. Stars:`4.6K`.
- goxc - build tool for Go, with a focus on cross-compiling and packaging. Stars:`1.7K`.
- kubernetes - Container Cluster Manager from Google. Stars:`117.7K`.
- Gitea - Fork of Gogs, entirely community driven. Stars:`50.9K`.
- Moby - Collaborative project for the container ecosystem to assemble container-based systems. Stars:`70.8K`.
- k3s - Lightweight Kubernetes. Stars:`30.9K`.
- Vegeta - HTTP load testing tool and library. It's over 9000! Stars:`24.6K`.
- Hey - Hey is a tiny program that sends some load to a web application. Stars:`19.3K`.
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. Stars:`15.5K`.
- 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`.
- GVM - GVM provides an interface to manage Go versions. Stars:`11.3K`.
- Ddosify - High-performance load testing tool, written in Golang. Stars:`8.5K`.
- ko - Command line tool for building and deploying Go applications on Kubernetes Stars:`8.1K`.
- KubeVela - Cloud native application delivery. Stars:`7.5K`.
- k3d - Little helper to run CNCF's k3s in Docker. Stars:`6.0K`.
- ghorg - Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket. Stars:`1.8K`.
- s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. Stars:`1.1K`.
- 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`.
- fac - Command-line user interface to fix git merge conflicts. Stars:`1.9K`.
- PipeCD - A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications. Stars:`1.2K`.
- Fleet device management - Lightweight, programmable telemetry for servers and workstations. Stars:`5.6K`.
- traefik - Reverse proxy and load balancer with support for multiple backends. Stars:`56.8K`.
- k6 - A modern load testing tool, using Go and JavaScript. Stars:`28.8K`.
- Flannel - Flannel is a network fabric for containers, designed for Kubernetes. Stars:`9.3K`.
- gaia - Build powerful pipelines in any programming language. Stars:`5.2K`.
- Pomerium - Pomerium is an identity-aware access proxy. Stars:`4.5K`.
- s5cmd - Blazing fast S3 and local filesystem execution tool. Stars:`3.6K`.
- bosun - Time Series Alerting Framework. Stars:`3.4K`.
- aptly - aptly is a Debian repository management tool. Stars:`2.7K`.
- kubeblocks - KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s. Stars:`2.8K`.
- kala - Simplistic, modern, and performant job scheduler. Stars:`2.2K`.
- minikube - Run Kubernetes locally. Stars:`31.0K`.
- 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`.
- uTask - Automation engine that models and executes business processes declared in yaml. Stars:`1.3K`.
- KubeVPN - KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network. Stars:`1.2K`.
- script - Making it easy to write shell-like scripts in Go for DevOps and system administration tasks. Stars:`6.8K`.
- bombardier - Fast cross-platform HTTP benchmarking tool. Stars:`6.6K`.
- 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`.
- go-selfupdate - Enable your Go applications to self update. Stars:`1.6K`.
- tlm - Local cli copilot, powered by CodeLLaMa Stars:`1.5K`.
- KusionStack - A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach. Stars:`1.2K`.
-
Other Software
- JuiceFS - Distributed POSIX file system built on top of Redis and AWS S3. Stars:`12.2K`.
- LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE. Stars:`7.7K`.
- scc - Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates. Stars:`7.7K`.
- nes - Nintendo Entertainment System (NES) emulator written in Go. Stars:`5.6K`.
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. Stars:`2.5K`.
- 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`.
- Comcast - Simulate bad network connections. Stars:`10.5K`.
- vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. Stars:`1.1K`.
- restic - De-duplicating backup program. Stars:`30.1K`.
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek. Stars:`25.9K`.
- drive - Google Drive client for the commandline. Stars:`6.7K`.
- Duplicacy - A cross-platform network and cloud backup tool based on the idea of lock-free deduplication. Stars:`5.5K`.
- myLG - Command Line Network Diagnostic tool written in Go. Stars:`2.7K`.
- GoBoy - Nintendo Game Boy Color emulator written in Go. Stars:`2.6K`.
- 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`.
- croc - Easily and securely send files or folders from one computer to another. Stars:`31.1K`.
- toxiproxy - Proxy to simulate network and system conditions for automated tests. Stars:`11.6K`.
- confd - Manage local application configuration files using templates and data from etcd or consul. Stars:`8.4K`.
- blocky - Fast and lightweight DNS proxy as ad-blocker for local network with many features. Stars:`5.6K`.
- portal - Portal is a quick and easy command-line file transfer utility from any computer to another. Stars:`1.7K`.
- 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`.
- sonic - Sonic is a Go Blogging Platform. Simple and Powerful. Stars:`2.1K`.
- shell2http - Executing shell commands via http server (for prototyping or remote control). Stars:`1.4K`.
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. Stars:`1.1K`.
-
-
Configuration
-
Standard CLI
- godotenv - Go port of Ruby's dotenv library (Loads environment variables from `.env`). Stars:`9.8K`.
- sonic - A blazingly fast JSON serializing & deserializing library. Stars:`8.7K`.
- env - Parse environment variables to Go structs (with defaults). Stars:`5.8K`.
- kelseyhightower/envconfig - Go library for managing configuration data from environment variables. Stars:`5.3K`.
- ini - Go package to read and write INI files. Stars:`3.5K`.
- 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`.
- cleanenv - Minimalistic configuration reader (from files, ENV, and wherever you want). Stars:`1.9K`.
- viper - Go configuration with fangs. Stars:`29.3K`.
-
-
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`.
-
-
Embeddable Scripting Languages
-
Search and Analytic Databases
- cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing. Stars:`2.7K`.
- anko - Scriptable interpreter written in Go. Stars:`1.5K`.
- FrankenPHP - PHP embedded in Go, with a `net/http` handler. Stars:`10.3K`.
- gopher-lua - Lua 5.1 VM and compiler written in Go. Stars:`6.7K`.
- goja - ECMAScript 5.1(+) implementation in Go. Stars:`6.5K`.
- tengo - Bytecode compiled script language for Go. Stars:`3.7K`.
- go-lua - Port of the Lua 5.2 VM to pure Go. Stars:`3.3K`.
- Wa/凹语言 - The Wa Programming Language embedded in Go. Stars:`1.6K`.
- go-python - naive go bindings to the CPython C-API. Stars:`1.5K`.
- starlark-go - Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution. Stars:`2.5K`.
- metacall - Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more. Stars:`1.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`.
- tracerr - Golang errors with stack trace and source fragments. Stars:`1.1K`.
- go-multierror - Go (golang) package for representing a list of errors as a single error. Stars:`2.5K`.
- multierr - Package for representing a list of errors as a single error. Stars:`1.2K`.
-
-
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`.
-
-
Performance
-
HTTP Clients
-
-
Query Language
-
HTTP Clients
- gqlgen - go generate based graphql server library. Stars:`10.5K`.
- graphql-go - Implementation of GraphQL for Go. Stars:`10.1K`.
- gojsonq - A simple Go package to Query over JSON Data. Stars:`2.2K`.
- 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`.
- graphql - GraphQL server with a focus on ease of use. Stars:`4.7K`.
-
-
Science and Data Analysis
-
HTTP Clients
- 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`.
- stats - Statistics package with common functions missing from the Golang standard library. Stars:`3.0K`.
- gonum/plot - gonum/plot provides an API for building and drawing plots in Go. Stars:`2.9K`.
- streamtools - general purpose, graphical tool for dealing with streams of data. Stars:`1.3K`.
- dataframe-go - Dataframes for machine-learning and statistics (similar to pandas). Stars:`1.3K`.
- orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support. Stars:`1.0K`.
- gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more. Stars:`1.9K`.
-
-
Serialization
-
HTTP Clients
- 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`.
- goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. Stars:`10.0K`.
- gogoprotobuf - Protocol Buffers for Go with Gadgets. Stars:`5.7K`.
- 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`.
-
-
Stream Processing
-
HTTP Clients
- go-streams - Go stream processing library. Stars:`2.1K`.
-
-
WebAssembly
-
Routers
- tinygo - Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. Stars:`16.7K`.
-
-
Go Tools
-
Routers
- OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub. Stars:`5.3K`.
- 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`.
-
-
Benchmarks
-
Other Software
- go_serialization_benchmarks - Benchmarks of Go serialization methods. Stars:`1.6K`.
- go-web-framework-benchmark - Go web framework benchmark. Stars:`2.1K`.
- go-http-routing-benchmark - Go HTTP request router benchmark and comparison. Stars:`1.7K`.
- skynet - Skynet 1M threads microbenchmark. Stars:`1.1K`.
-
-
Gophers
-
Free e-books
- gophers - Gopher artworks by Ashley McNamara. Stars:`3.0K`.
- 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`.
-
-
Artificial Intelligence
- langchaingo - LangChainGo is a framework for developing applications powered by language models. Stars:`7.7K`.
- LocalAI - Open Source OpenAI alternative, self-host AI models. Stars:`35.5K`.
-
Authentication and Authorization
- casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC. Stars:`19.2K`.
- scs - Session Manager for HTTP servers. Stars:`2.4K`.
- jwx - Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies Stars:`2.2K`.
- 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`.
- 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`.
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang. Stars:`1.6K`.
- 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`.
- osin - Golang OAuth2 server library. Stars:`1.9K`.
- loginsrv - JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam. Stars:`1.9K`.
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers. Stars:`1.9K`.
- oidc - Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation Stars:`1.7K`.
- goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box. Stars:`6.2K`.
- spicedb - A Zanzibar-inspired database that enables fine-grained authorization. Stars:`6.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`.
-
Blockchain
- 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`.
- solana-go - Go library to interface with Solana JSON RPC and WebSocket interfaces. Stars:`1.4K`.
- 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`.
- lnd - A complete implementation of a Lightning Network node. Stars:`8.0K`.
- cosmos-sdk - A Framework for Building Public Blockchains in the Cosmos Ecosystem. Stars:`6.8K`.
-
Dynamic DNS
-
Search and Analytic Databases
- GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go. Stars:`1.6K`.
-
-
Go Compilers
-
Logging
-
Search and Analytic Databases
- spew - Implements a deep pretty printer for Go data structures to aid in debugging. Stars:`6.3K`.
- lumberjack - Simple rolling logger, implements io.WriteCloser. Stars:`5.3K`.
- glog - Leveled execution logs for Go. Stars:`3.6K`.
- pp - Colored pretty printer for Go language. Stars:`2.0K`.
- tail - Go package striving to emulate the features of the BSD tail program. Stars:`2.8K`.
- logrus - Structured logger for Go. Stars:`25.5K`.
- zap - Fast, structured, leveled logging in Go. Stars:`23.7K`.
- zerolog - Zero-allocation JSON logger. Stars:`11.8K`.
- seelog - Logging functionality with flexible dispatching, filtering, and formatting. Stars:`1.6K`.
- log - Structured logging package for Go. Stars:`1.4K`.
- tint - A slog.Handler that writes tinted logs. Stars:`1.1K`.
- log15 - Simple, powerful logging for Go. Stars:`1.1K`.
-
-
Machine Learning
-
Search and Analytic Databases
- 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`.
- gorse - An offline recommender system backend based on collaborative filtering written in Go. Stars:`8.9K`.
- GoLearn - General Machine Learning library for Go. Stars:`9.4K`.
- gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. Stars:`5.8K`.
- 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`.
- goml - On-line Machine Learning in Go. Stars:`1.6K`.
-
-
Windows
-
Routers
- go-ole - Win32 OLE implementation for golang. Stars:`1.3K`.
-
-
Goroutines
-
Search and Analytic Databases
- pond - Minimalistic and High-performance goroutine worker pool written in Go. Stars:`2.0K`.
- 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`.
- tunny - Goroutine pool for golang. Stars:`4.0K`.
- goworker - goworker is a Go-based background worker. Stars:`2.8K`.
- rill - Go toolkit for clean, composable, channel-based concurrency. Stars:`1.8K`.
- workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued. Stars:`1.4K`.
-
-
Microsoft Office
-
Microsoft Excel
-
Search and Analytic Databases
- unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents. Stars:`4.7K`.
-
-
Forms
-
Search and Analytic Databases
- nosurf - CSRF protection middleware for Go. Stars:`1.7K`.
- gorilla/csrf - CSRF protection for Go web applications & services. Stars:`1.2K`.
-
-
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`.
-
-
JSON
-
Search and Analytic Databases
- GJSON - Get a JSON value with one line of code. Stars:`15.2K`.
- 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`.
- fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection. Stars:`2.4K`.
-
-
OpenGL
-
Functional
-
Search and Analytic Databases
- mo - Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...). Stars:`3.1K`.
- go-underscore - Useful collection of helpfully functional Go collection utilities. Stars:`1.3K`.
-
-
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`.
-
-
E-Books
-
Free e-books
- Go AST Book (Chinese) - A book focusing on Go `go/*` packages. Stars:`5.5K`.
- GoBooks - A curated list of Go books. Stars:`18.6K`.
- The Golang Standard Library by Example (Chinese)
- The Little Go Book
-
-
Webhooks Server
-
Routers
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. Stars:`11.2K`.
-
Programming Languages
Categories
Software Packages
68
Database
59
Networking
38
Utilities
33
Command Line
31
Web Frameworks
29
Distributed Systems
29
Testing
26
Miscellaneous
25
Messaging
21
Images
19
Server Applications
17
Database Drivers
17
Text Processing
16
Authentication and Authorization
15
Websites
14
GUI
13
Game Development
13
Data Structures and Algorithms
12
ORM
12
Logging
12
Security
12
Third-party APIs
12
Embeddable Scripting Languages
11
Email
10
Configuration
9
Package Management
8
Code Analysis
8
Natural Language Processing
8
Bot Building
7
Machine Learning
7
Goroutines
7
Science and Data Analysis
7
Editor Plugins
6
Template Engines
6
IoT (Internet of Things)
6
Error Handling
6
Serialization
6
Blockchain
6
Build Automation
6
Validation
5
Job Scheduler
5
Financial
5
Query Language
5
Style Guides
5
Generators
4
File Handling
4
E-Books
4
JSON
4
UUID
4
Hardware
4
Benchmarks
4
Date and Time
4
Performance
4
Continuous Integration
3
Actor Model
3
Resource Embedding
3
Go Tools
3
Gophers
3
Version Control
3
Zero Trust
3
Microsoft Office
3
Functional
2
Go Generate Tools
2
Data Integration Frameworks
2
OpenGL
2
Forms
2
Video
2
Geographic
2
Artificial Intelligence
2
Go Compilers
2
Stream Processing
1
Dynamic DNS
1
Windows
1
Webhooks Server
1
WebAssembly
1
Sub Categories
Search and Analytic Databases
199
HTTP Clients
92
Utility/Miscellaneous
78
DevOps Tools
42
Databases Implemented in Go
31
Other Software
30
Routers
30
Transliteration
29
Standard CLI
26
Advanced Console UIs
19
Free e-books
12
Testing Frameworks
12
Uncategorized
11
Caches
10
Tutorials
10
Mock
9
Database Schema Migration
9
Project Layout
8
NoSQL Database Drivers
7
Middlewares
6
Markup Languages
5
Relational Database Drivers
5
Database Tools
5
Parsers/Encoders/Decoders
5
Dependency Injection
4
SQL Query Builders
4
Reddit
3
Tokenizers
3
Bloom and Cuckoo Filters
3
Data Structure and Algorithm Collections
3
Selenium and browser control tools
3
Fuzzing and delta-debugging/reducing/shrinking
2
Microsoft Excel
2
Strings
2
Scrapers
2
Translation
2
Formatters
2
Slugifiers
1
Sets
1
Bit Sets
1
Sanitation
1
Miscellaneous Data Structures and Algorithms
1
Queues
1
Morphological Analyzers
1
Text Analysis
1
Bit-packing and Compression
1
Language Detection
1
Guided Learning
1
Keywords
go
367
golang
358
database
47
cli
34
kubernetes
28
http
26
docker
25
sql
24
mysql
24
golang-library
22
postgresql
19
testing
19
distributed-systems
18
framework
18
json
17
cloud-native
17
sqlite
16
microservices
16
security
16
redis
15
microservice
15
devops
14
grpc
14
command-line
13
performance
12
orm
12
middleware
11
terminal
11
web
10
websocket
10
rpc
10
automation
10
postgres
10
server
10
javascript
10
machine-learning
10
mongodb
10
streaming
9
golang-application
9
concurrency
9
api
9
parser
8
cncf
8
rest-api
8
fast
8
ios
8
tui
8
cache
8
generics
8
gui
7