Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

zero-alloc-awesome-go

Zero Allocation Golang Packages / Stuff
https://github.com/cloudxaas/zero-alloc-awesome-go

  • scache - LRU SCache with in mem, mmap features
  • fastcache - fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
  • ants - A high-performance and low-cost goroutine pool in Go.
  • zerolog - Zero-allocation JSON logger.
  • bayesian - Naive Bayesian Classification for Golang.
  • CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
  • ddt - Dynamic decision tree, create trees defining customizable rules.
  • eaopt - An evolutionary optimization library.
  • evoli - Genetic Algorithm and Particle Swarm Optimization library.
  • fonet - A Deep Neural Network library written in Go.
  • go-cluster - Go implementation of the k-modes and k-prototypes clustering algorithms.
  • go-deep - A feature-rich neural network library in Go.
  • go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library.
  • go-featureprocessing - Fast and convenient feature processing for low latency machine learning in Go.
  • go-galib - Genetic Algorithms library written in Go / golang.
  • go-pr - Pattern recognition package in Go lang.
  • gobrain - Neural Networks written in go.
  • godist - Various probability distributions, and associated methods.
  • goga - Genetic algorithm library for Go.
  • GoLearn - General Machine Learning library for Go.
  • golinear - liblinear bindings for Go.
  • GoMind - A simplistic Neural Network Library in Go.
  • goml - On-line Machine Learning in Go.
  • gonet - Neural Network for Go.
  • Goptuna - Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
  • goRecommend - Recommendation Algorithms library written in Go.
  • gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
  • gorse - An offline recommender system backend based on collaborative filtering written in Go.
  • goscore - Go Scoring API for PMML.
  • gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
  • libsvm - libsvm golang version derived work based on LIBSVM 3.14.
  • 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.
  • neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
  • neural-go - Multilayer perceptron network implemented in Go, with training via backpropagation.
  • ocrserver - A simple OCR API server, seriously easy to be deployed by Docker and Heroku.
  • onnx-go - Go Interface to Open Neural Network Exchange (ONNX).
  • probab - Probability distribution functions. Bayesian inference. Written in pure Go.
  • randomforest - Easy to use Random Forest library for Go.
  • regommend - Recommendation & collaborative filtering engine.
  • shield - Bayesian text classifier with flexible tokenizers and storage backends for Go.
  • 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.
  • Varis - Golang Neural Network.
  • ami - Go client to reliable queues based on Redis Cluster Streams.
  • amqp - Go RabbitMQ Client Library.
  • APNs2 - HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps.
  • Asynq - A simple, reliable, and efficient distributed task queue for Go built on top of Redis.
  • Beaver - A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
  • Benthos - A message streaming bridge between a range of protocols.
  • Bus - Minimalist message bus implementation for internal communication.
  • Centrifugo - Real-time messaging (Websockets or SockJS) server in Go.
  • Chanify - A push notification server send message to your iOS devices.
  • Commander - A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
  • Confluent Kafka Golang Client - confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform.
  • dbus - Native Go bindings for D-Bus.
  • drone-line - Sending [Line](https://at.line.me/en) notifications using a binary, docker or Drone CI.
  • emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
  • event - Implementation of the pattern observer.
  • EventBus - The lightweight event bus with async compatibility.
  • gaurun-client - Gaurun Client written in Go.
  • Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io).
  • go-mq - RabbitMQ client with declarative configuration.
  • go-notify - Native implementation of the freedesktop notification spec.
  • go-nsq - the official Go package for NSQ.
  • go-res - Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.
  • go-socket.io - socket.io library for golang, a realtime application framework.
  • go-vitotrol - Client library to Viessmann Vitotrol web service.
  • Gollum - A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
  • golongpoll - HTTP longpoll server library that makes web pub-sub simple.
  • gopush-cluster - gopush-cluster is a go push server cluster.
  • gorush - Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm).
  • gosd - A library for scheduling when to dispatch a message to a channel.
  • guble - Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
  • hare - A user friendly library for sending messages and listening to TCP sockets.
  • hub - A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
  • jazz - A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
  • machinery - Asynchronous task queue/job queue based on distributed message passing.
  • mangos - Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability.
  • melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
  • Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
  • messagebus - messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
  • mob - mob is a generic-based, simple mediator / event aggregator library. It supports in-process requests / events processing.
  • NATS Go Client - Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
  • nsq-event-bus - A tiny wrapper around NSQ topic and channel.
  • oplog - Generic oplog/replication system for REST APIs.
  • pubsub - Simple pubsub package for go.
  • Quamina - Fast pattern-matching for filtering messages and events.
  • rabbus - A tiny wrapper over amqp exchanges and queues.
  • rabtap - RabbitMQ swiss army knife cli app.
  • RapidMQ - RapidMQ is a lightweight and reliable library for managing of the local messages queue.
  • Ratus - Ratus is a RESTful asynchronous task queue server.
  • redisqueue - redisqueue provides a producer and consumer of a queue that uses Redis streams.
  • rmqconn - RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
  • sarama - Go library for Apache Kafka.
  • Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices.
  • 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.
  • 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).
  • unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
  • excelize - Golang library for reading and writing Microsoft Excel™ (XLSX) files.
  • exl - Excel binding to struct written in Go.(Only supports Go1.18+)
  • go-excel - A simple and light reader to read a relate-db-like excel as a table.
  • goxlsxwriter - Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.
  • xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
  • xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
  • alice - Additive dependency injection container for Golang.
  • di - A dependency injection container for go programming language.
  • dig - A reflection based dependency injection toolkit for Go.
  • dingo - A dependency injection toolkit for Go, based on Guice.
  • do - A dependency injection framework based on Generics.
  • fx - A dependency injection based application framework for Go (built on top of dig).
  • gocontainer - Simple Dependency Injection Container.
  • goioc/di - Spring-inspired Dependency Injection Container.
  • GoLobby/Container - GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language.
  • google/wire - Automated Initialization in Go.
  • HnH/di - DI container library that is focused on clean API and flexibility.
  • kinit - Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization.
  • linker - A reflection based dependency injection and inversion of control library with components lifecycle support.
  • nject - A type safe, reflective framework for libraries, tests, http endpoints, and service startup.
  • wire - Strict Runtime Dependency Injection for Golang.
  • ardanlabs/service - A [starter kit](https://github.com/ardanlabs/service/wiki) for building production grade scalable web service applications.
  • cookiecutter-golang - A Go application boilerplate template for quick starting projects following production best practices.
  • go-module - Template for a typical module written on Go.
  • go-sample - A sample layout for Go application projects with the real code.
  • go-starter - An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers.
  • go-todo-backend - Go Todo Backend example using modular project layout for product microservice.
  • gobase - A simple skeleton for golang application with basic setup for real golang application.
  • 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.
  • golang-templates/seed - Go application GitHub repository template.
  • insidieux/inizio - Golang project layout generator with plugins.
  • modern-go-application - Go application boilerplate and example applying modern practices.
  • pagoda - Rapid, easy full-stack web development starter kit built in Go.
  • scaffold - Scaffold generates a starter Go project layout. Lets you focus on business logic implemented.
  • wangyoucao577/go-project-layout - Set of practices and discussions on how to structure Go project layout.
  • bexp - Go implementation of Brace Expansion mechanism to generate arbitrary strings.
  • caps - A case conversion library.
  • go-formatter - Implements **replacement fields** surrounded by curly braces `{}` format strings.
  • gobeam/Stringy - String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.
  • strutil - String utilities.
  • sttr - cross-platform, cli app to perform various operations on string.
  • xstrings - Collection of useful string functions ported from other languages.
  • anagent - Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
  • antch - A fast, powerful and extensible web crawling & scraping framework.
  • archiver - Library and command for making and extracting .zip and .tar.gz archives.
  • autoflags - Go package to automatically define command line flags from struct fields.
  • avgRating - Calculate average score and rating based on Wilson Score Equation.
  • banner - Add beautiful banners into your Go applications.
  • base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
  • basexx - Convert to, from, and between digit strings in various number bases.
  • battery - Cross-platform, normalized battery information library.
  • bitio - Highly optimized bit-level Reader and Writer for Go.
  • browscap_go - GoLang Library for [Browser Capabilities Project](https://browscap.org/).
  • captcha - Package captcha provides an easy to use, unopinionated API for captcha generation.
  • common - A library for server framework.
  • conv - Package conv provides fast and intuitive conversions across Go types.
  • datacounter - Go counters for readers/writer/http.ResponseWriter.
  • faker - Fake data generator.
  • faker - Fake data generator.
  • ffmt - Beautify data display for Humans.
  • gatus - Automated service health dashboard.
  • go-commandbus - A slight and pluggable command-bus for Go.
  • go-commons-pool - Generic object pool for Golang.
  • go-openapi - Collection of packages to parse and utilize open-api schemas.
  • go-resiliency - Resiliency patterns for golang.
  • go-unarr - Decompression library for RAR, TAR, ZIP and 7z archives.
  • gofakeit - Random data generator written in go.
  • gommit - Analyze git commit messages to ensure they follow defined patterns.
  • gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
  • gosh - Provide Go Statistics Handler, Struct, Measure Method.
  • gosms - Your own local SMS gateway in Go that can be used to send SMS.
  • gotoprom - Type-safe metrics builder wrapper library for the official Prometheus client.
  • gountries - Package that exposes country and subdivision data.
  • gtree - Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically.
  • health - A simple and flexible health check library for Go.
  • health - A simple and flexible health check library for Go.
  • healthcheck - An opinionated and concurrent health-check HTTP handler for RESTful services.
  • hostutils - A golang library for packing and unpacking FQDNs list.
  • indigo - Distributed unique ID generator of using Sonyflake and encoded by Base58.
  • lk - A simple licensing library for golang.
  • llvm - Library for interacting with LLVM IR in pure Go.
  • metrics - Library for metrics instrumentation and Prometheus exposition.
  • morse - Library to convert to and from morse code.
  • numa - NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
  • openapi - OpenAPI 3.x parser.
  • pdfgen - HTTP service to generate PDF from Json requests.
  • persian - Some utilities for Persian language in go.
  • sandid - Every grain of sand on earth has its own ID.
  • shellwords - A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
  • shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs.
  • shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others.
  • sitemap-format - A simple sitemap generator, with a little syntactic sugar.
  • stateless - A fluent library for creating state machines.
  • stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
  • turtle - Emojis for Go.
  • url-shortener - A modern, powerful, and robust URL shortener microservice with mysql support.
  • VarHandler - Generate boilerplate http input and output handling.
  • varint - A faster varying length integer encoder/decoder than the one provided in the standard library.
  • xdg - FreeDesktop.org (xdg) Specs implemented in Go.
  • xkg - X Keyboard Grabber.
  • xz - Pure golang package for reading and writing xz-compressed files.
  • detectlanguage - Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.
  • getlang - Fast natural language detection package.
  • guesslanguage - Functions to determine the natural language of a unicode text.
  • whatlanggo - Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
  • go-stem - Implementation of the porter stemming algorithm.
  • go2vec - Reader and utility functions for word2vec embeddings.
  • golibstemmer - Go bindings for the snowball libstemmer library including porter 2.
  • gosentiwordnet - Sentiment analyzer using sentiwordnet lexicon in Go.
  • govader - Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment).
  • govader-backend - Microservice implementation of [GoVader](https://github.com/jonreiter/govader).
  • kagome - JP morphological analyzer written in pure Go.
  • libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
  • nlp - Extract values from strings and fill your structs with nlp.
  • nlp - Extract values from strings and fill your structs with nlp.
  • paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
  • porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
  • porter2 - Really fast Porter 2 stemmer.
  • RAKE.go - Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
  • snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).
  • spaGO - Self-contained Machine Learning and Natural Language Processing library in Go.
  • spelling-corrector - A spelling corrector for the Spanish language or create your own.
  • go-slugify - Make pretty slug with multiple languages support.
  • slug - URL-friendly slugify with multiple languages support.
  • Slugify - Go slugify application that handles string.
  • gojieba - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm.
  • gotokenizer - A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
  • gse - Go efficient text segmentation; support english, chinese, japanese and other.
  • MMSEGO - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm.
  • prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
  • segment - Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/)
  • sentences - Sentence tokenizer: converts text into a list of sentences.
  • shamoji - The shamoji is word filtering package written in Go.
  • stemmer - Stemmer packages for Go programming language. Includes English and German stemmers.
  • textcat - Go package for n-gram based text categorization, with support for utf-8 and raw text.
  • go-i18n - Package and an accompanying tool to work with localized text.
  • go-localize - Simple and easy to use i18n (Internationalization and localization) engine - used for translating locale strings.
  • go-mystem - CGo bindings to Yandex.Mystem - russian morphology analyzer.
  • go-pinyin - CN Hanzi to Hanyu Pinyin converter.
  • gotext - GNU gettext utilities for Go.
  • icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
  • iuliia-go - Transliterate Cyrillic → Latin in every possible way.
  • spreak - Flexible translation and humanization library for Go, based on the concepts behind gettext.
  • t - Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: `t.T (gettext)`, `t.N (ngettext)`, etc. And it contains a cmd tool [xtemplate](https://github.com/youthlin/t/blob/main/cmd/xtemplate), which can extract messages as a pot file from text/html template.
  • enca - Minimal cgo bindings for [libenca](https://cihar.com/software/enca/), which detects character encodings.
  • go-unidecode - ASCII transliterations of Unicode text.
  • gounidecode - Unicode transliterator (also known as unidecode) for Go.
  • transliterator - Provides one-way string transliteration with supporting of language-specific transliteration rules.
  • arp - Package arp implements the ARP protocol, as described in RFC 826.
  • buffstreams - Streaming protocolbuffer data over TCP made easy.
  • canopus - CoAP Client/Server implementation (RFC 7252).
  • cidranger - Fast IP to CIDR lookup for Go.
  • dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
  • dns - Go library for working with DNS.
  • dnsmonster - Passive DNS Capture/Monitoring Framework.
  • easytcp - A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
  • ether - Cross-platform Go package for sending and receiving ethernet frames.
  • ethernet - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
  • fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
  • 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.
  • ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959).
  • ftpserverlib - Fully featured FTP server library.
  • fullproxy - A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols.
  • gaio - High performance async-io networking for Golang in proactor mode.
  • gev - gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.
  • gldap - gldap provides an ldap server implementation and you provide handlers for its ldap operations.
  • gmqtt - Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
  • gnet - `gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
  • gNxI - A collection of tools for Network Management that use the gNMI and gNOI protocols.
  • go-getter - Go library for downloading files or directories from various sources using a URL.
  • go-powerdns - PowerDNS API bindings for Golang.
  • go-sse - Go client and server implementation of HTML server-sent events.
  • go-stun - Go implementation of the STUN client (RFC 3489 and RFC 5389).
  • gobgp - BGP implemented in the Go Programming Language.
  • golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
  • gopacket - Go library for packet processing with libpcap bindings.
  • gopcap - Go wrapper for libpcap.
  • goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
  • gosnmp - Native Go library for performing SNMP actions.
  • gotcp - Go package for quickly writing tcp applications.
  • grab - Go package for managing file downloads.
  • graval - Experimental FTP server framework.
  • gws - High-Performance WebSocket Server & Client With AsyncIO Supporting .
  • HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses.
  • httpproxy - HTTP proxy handler and dialer.
  • iplib - Library for working with IP addresses (net.IP, net.IPNet), inspired by python [ipaddress](https://docs.python.org/3/library/ipaddress.html) and ruby [ipaddr](https://ruby-doc.org/stdlib-2.5.1/libdoc/ipaddr/rdoc/IPAddr.html)
  • jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
  • kcp-go - KCP - Fast and Reliable ARQ Protocol.
  • kcptun - Extremely simple & fast udp tunnel based on KCP protocol.
  • lhttp - Powerful websocket framework, build your IM server more easily.
  • linkio - Network link speed simulation for Reader/Writer interfaces.
  • llb - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
  • mdns - Simple mDNS (Multicast DNS) client/server library in Golang.
  • mqttPaho - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
  • 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.
  • netpoll - A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.
  • NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
  • packet - Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
  • panoptes-stream - A cloud native distributed streaming network telemetry (gNMI, Juniper JTI and Cisco MDT).
  • peerdiscovery - Pure Go library for cross-platform local peer discovery using UDP multicast.
  • portproxy - Simple TCP proxy which adds CORS support to API's which don't support it.
  • publicip - Package publicip returns your public facing IPv4 address (internet egress).
  • quic-go - An implementation of the QUIC protocol in pure Go.
  • raw - Package raw enables reading and writing data at the device driver level for a network interface.
  • sftp - Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>.
  • ssh - Higher-level API for building SSH servers (wraps crypto/ssh).
  • sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
  • stun - Go implementation of RFC 5389 STUN protocol.
  • tcp_server - Go library for building tcp servers faster.
  • tspool - A TCP Library use worker pool to improve performance and protect your server.
  • utp - Go uTP micro transport protocol implementation.
  • vssh - Go library for building network and server automation over SSH protocol.
  • water - Simple TUN/TAP library.
  • webrtc - A pure Go implementation of the WebRTC API.
  • winrm - Go WinRM client to remotely execute commands on Windows machines.
  • xtcp - TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
  • gentleman - Full-featured plugin-driven HTTP client library.
  • go-cleanhttp - Get easily stdlib HTTP client, which does not share any state with other clients.
  • go-http-client - Make http calls simply and easily.
  • go-otelroundtripper - Go http.RoundTripper that emits open telemetry metrics for HTTP requests.
  • go-req - Declarative golang HTTP client.
  • go-retryablehttp - Retryable HTTP client in Go.
  • go-zoox/fetch - A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API.
  • grequests - A Go "clone" of the great and famous Requests library.
  • heimdall - An enhanced http client with retry and hystrix capabilities.
  • httpretry - Enriches the default go HTTP client with retry functionality.
  • pester - Go HTTP client calls with retries, backoff, and concurrency.
  • req - Simple Go HTTP client with Black Magic (Less code and More efficiency).
  • request - HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
  • 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.
  • resty - Simple HTTP and REST client for Go inspired by Ruby rest-client.
  • rq - A nicer interface for golang stdlib HTTP client.
  • sling - Sling is a Go HTTP client library for creating and sending API requests.
  • gl - Go bindings for OpenGL (generated via glow).
  • glfw - Go bindings for GLFW 3.
  • go-glmatrix - Go port of [glMatrix](https://glmatrix.net/) library.
  • goxjs/gl - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
  • goxjs/glfw - Go cross-platform glfw library for creating an OpenGL context and receiving events.
  • mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM.
  • bun - SQL-first Golang ORM. Successor of go-pg.
  • cacheme - Schema based, typed Redis caching/memoize framework for Go.
  • ent - An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
  • go-firestorm - A simple ORM for Google/Firebase Cloud Firestore.
  • go-sql - A easy ORM for mysql.
  • go-sqlbuilder - A flexible and powerful SQL string builder library plus a zero-config ORM.
  • go-store - Simple and fast Redis backed key-value store library for Go.
  • golobby/orm - Simple, fast, type-safe, generic orm for developer happiness.
  • GORM - The fantastic ORM library for Golang, aims to be developer friendly.
  • gormt - Mysql database to golang gorm struct.
  • gorp - Go Relational Persistence, ORM-ish library for Go.
  • grimoire - Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
  • lore - Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
  • marlow - Generated ORM from project structs for compile time safety assurances.
  • pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
  • Prisma - Prisma Client Go, Typesafe database access for Go.
  • reform - Better ORM for Go, based on non-empty interfaces and code generation.
  • rel - Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API.
  • SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
  • upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
  • XORM - Simple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle).
  • Zoom - Blazing-fast datastore and querying engine built on Redis.
  • go modules - Modules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules.
  • dep - Go dependency tool.
  • vgo - Versioned Go.
  • glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
  • godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
  • gom - Go Manager - bundle for go.
  • goop - Simple dependency manager for Go (golang), inspired by Bundler.
  • gop - Build and manage your Go applications out of GOPATH.
  • gopm - Go Package Manager.
  • govendor - Go Package Manager. Go vendor tool that works with the standard vendor file.
  • gpm - Barebones dependency manager for Go.
  • gup - Update binaries installed by "go install".
  • johnny-deps - Minimal dependency version using Git.
  • modgv - Converts 'go mod graph' output into Graphviz's DOT language.
  • mvn-golang - plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
  • nut - Vendor Go dependencies.
  • VenGO - create and manage exportable isolated go virtual environments.
  • go-instrument - Automatically add spans to all methods and functions.
  • jaeger - A distributed tracing system.
  • pixie - No instrumentation tracing for Golang applications via eBPF.
  • profile - Simple profiling support package for Go.
  • statsviz - Live visualization of your Go application runtime statistics.
  • tracer - Simple, lightweight tracing.
  • api-fu - Comprehensive GraphQL implementation.
  • 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.
  • gojsonq - A simple Go package to Query over JSON Data.
  • goven - A drop-in query language for any database schema.
  • gqlgen - go generate based graphql server library.
  • graphql - graphql parser + utilities.
  • graphql - graphql parser + utilities.
  • graphql-go - Implementation of GraphQL for Go.
  • gws - High-Performance WebSocket Server & Client With AsyncIO Supporting .
  • jsonpath - A query library for retrieving part of JSON based on JSONPath syntax.
  • jsonql - JSON query expression library in Golang.
  • jsonslice - Jsonpath queries with advanced filters.
  • rql - Resource Query Language for REST API.
  • rqp - Query Parser for REST API. Filtering, validations, both `AND`, `OR` operations are supported directly in the query.
  • straf - Easily Convert Golang structs to GraphQL objects.
  • debme - Create an `embed.FS` from an existing `embed.FS` subdirectory.
  • esc - Embeds files into Go programs and provides http.FileSystem interfaces to them.
  • fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use.
  • go-resources - Unfancy resources embedding with Go.
  • go.rice - go.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy.
  • mule - Embed external resources like images, movies ... into Go source code to create single file binaries using `go generate`. Focused on simplicity.
  • packr - The simple and easy way to embed static files into Go binaries.
  • rebed - Recreate folder structures and files from Go 1.16's `embed.FS` type
  • statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
  • statik - Embeds static files into a Go executable.
  • templify - Embed external template files into Go code to create single file binaries.
  • vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
  • assocentity - Package assocentity returns the average distance from words to a given entity.
  • bradleyterry - Provides a Bradley-Terry Model for pairwise comparisons.
  • calendarheatmap - Calendar heatmap in plain Go inspired by Github contribution activity.
  • chart - Simple Chart Plotting library for Go. Supports many graphs types.
  • dataframe-go - Dataframes for machine-learning and statistics (similar to pandas).
  • decimal - Package decimal implements arbitrary-precision decimal floating-point arithmetic.
  • evaler - Simple floating point arithmetic expression evaluator.
  • ewma - Exponentially-weighted moving averages.
  • geom - 2D geometry for golang.
  • go-dsp - Digital Signal Processing for Go.
  • go-estimate - State estimation and filtering algorithms in Go.
  • go-gt - Graph theory algorithms written in "Go" language.
  • godesim - Extended/multivariable ODE solver framework for event-based simulations with simple API.
  • goent - GO Implementation of Entropy Measures.
  • gograph - A golang generic graph library that provides mathematical graph-theory and algorithms.
  • gohistogram - Approximate histograms for data streams.
  • gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
  • gonum/plot - gonum/plot provides an API for building and drawing plots in Go.
  • goraph - Pure Go graph theory library(data structure, algorithm visualization).
  • gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
  • GoStats - GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
  • graph - Library of basic graph algorithms.
  • jsonl-graph - Tool to manipulate JSONL graphs with graphviz support.
  • ode - Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
  • orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
  • pagerank - Weighted PageRank algorithm implemented in Go.
  • piecewiselinear - Tiny linear interpolation library.
  • PiHex - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
  • rootfinding - root-finding algorithms library for finding roots of quadratic functions.
  • sparse - Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
  • stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
  • streamtools - general purpose, graphical tool for dealing with streams of data.
  • TextRank - TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
  • triangolatte - 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
  • acmetool - ACME (Let's Encrypt) client tool with automatic renewal.
  • acra - Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
  • age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
  • argon2-hashing - light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.
  • argon2pw - Argon2 password hash generation with constant-time password comparison.
  • autocert - Auto provision Let's Encrypt certificates and start a TLS server.
  • BadActor - In-memory, application-driven jailer built in the spirit of fail2ban.
  • booster - Fast initramfs generator with full-disk encryption support.
  • Cameradar - Tool and library to remotely hack RTSP streams from surveillance cameras.
  • certificates - An opinionated tool for generating tls certificates.
  • CertMagic - Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal.
  • Coraza - Enterprise-ready, modsecurity and OWASP CRS compatible WAF library.
  • dongle - A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption.
  • firewalld-rest - A rest application to dynamically update firewalld rules on a linux server.
  • go-generate-password - Password generator that can be used on the cli or as a library.
  • go-htpasswd - Apache htpasswd Parser for Go.
  • go-password-validator - Password validator based on raw cryptographic entropy values.
  • go-yara - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)".
  • goArgonPass - Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
  • goSecretBoxPassword - A probably paranoid package for securely hashing and encrypting passwords.
  • Interpol - Rule-based data generator for fuzzing and penetration testing.
  • lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt).
  • memguard - A pure Go library for handling sensitive values in memory.
  • nacl - Go implementation of the NaCL set of API's.
  • optimus-go - ID hashing and Obfuscation using Knuth's Algorithm.
  • passlib - Futureproof password hashing library.
  • secret - Prevent your secrets from leaking into logs, std\* etc.
  • secure - HTTP middleware for Go that facilitates some quick security wins.
  • secureio - An keyexchanging+authenticating+encrypting wrapper and multiplexer for `io.ReadWriteCloser` based on XChaCha20-poly1305, ECDH and ED25519.
  • simple-scrypt - Scrypt package with a simple, obvious API and automatic cost calibration built-in.
  • ssh-vault - encrypt/decrypt using ssh keys.
  • sslmgr - SSL certificates made easy with a high level wrapper around acme/autocert.
  • teler-waf - teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications.
  • 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.
  • asn1 - Asn.1 BER and DER encoding library for golang.
  • bambam - generator for Cap'n Proto schemas from go.
  • bel - Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
  • binstruct - Golang binary decoder for mapping data into the structure.
  • cbor - Small, safe, and easy CBOR encoding and decoding library.
  • colfer - Code generation for the Colfer binary format.
  • csvutil - High Performance, idiomatic CSV record encoding and decoding to native Go structures.
  • elastic - Convert slices, maps or any other unknown value across different types at run-time, no matter what.
  • fixedwidth - Fixed-width text formatting (UTF-8 supported).
  • fwencoder - Fixed width file parser (encoding and decoding library) for Go.
  • go-capnproto - Cap'n Proto library and parser for go.
  • go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
  • go-lctree - Provides a CLI and primitives to serialize and deserialize [LeetCode binary trees](https://support.leetcode.com/hc/en-us/articles/360011883654-What-does-1-null-2-3-mean-in-binary-tree-representation).
  • gogoprotobuf - Protocol Buffers for Go with Gadgets.
  • goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
  • jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json".
  • mapstructure - Go library for decoding generic map values into native Go structures.
  • php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
  • pletter - A standard way to wrap a proto message for message brokers.
  • structomap - Library to easily and dynamically generate maps from static structures.
  • unitpacking - Library to pack unit vectors into as fewest bytes as possible.
  • algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
  • Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
  • consul - Consul is a tool for service discovery, monitoring and configuration.
  • cortex-tenant - Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels.
  • devd - Local webserver for developers.
  • discovery - A registry for resilient mid-tier load balancing and failover.
  • dudeldu - A simple SHOUTcast server.
  • dummy - Run mock server based off an API contract with one command.
  • Easegress - A cloud native high availability/performance traffic orchestration system with observability and extensibility.
  • etcd - Highly-available key value store for shared configuration and service discovery.
  • Euterpe - Self-hosted music streaming server with built-in web UI and REST API.
  • Fider - Fider is an open platform to collect and organize customer feedback.
  • Flagr - Flagr is an open-source feature flagging and A/B testing service.
  • flipt - A self contained feature flag solution written in Go and Vue.js
  • go-feature-flag - A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it.
  • go-proxy-cache - Simple Reverse Proxy with Caching, written in Go, using Redis.
  • jackal - An XMPP server written in Go.
  • lets-proxy2 - Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
  • minio - Minio is a distributed object storage server.
  • Moxy - Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint.
  • nginx-prometheus - Nginx log parser and exporter to Prometheus.
  • nsq - A realtime distributed messaging platform.
  • protoxy - A proxy server that converts JSON request bodies to Protocol Buffers.
  • psql-streamer - Stream database events from PostgreSQL to Kafka.
  • riemann-relay - Relay to load-balance Riemann events and/or convert them to Carbon.
  • RoadRunner - High-performance PHP application server, load-balancer and process manager.
  • 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.
  • simple-jwt-provider - Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
  • Trickster - HTTP reverse proxy cache and time series accelerator.
  • Wish - Make SSH apps, just like that!
  • go-streams - Go stream processing library.
  • goio - An implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2.
  • machine - Go library for writing and generating stream workers with built in metrics and traceability.
  • stream - Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...
  • ego - Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
  • extemplate - Tiny wrapper around html/template to allow for easy file-based template inheritance.
  • fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](https://golang.org/pkg/text/template/).
  • gospin - Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.
  • got - A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more.
  • goview - Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
  • jet - Jet template engine.
  • liquid - Go implementation of Shopify Liquid templates.
  • maroto - A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple.
  • pongo2 - Django-like template-engine for Go.
  • quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
  • raymond - Complete handlebars implementation in Go.
  • Razor - Razor view engine for Golang.
  • Soy - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/).
  • sprig - Useful template functions for Go templates.
  • tbd - A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata.
  • apitest - Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams.
  • assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
  • badio - Extensions to Go's `testing/iotest` package.
  • baloo - Expressive and versatile end-to-end HTTP API testing made easy.
  • be - The minimalist generic test assertion library.
  • biff - Bifurcation testing framework, BDD compatible.
  • charlatan - Tool to generate fake interface implementations for tests.
  • commander - Tool for testing cli applications on windows, linux and osx.
  • covergates - Self-hosted code coverage report review and management service.
  • cupaloy - Simple snapshot testing addon for your test framework.
  • dbcleaner - Clean database for testing purpose, inspired by `database_cleaner` in Ruby.
  • dsunit - Datastore testing for SQL, NoSQL, structured files.
  • embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test.
  • endly - Declarative end to end functional testing.
  • fixenv - Fixture manage engine, inspired by pytest fixtures.
  • fluentassert - Extensible, type-safe, fluent assertion Go library.
  • flute - HTTP client testing framework.
  • frisby - REST API testing framework.
  • gherkingen - BDD boilerplate generator and framework.
  • ginkgo - BDD Testing Framework for Go.
  • gnomock - integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.
  • go-carpet - Tool for viewing test coverage in terminal.
  • go-cmp - Package for comparing Go values in tests.
  • go-hit - Hit is an http integration test framework written in golang.
  • go-mutesting - Mutation testing for Go source code.
  • go-mysql-test-container - Golang MySQL testcontainer to help with MySQL integration testing.
  • go-snaps - Jest-like snapshot testing in Golang.
  • go-testdeep - Extremely flexible golang deep comparison, extends the go testing package.
  • go-testpredicate - Test predicate style assertions library with extensive diagnostics output.
  • go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests.
  • goblin - Mocha like testing framework fo Go.
  • goc - Goc is a comprehensive coverage testing system for The Go Programming Language.
  • gocheck - More advanced testing framework alternative to gotest.
  • GoConvey - BDD-style framework with web UI and live reload.
  • gocrest - Composable hamcrest-like matchers for Go assertions.
  • godog - Cucumber BDD framework for Go.
  • gofight - API Handler Testing for Golang Router framework.
  • gogiven - YATSPEC-like BDD testing framework for Go.
  • gomatch - library created for testing JSON against patterns.
  • gomega - Rspec like matcher/assertion library.
  • Gont - Go network testing toolkit for testing building complex network topologies using Linux namespaces.
  • GoSpec - BDD-style testing framework for the Go programming language.
  • gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
  • gosuite - Brings lightweight test suites with setup/teardown facilities to `testing` by leveraging Go1.7's Subtests.
  • got - A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more.
  • gotest.tools - A collection of packages to augment the go testing package and support common patterns.
  • Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
  • httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
  • is - Professional lightweight testing mini-framework for Go.
  • jsonassert - Package for verifying that your JSON payloads are serialized correctly.
  • omg.testingtools - The simple library for change a values of private fields for testing.
  • restit - Go micro framework to help writing RESTful API integration test.
  • schema - Quick and easy expression matching for JSON schemas used in requests and responses.
  • stop-and-go - Testing helper for concurrency.
  • testcase - Idiomatic testing framework for Behavior Driven Development.
  • 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.
  • testfixtures - A helper for Rails' like test fixtures to test database applications.
  • Testify - Sacred extension to the standard go testing package.
  • testmd - Convert markdown snippets into testable go code.
  • testsql - Generate test data from SQL files before testing and clear it after finished.
  • testza - Full-featured test framework with nice colorized output.
  • trial - Quick and easy extendable assertions without introducing much boilerplate.
  • Tt - Simple and colorful test tools.
  • wstest - Websocket client for unit-testing a websocket http.Handler.
  • counterfeiter - Tool for generating self-contained mock objects.
  • genmock - Go mocking system with code generator for building calls of the interface methods.
  • go-localstack - Tool for using localstack in AWS testing.
  • go-sqlmock - Mock SQL driver for testing database interactions.
  • go-txdb - Single transaction based database driver mainly for testing purposes.
  • gock - Versatile HTTP mocking made easy.
  • gomock - Mocking framework for the Go programming language.
  • govcr - HTTP mock for Golang: record and replay HTTP interactions for offline testing.
  • hoverfly - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
  • httpmock - Easy mocking of HTTP responses from external resources.
  • minimock - Mock generator for Go interfaces.
  • mockery - Tool to generate Go interfaces.
  • mockhttp - Mock object for Go http.ResponseWriter.
  • mockit - Allows functions and method easy mocking, without defining new types; it's similar to Mockito for Java.
  • mooncake - A simple way to generate mocks for multiple purposes
  • timex - A test-friendly replacement for the native `time` package.
  • go-fuzz - Randomized testing system.
  • gofuzz - Library for populating go objects with random values.
  • Tavor - Generic fuzzing and delta-debugging framework.
  • cdp - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
  • chromedp - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
  • ggr - a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.
  • playwright-go - browser automation library to control Chromium, Firefox and WebKit with a single API.
  • rod - A Devtools driver to make web automation and scraping easy.
  • selenoid - alternative Selenium hub server that launches browsers within containers.
  • failpoint - An implementation of [failpoints](https://www.freebsd.org/cgi/man.cgi?query=fail) for Golang.
  • address - Handles address representation, validation and formatting.
  • align - A general purpose application that aligns text.
  • bytes - Formats and parses numeric byte values (10K, 2M, 3G, etc.).
  • go-fixedwidth - Fixed-width text formatting (encoder/decoder with reflection).
  • go-humanize - Formatters for time, numbers, and memory size to human readable format.
  • gotabulate - Easily pretty-print your tabular data with Go.
  • textwrap - Wraps text at end of lines. Implementation of `textwrap` module from Python.
  • bafi - Universal JSON, BSON, YAML, XML translator to ANY format using templates.
  • bbConvert - Converts bbCode to HTML that allows you to add support for custom bbCode tags.
  • blackfriday - Markdown processor in Go.
  • github_flavored_markdown - GitHub Flavored Markdown renderer (using blackfriday) with fenced code block highlighting, clickable header anchor links.
  • go-output-format - Output go structures into multiple formats (YAML/JSON/etc) in your command line app.
  • go-toml - Go library for the TOML format with query support and handy cli tools.
  • goldmark - A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured.
  • goq - Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
  • html-to-markdown - Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
  • htmlquery - An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
  • htmlyaml - Rich rendering of YAML as HTML in Go
  • mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
  • toml - TOML configuration format (encoder/decoder with reflection).
  • allot - Placeholder and wildcard text parsing for CLI tools and bots.
  • codetree - Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.
  • commonregex - A collection of common regular expressions for Go.
  • did - DID (Decentralized Identifiers) Parser and Stringer in Go.
  • doi - Document object identifier (doi) parser in Go.
  • editorconfig-core-go - Editorconfig file parser and manipulator for Go.
  • encdec - Package provides a generic interface to encoders and decoders.
  • go-fasttld - High performance effective top level domains (eTLD) extraction module.
  • go-nmea - NMEA parser library for the Go language.
  • go-vcard - Parse and format vCard.
  • gofeed - Parse RSS and Atom feeds in Go.
  • gographviz - Parses the Graphviz DOT language.
  • gonameparts - Parses human names into individual name parts.
  • ltsv - High performance [LTSV (Labeled Tab Separated Value)](http://ltsv.org/) reader for Go.
  • normalize - Sanitize, normalize and compare fuzzy text.
  • 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.
  • parseargs-go - string argument parser that understands quotes and backslashes.
  • parth - URL path segmentation parsing.
  • sdp - SDP: Session Description Protocol [[RFC 4566](https://tools.ietf.org/html/rfc4566)].
  • sh - Shell parser and formatter.
  • tokenizer - Parse any string, slice or infinite buffer to any tokens.
  • when - Natural EN and RU language date/time parser with pluggable rules.
  • xj2go - Convert xml or json to go struct.
  • genex - Count and expand Regular Expressions into all matching Strings.
  • go-wildcard - Simple and lightweight wildcard pattern matching.
  • goregen - Library for generating random strings from regular expressions.
  • regroup - Match regex expression named groups into go struct using struct tags and automatic parsing.
  • rex - Regular expressions builder.
  • 100 Go Mistakes: How to Avoid Them
  • Black Hat Go - Go programming for hackers and pentesters.
  • Build an Orchestrator in Go
  • Continuous Delivery in Go - This practical guide to continuous delivery shows you how to rapidly establish an automated pipeline that will improve your testing, code quality, and final product.
  • Creative DIY Microcontroller Project With TinyGo and WebAssembly - An introduction into the TinyGo compiler with projects involving Arduino and WebAssembly.
  • Effective Go: Elegant, efficient, and testable code - Unlock Go’s unique perspective on program design, and start writing simple, maintainable, and testable Go code.
  • For the Love of Go - An introductory book for Go beginners.
  • Go Faster - This book seeks to shorten your learning curve and help you become a proficient Go programmer, faster.
  • Know Go: Generics - A guide to understanding and using generics in Go.
  • Lets-Go - A step-by-step guide to creating fast, secure and maintanable web applications with Go.
  • Lets-Go-Further - Advanced patterns for building APIs and web applications in Go.
  • The Power of Go: Tests - A guide to testing in Go.
  • The Power of Go: Tools - A guide to writing command-line tools in Go.
  • Writing A Compiler In Go
  • Writing An Interpreter In Go - Book that introduces dozens of techniques for writing idiomatic, expressive, and efficient Go code that avoids common pitfalls.
  • A Go Developer's Notebook
  • An Introduction to Programming in Go
  • Build Web Application with Golang
  • Building Web Apps With Go
  • Go 101 - A book focusing on Go syntax/semantics and all kinds of details.
  • Go AST Book (Chinese) - A book focusing on Go `go/*` packages.
  • Go Succinctly - in Persian.
  • GoBooks - A curated list of Go books.
  • How To Code in Go eBook - A 600 page introduction to Go aimed at first time developers.
  • Learning Go
  • Network Programming With Go
  • Practical Go Lessons
  • Spaceship Go A Journey to the Standard Library
  • The Go Programming Language
  • The Golang Standard Library by Example (Chinese)
  • Web Application with Go the Anti-Textbook
  • Free Gophers Pack - Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
  • Go-gopher-Vector - Go gopher Vector Data [.ai, .svg].
  • gopher-logos - adorable gopher logos.
  • gopher-stickers
  • gophericons
  • gopherize.me - Gopherize yourself.
  • gophers - Gopher artworks by Ashley McNamara.
  • gophers - Gopher artworks by Ashley McNamara.
  • gophers - Gopher artworks by Ashley McNamara.
  • gophers - Gopher artworks by Ashley McNamara.
  • gophers - Gopher artworks by Ashley McNamara.
  • Basel Go Meetup
  • Belfast Gophers
  • Belgrade Golang Meetup
  • Berlin Golang
  • Brisbane Gophers
  • Canberra Gophers
  • Go Language NYC
  • Go London User Group
  • Go Remote Meetup
  • Go Toronto
  • Go User Group Atlanta
  • GoBandung
  • GoBridge, San Francisco, CA
  • GoCracow - Krakow, Poland
  • GoJakarta
  • Golang Amsterdam
  • Golang Argentina
  • Golang Athens
  • Golang Baltimore, MD
  • Golang Bangalore
  • Golang Belo Horizonte - Brazil
  • Golang Boston
  • Golang Bulgaria
  • Golang Cardiff, UK
  • Golang Copenhagen
  • Golang Curitiba - Brazil
  • Golang DC, Arlington, VA
  • Golang Dorset, UK
  • Golang Estonia
  • Golang Gurgaon, India
  • Golang Hamburg - Germany
  • Golang Israel
  • Golang Kathmandu
  • Golang Korea
  • Golang Lima - Peru
  • Golang Lyon
  • Golang Marseille
  • Golang Melbourne
  • Golang Mountain View
  • Golang North East
  • Golang Paris
  • Golang Poland
  • Golang Pune
  • Golang Rotterdam
  • Golang Singapore
  • Golang Stockholm
  • Golang Sydney, AU
  • Golang São Paulo - Brazil
  • Golang Taipei
  • Golang Thessaloniki
  • Golang Turkey
  • Golang Vancouver, BC
  • Golang Vienna, Austria
  • Golang Москва
  • GoSF - San Francisco, CA
  • Istanbul Golang
  • Seattle Go Programmers
  • Ukrainian Golang User Groups
  • Utah Go User Group
  • Women Who Go - San Francisco, CA
  • bahlo/go-styleguide
  • CockroachDB
  • GitLab
  • Google
  • Hyperledger
  • Magnetico
  • Sourcegraph
  • Thanos
  • Trybe
  • Uber
  • @GoDiscussions
  • @golang
  • @golang_news
  • @golangch
  • @golangflow
  • @golangweekly
  • r/golang
  • Awesome Go @LibHunt - Your go-to Go Toolbox.
  • Awesome Golang Workshops - A curated list of awesome golang workshops.
  • Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
  • awesome-awesomeness - List of other amazingly awesome lists.
  • awesome-go-extra - Parse awesome-go README file and generate a new README file with repo info.
  • Code with Mukesh - Software Engineer and Blogs @ codewithmukesh.com.
  • Coding Mystery - Solve exciting escape-room-inspired programming challenges using Go.
  • CodinGame - Learn Go by solving interactive tasks using small games as practical examples.
  • Explore Go Libraries & Projects - Discover & find a curated list of popular & new Go libraries, top authors, trending project kits, discussions, tutorials & learning resources on kandi.
  • Go Blog - The official Go blog.
  • Go Code Club - A group of Gophers read and discuss a different Go project every week.
  • Go Community on Hashnode - Community of Gophers on Hashnode.
  • Go Forum - Forum to discuss Go.
  • Go Projects - List of projects on the Go community wiki.
  • Go Proverbs - Go Proverbs by Rob Pike.
  • Go Report Card - A report card for your Go package.
  • go.dev - A hub for Go developers.
  • gocryforhelp - Collection of Go projects that needs help. Good place to start your open-source way in Go.
  • godoc.org - Documentation for open source Go packages.
  • Golang Developer Jobs - Developer Jobs exclusively for Golang related Roles.
  • Golang Flow - Post Updates, News, Packages and more.
  • Golang News - Links and news about Go programming.
  • Golang Resources - A curation of the best articles, exercises, talks and videos to learn Go.
  • Golang Weekly - Each monday projects, tutorials and articles about Go.
  • golang-graphics - Collection of Go images, graphics, and art.
  • golang-nuts - Go mailing list.
  • Google Plus Community - The Google+ community for #golang enthusiasts.
  • Gopher Community Chat - Join Our New Slack Community For Gophers ([Understand how it came](https://blog.gopheracademy.com/gophers-slack-community/)).
  • Gophercises - Free coding exercises for budding gophers.
  • gowalker.org - Go Project API documentation.
  • json2go - Advanced JSON to Go struct conversion - online tool.
  • justforfunc - Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy [@francesc](https://twitter.com/francesc).
  • Learn Go Programming - Learn Go concepts with illustrations.
  • Made with Golang
  • r/Golang - News about Go.
  • studygolang - The community of studygolang in China.
  • Trending Go repositories on GitHub today - Good place to find new Go libraries.
  • TutorialEdge - Golang
  • 50 Shades of Go - Traps, Gotchas, and Common Mistakes for New Golang Devs.
  • A Comprehensive Guide to Structured Logging in Go - Delve deep into the world of structured logging in Go with a specific focus on recently accepted slog proposal which aims to bring high performance structured logging with levels to the standard library.
  • A Guide to Golang E-Commerce - Building a Golang site for e-commerce (demo included).
  • A Tour of Go - Interactive tour of Go.
  • Build a Database in 1000 lines of code - Build a NoSQL Database From Zero in 1000 Lines of Code.
  • Build web application with Golang - Golang ebook intro how to build a web app with golang.
  • Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL - We’ll write an API with the help of the powerful Gorilla Mux.
  • Building Go Web Applications and Microservices Using Gin - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
  • Caching Slow Database Queries - How to cache slow database queries.
  • Canceling MySQL - How to cancel MySQL queries.
  • CodeCrafters Golang Track - Achieve mastery in advanced Go by building your own Redis, Docker, Git, and SQLite. Featuring goroutines, systems programming, file I/O, and more.
  • Debugged.it Go patterns - Advanced Go patterns with ready-to-run examples.
  • Design Patterns in Go - Collection of programming design patterns implemented in Go.
  • Ethereum Development with Go - A little e-book on Ethereum Development with Go.
  • Games With Go - A video series teaching programming and game development.
  • Go By Example - Hands-on introduction to Go using annotated example programs.
  • Go Cheat Sheet - Go's reference card.
  • Go database/sql tutorial - Introduction to database/sql.
  • Go in 7 days - Learn everything about Go in 7 days (from a Nodejs developer).
  • Go Language Tutorial - Learn Go language Tutorial.
  • Go Tutorial - Learn Go programming.
  • Go WebAssembly Tutorial - Building a Simple Calculator
  • go-clean-template - Clean Architecture template for Golang services.
  • go-patterns - Curated list of Go design patterns, recipes and idioms.
  • goapp - An opinionated guideline to structure & develop a Go web application/service.
  • Golang for Node.js Developers - Examples of Golang compared to Node.js for learning.
  • Golang Tutorial Guide - A List of Free Courses to Learn the Go Programming Language.
  • Golangbot - Tutorials to get started with programming in Go.
  • GopherCoding - Collection of code snippets and tutorials to help tackle every day issues.
  • GopherSnippets - Code snippets with tests and testable examples for the Go programming language.
  • Gosamples - Collection of code snippets that let you solve everyday code problems.
  • Hackr.io - Learn Go from the best online golang tutorials submitted & voted by the golang programming community.
  • How to Benchmark: dbq vs sqlx vs GORM - Learn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM.
  • How To Deploy a Go Web Application with Docker - Learn how to use Docker for Go development and how to build production Docker images.
  • How to Use Godog for Behavior-driven Development in Go - Get started with Godog — a Behavior-driven development framework for building and testing Go applications.
  • Learn Go with 1000+ Exercises - Learn Go with thousands of examples, exercises, and quizzes.
  • Learn Go with TDD - Learn Go with test-driven development.
  • Learning Go by examples - Series of articles in order to learn Golang language by concrete applications as example.
  • Microservices with Go - Dive deep into building microservices using Go, including gRPC.
  • package main - YouTube channel about Programming in Go.
  • Programming with Google Go - Coursera Specialization to learn about Go from scratch.
  • Saving a Third of Our Memory by Re-ordering Go Struct Fields - How inefficient field ordering in Go structs.
  • Scaling Go Applications - Everything about building, deploying and scaling Go applications in production.
  • The world’s easiest introduction to WebAssembly with Golang
  • W3basic Go Tutorials - W3Basic provides an in-depth tutorial and well-organized content to learn Golang programming.
  • Working with Go - Intro to go for experienced programmers.
  • Your basic Go - Huge collection of tutorials and how to's.
  • The Go Developer Roadmap - A visual roadmap that new Go developers can follow through to help them learn Go.
  • The Go Learning Path - A guided learning path containing a mix of free and premium resources.