2D graphics
1.4k
disintegration/imaging
Imaging is a simple image processing package for Gowcharczuk/go-chart
go chart is a basic charting library in go.nfnt/resize
Pure golang image resizing fogleman/gg
Go Graphics - 2D rendering in Go with a simple API.skip2/go-qrcode
:sparkles: QR Code encoder (Go)ajstarks/svgo
Go Language Library for SVG generationdchest/captcha
Go package captcha implements generation and verification of image and audio CAPTCHAs.disintegration/gift
Go Image Filtering Toolkittdewolff/canvas
Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.guptarohit/asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.3D graphics
252
fogleman/fauxgl
Software-only 3D renderer written in Go.go-gl/gl
Go bindings for OpenGL (generated via glow)vulkan-go/vulkan
Vulkan API bindings for Go programming languageqmuntal/gltf
Go library for encoding glTF 2.0 filestfriedel6/canvas
Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas APIgoxjs/gl
Go cross-platform OpenGL bindings.hunterloftis/pbr
a Physically Based Renderer (PBR) in Gofaiface/glhf
openGL Have Fun - A Go package that makes life with OpenGL enjoyable.goxjs/glfw
Go cross-platform glfw library for creating an OpenGL context and receiving events.fogleman/simplify
3D mesh simplification in Go.google/btree
BTree provides a simple, ordered, in-memory data structure for Go programs.armon/go-radix
Golang implementation of Radix treesaxiomhq/hyperloglog
HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiomtidwall/btree
B-tree implementation for Goseiflotfy/cuckoofilter
Cuckoo Filter: Practically Better Than Bloomgammazero/deque
Fast ring-buffer deque (double-ended queue)agnivade/levenshtein
Go implementation to calculate Levenshtein Distance.couchbase/vellum
A Go library implementing an FST (finite state transducer)gyuho/goraph
Package goraph implements graph data structure and algorithms.fatih/set
Set data structure for GoAPI bindings
7.3k
stripe/stripe-go
Go library for the Stripe API. xanzy/go-gitlab
GitLab Go SDKcloudflare/cloudflare-go
The official Go library for the Cloudflare APIdigitalocean/godo
DigitalOcean Go API clientandygrunwald/go-jira
Go client library for Atlassian Jiraslack-go/slack
Slack API in Gofirebase.google.com/go
Firebase Admin Go SDKsilenceper/wechat
WeChat SDK for Go (微信SDK:简单、易用)rackspace/gophercloud
A Go SDK for OpenStack. IN FEATURE FREEZE. See Issue #592hashicorp/go-discover
Discover nodes in cloud environmentsgobuffalo/packr
The simple and easy way to embed static files into Go binaries.elazarl/go-bindata-assetfs
Serves embedded files from `jteeuwen/go-bindata` with `net/http`markbates/pkger
Embed static files in Go binaries (replacement for gobuffalo/packr)jteeuwen/go-bindata
Hard fork of jteeuwen/go-bindata because it disappeared, Please refer to issues#5 for details.go-bindata/go-bindata
Turn data file into go code.gin-contrib/static
Static middlewarejessevdk/go-assets
Simple embedding of assets in goprogrium/go-basher
Library for writing hybrid Go and Bash programsphogolabs/parcello
Golang Resource Bundler [deprecated]knadh/stuffbin
Compress and embed static files and assets into Go binaries and access them with a virtual file system in productionfaiface/beep
A little package that brings sound to any Go application. Suitable for playback and audio-processing.hajimehoshi/go-mp3
An MP3 decoder in pure Gogordonklaus/portaudio
Go bindings for the PortAudio audio I/O librarydhowden/tag
ID3, MP4 and OGG/FLAC metadata parsing in Gogo-audio/wav
Battle tested Wav decoder/encodermewkiz/flac
Package flac provides access to FLAC (Free Lossless Audio Codec) streams.gen2brain/malgo
Mini audio librarygo-audio/audio
Generic Go package designed to define a common interface to analyze and/or process audio datagomidi/midi
Library for reading and writing of MIDI messages and MIDI files (SMF) with Gorakyll/portmidi
Go bindings for libportmidiAuthentication
1.6k
dgrijalva/jwt-go
ARCHIVE - Golang implementation of JSON Web Tokens (JWT). This project is now maintained at:markbates/goth
Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.gorilla/sessions
Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.coreos/go-oidc
A Go OpenID Connect client.pquerna/otp
TOTP library for Goory/fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.ory/ladon
A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.volatiletech/authboss
The boss of http auth.dghubble/gologin
Go login handlers for authentication providers (OAuth1, OAuth2)gorilla/securecookie
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values for Go web applications.ethereum/go-ethereum
Go implementation of the Ethereum protocollightninglabs/neutrino
Privacy-Preserving Bitcoin Light Clientbtcsuite/btcutil
Provides bitcoin-specific convenience functions and typestyler-smith/go-bip39
The BIP39 library for Go.eoscanada/eos-go
EOS.IO Go API librarymiguelmota/go-ethereum-hdwallet
Ethereum HD Wallet derivations in Go (golang)iov-one/weave
Easy-to-use SDK to build Tendermint ABCI applicationslightningnetwork/lightning-onion
Onion Routed Micropayments for the Lightning Networkonflow/cadence
Cadence, the resource-oriented smart contract programming language 🏃♂️lightningnetwork/lnd
Lightning Network Daemon ⚡️Caching
813
patrickmn/go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.allegro/bigcache
Efficient cache for gigabytes of data written in Go.coocood/freecache
A cache library for Go with zero GC overhead.bluele/gcache
An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARCgolang/groupcache
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.karlseguin/ccache
A golang LRU Cache for high concurrencymuesli/cache2go
Concurrency-safe Go caching library with expiration capabilities and access countersgoburrow/cache
Mango Cache 🥭 - Partial implementation of Guava Cache in Go (golang).faabiosr/cachego
Golang Cache component - Multiple driversakyoto/cache
:handbag: Cache arbitrary data with an expiration time.CLI
970
urfave/cli
A simple, fast, and fun package for building command line apps in Gospf13/cobra
A Commander for modern Go CLI interactionsalecthomas/kingpin
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parserc-bata/go-prompt
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.jessevdk/go-flags
go command line option parserspf13/pflag
Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.alecthomas/kong
Kong is a command-line parser for Gomitchellh/cli
A Go library for implementing command-line interfaces.alexflint/go-arg
Struct-based argument parsing in Gomanifoldco/promptui
Interactive prompt for command-line applicationsCode Analysis
1.4k
dave/dst
Decorated Syntax Tree - manipulate Go source with perfect fidelity.smacker/go-tree-sitter
Golang bindings for tree-sitter https://github.com/tree-sitter/tree-sitterhhatto/gocloc
A little fast cloc(Count Lines Of Code)reviewdog/reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming languagesabhiram/go-gitignore
A gitignore parser for gogoogle/licensecheck
The licensecheck package classifies license files and heuristically determines how well they correspond to known open source licenses.client9/misspell
Correct commonly misspelled English words in source filesrhysd/actionlint
:octocat: Static checker for GitHub Actions workflow filessourcegraph/go-lsp
Go types for the messages used in the Language Server Protocol.src-d/lookout
Assisted code review, running custom code analyzers on pull requestsCompression
449
Compression and archives
mholt/archiver
DEPRECATED. Please use mholt/archives instead.golang/snappy
The Snappy compression format in the Go programming language.pierrec/lz4
LZ4 compression and decompression in pure Goklauspost/pgzip
Go parallel gzip (de)compressionandybalholm/brotli
Pure Go Brotli encoder and decoderulikunitz/xz
Pure golang package for reading and writing xz-compressed filesbkaradzic/go-lz4
Port of LZ4 lossless compression algorithm to Govalyala/gozstd
go wrapper for zstdalexmullins/zip
Fork of Go's archive/zip to add reading/writing of password protected zip files.yeka/zip
Fork of Go's archive/zip to add reading/writing of password protected zip files.Concurrency
2.3k
juju/ratelimit
Efficient token-bucket-based rate limiter package.oklog/run
A universal mechanism to manage goroutine lifecyclesgo.uber.org/atomic
Wrapper types for sync/atomic which enforce atomic accessorcaman/concurrent-map
a thread-safe concurrent map for gohibiken/asynq
Simple, reliable, and efficient distributed task queue in Gosasha-s/go-deadlock
Online deadlock detection in go (golang)jasonlvhit/gocron
A Golang Job Scheduling Package.braintree/manners
A polite Go HTTP server that shuts down gracefully.go.uber.org/ratelimit
A Go blocking leaky-bucket rate limit implementationthejerf/suture
Supervisor trees for Go.Configuration
1.6k
spf13/viper
Go configuration with fangsjoho/godotenv
A Go port of Ruby's dotenv library (Loads environment variables from .env files)kelseyhightower/envconfig
Golang library for managing configuration data from environment variablescaarlos0/env
A simple, zero-dependencies library to parse environment variables into structsgo-ini/ini
Package ini provides INI file read and write functionality in Goilyakaznacheev/cleanenv
✨Clean and minimalistic environment configuration reader for Golangjinzhu/configor
Golang Configuration tool that support YAML, JSON, TOML, Shell Environmentnamsral/flag
Parse flags, environment variables and config filessethvargo/go-envconfig
A Go library for parsing struct tags from environment variables.magiconair/properties
Java properties scanner for GoContainers
1.4k
Containers and Kubernetes
containerd/containerd
An open and reliable container runtimefsouza/go-dockerclient
Go client for the Docker Engine API.containers/buildah
A tool that facilitates building OCI images.containers/storage
Container Storage Librarysamalba/dockerclient
Docker client library in Goregclient/regclient
Docker and OCI Registry Client in Go and tooling using those libraries.opencontainers/umoci
umoci modifies Open Container imagesportainer/agent
The Portainer agentopenshift/imagebuilder
Builds Dockerfile using the Docker client (with squashing! and secrets!)opencontainers/runc
CLI tool for spawning and running containers according to the OCI specificationCryptography
1.9k
square/go-jose
An implementation of JOSE standards (JWE, JWS, JWT) in Gogoogle/certificate-transparency-go
Auditing for TLS certificates (Go code)minio/highwayhash
Native Go version of HighwayHash with optimized assembly implementations on Intel and ARM. Able to process over 10 GB/sec on a single core on Intel CPUs - https://en.wikipedia.org/wiki/HighwayHashminio/sha256-simd
Accelerate SHA256 computations in pure Go using AVX512, SHA Extensions for x86 and ARM64 for ARM. On AVX512 it provides an up to 8x improvement (over 3 GB/s per core). SHA Extensions give a performance boost of close to 4x over native.keybase/saltpack
a modern crypto messaging formatgtank/cryptopasta
copy & paste-friendly golang crypto99designs/keyring
Go library providing a uniform interface across a range of secure credential storesalexedwards/argon2id
Argon2id password hashing and verification for Gomiekg/pkcs11
pkcs11 wrapper for Gominio/sio
Go implementation of the Data At Rest Encryption (DARE) format.Data Formats
584
jung-kurt/gofpdf
A PDF document generator with high level support for text, drawing and imagessignintech/gopdf
A simple library for generating PDF written in Go langledongthuc/pdf
PDF readergen2brain/go-fitz
Golang wrapper for the MuPDF Fitz libraryextrame/xls
Pure Golang xls librarygo-pdf/fpdf
A PDF document generator with high level support for text, drawing and imagesphpdave11/gofpdf
A PDF document generator with high level support for text, drawing and imagesbmaupin/go-epub
Go library for creating EPUB filesphpdave11/gofpdi
Go Free PDF Document Importernguyenthenguyen/docx
Simple Google Go (Golang) library for replacing text in Microsoft Word (.docx) fileboltdb/bolt
An embedded key/value database for Go.pingcap/tidb
TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.hashicorp/raft
Golang implementation of the Raft consensus protocolgo.etcd.io/bbolt
An embedded key/value database for Go.hashicorp/go-memdb
Golang in-memory database built on immutable radix treestidwall/buntdb
BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial supportglobalsign/mgo
The MongoDB driver for Goinfluxdata/kapacitor
Open source framework for processing, monitoring, and alerting on time series datacockroachdb/pebble
RocksDB/LevelDB inspired key-value database in Gotecbot/gorocksdb
gorocksdb is a Go wrapper for RocksDBjmoiron/sqlx
general purpose extensions to golang's database/sqllib/pq
Pure Go Postgres driver for database/sqlmattn/go-sqlite3
sqlite3 driver for go using database/sqlgo-sql-driver/mysql
Go MySQL Driver is a MySQL driver for Go's (golang) database/sql packagego-pg/pg
Golang ORM with focus on PostgreSQL features and performancerubenv/sql-migrate
SQL schema migration tool for Go.denisenkom/go-mssqldb
Microsoft SQL server driver written in go languageguregu/null
reasonable handling of nullable valuespingcap/parser
A MySQL Compatible SQL Parsermattes/migrate
Database migrations. CLI and Golang library.jinzhu/now
Now is a time toolkit for golangaraddon/dateparse
GoLang Parse many date strings without knowing format in advance.gorhill/cronexpr
Cron expression parser in Go language (golang)hako/durafmt
:clock8: Better time duration formatting in Go! go-playground/locales
:earth_americas: a set of locales generated from the CLDR Project which can be used independently or within an i18n package; these were built for use with, but not exclusive to https://github.com/go-playground/universal-translatoruniplaces/carbon
Carbon for Golang, an extension for Timeolebedev/when
A natural language date/time parser with pluggable rulesarran4/golang-ical
A ICS / ICal parser and serialiser for Golang.teambition/rrule-go
Go library for working with recurrence rules for calendar dates.leekchan/timeutil
timeutil - useful extensions (Timedelta, Strftime, ...) to the golang's time packagegoogle/wire
Compile-time Dependency Injection for Gogo.uber.org/fx
A dependency injection based application framework for Go.go.uber.org/dig
A reflection based dependency injection toolkit for Go.codegangsta/inject
Dependency injection for goflamingo.me/dingo
Go Dependency Injection Frameworkhashicorp/go-argmapper
A runtime dependency-injection library for Go that supports automatically chaining conversion functions to reach desired input and output types.goioc/di
Simple and yet powerful Dependency Injection for Gogo-kod/kod
A generics based dependency injection application framework for Go, supporting aspect oriented programming based on interceptorslogrange/linker
Dependency Injection and Inversion of Control packageinsolar/component-manager
component framework and dependency injection for golanggaia-pipeline/gaia
Build powerful pipelines in any programming language.concourse/concourse
Concourse is a container-based automation system written in Go.drone/autoscaler
Automatically adds or removes instances based on build volume travis-ci/worker
Worker runs your Travis CI jobsgo.mondoo.com/cnquery
open source, cloud-native, graph-based asset inventorypressly/sup
Super simple deployment tool - think of it like 'make' for a network of serversbuildpacks/pack
CLI for building apps using Cloud Native Buildpacksremind101/conveyor
A fast build system for Docker images.pachyderm/pachyderm
Data-Centric Pipelines and Data Versioninghashicorp/waypoint-plugin-sdk
Waypoint Plugin SDK enables building plugins for Waypoint: builders, deployment platforms, release managers, and more.935
jordan-wright/email
Robust and flexible email library for Goemersion/go-imap
📥 An IMAP library for clients and serverssendgrid/sendgrid-go
The Official Twilio SendGrid Golang API Libraryemersion/go-smtp
📤 An SMTP client & server library written in Gogo-gomail/gomail
The best way to send emails in Go.badoux/checkmail
Golang package for email validationflashmob/go-guerrilla
Mini SMTP server written in golangjhillyerd/enmime
MIME mail encoding and decoding package for Goemersion/go-message
✉️ A streaming Go library for the Internet Message Format and mail messagesgo-mail/mail
Fork of gomail.Embeddable scripting languages and virtual machines
robertkrimen/otto
A JavaScript interpreter in Go (golang)yuin/gopher-lua
GopherLua: VM and compiler for Lua in Gobitfield/script
Making it easy to write shell-like scripts in Gohashicorp/hil
HIL is a small embedded language for string interpolations.layeh.com/gopher-luar
simplifies data passing to and from gopher-luathomaspoignant/go-feature-flag
GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 🎛️milochristiansen/lua
A Lua 5.3 VM and compiler written in Go.ichiban/prolog
The only reasonable scripting engine for Go.sbinet/go-python
naive go bindings to the CPython2 C-APIhashicorp/go-bexpr
Generic boolean expression evaluation in Gomitchellh/mapstructure
Go library for decoding generic map values into native Go structures and vice versa.mailru/easyjson
Fast JSON serializer for golang.fatih/structs
Utilities for Go structsbuger/jsonparser
One of the fastest alternative JSON parser for Go that does not require schemajson-iterator/go
A high-performance 100% compatible drop-in replacement of "encoding/json"gocarina/gocsv
The GoCSV package aims to provide easy CSV serialization and deserialization to the golang programming languagevalyala/fastjson
Fast JSON parser and validator for Go. No custom structs, no code generation, no reflectionghodss/yaml
A better way to marshal and unmarshal YAML in Golangfrancoispqt/gojay
high performance JSON encoder/decoder with stream API for Golang goccy/go-yaml
YAML support for the Go languagehashicorp/go-multierror
A Go (golang) package for representing a list of errors as a single error.pkg/errors
Simple error handling primitivescockroachdb/errors
Go error library with error portability over the networkgo-errors/errors
errors with stacktraces for gojoomcode/errorx
A comprehensive error handling library for Gojuju/errors
Common juju errors and functions to annotate errors. Based on juju/errgorotisserie/eris
Error handling library with readable stack traces and flexible formatting support 🎆go.uber.org/multierr
Combine one or more Go errors togetherztrue/tracerr
Golang errors with stack trace and source fragments.hashicorp/errwrap
Errwrap is a Go (golang) library for wrapping and querying errors.File Handling
1.3k
fsnotify/fsnotify
Cross-platform filesystem notifications for Go.spf13/afero
A FileSystem Abstraction System for Gogabriel-vasile/mimetype
A fast Golang library for media type and file extension detection, based on magic numbersh2non/filetype
Fast, dependency-free Go package to infer binary file types based on the magic numbers header signaturehoweyc/fsnotify
File system notification for Gorjeczalik/notify
File system event notification library on steroids.radovskyb/watcher
watcher is a Go package for watching for files or directory changes without using filesystem events.karrick/godirwalk
Fast directory traversal for Golangotiai10/copy
Go copy directory recursivelyblang/vfs
Virtual filesystem library written in golangFinance
1.6k
shopspring/decimal
Arbitrary-precision fixed-point decimal numbers in Gocockroachdb/apd
Arbitrary-precision decimals for Goquickfixgo/quickfix
The Go FIX Protocol Library :rocket:ericlagergren/decimal
A high-performance, arbitrary-precision, floating-point decimal library.leekchan/accounting
money and currency formatting for golangmoov-io/ach
ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available.piquette/finance-go
:bar_chart: Financial markets data library implemented in go.markcheno/go-talib
A pure Go port of TA-Lib (http://ta-lib.org)sdcoffey/techan
Technical Analysis Library for Golangbojanz/currency
Currency handling for Go.Game Development
2.1k
Game development tools, simulators and games
hajimehoshi/ebiten
Ebitengine - A dead simple 2D game engine for Gofaiface/pixel
A hand-crafted 2D game library in Gomarkus-wa/demoinfocs-golang
A Counter-Strike 2 Demo Parser for Go (demoinfo)topfreegames/pitaya
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.notnil/chess
chess package for gojakecoffman/cp
A pure Go physics library with no dependencies. Unofficial Chipmunk2D port.lonng/nano
Lightweight, facility, high performance golang based game server frameworkxiaonanln/goworld
Scalable Distributed Game Server Engine with Hot Swapping in Golangbeefsack/go-astar
Go implementation of the A* search algorithmcherry-game/cherry
Actor model game server framework based on golangGeography
672
paulmach/orb
Types and utilities for working with 2d geometry in Golangtwpayne/go-geom
Package geom implements efficient geometry types for geospatial applications.go-spatial/tegola
Tegola is a Mapbox Vector Tile server written in Gogooglemaps.github.io/maps
Go client library for Google Maps API Web Serviceskellydunn/golang-geo
Geographical calculations in Go.mmcloughlin/geohash
Golang geohash librarycodingsince1985/geo-golang
Go library to access geocoding and reverse geocoding APIspaulmach/go.geojson
Encoding and decoding GeoJSON <-> Godhconnelly/rtreego
an R-Tree library for Gopaulmach/osm
General purpose library for reading, writing and working with OpenStreetMap dataGUI
425
fyne.io/fyne/v2
Cross platform GUI toolkit in Go inspired by Material Designlxn/walk
A Windows GUI toolkit for the Go Programming Languagegetlantern/systray
a cross platfrom Go library to place an icon and menu in the notification areaasticode/go-astilectron
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)sciter-sdk/go-sciter
Golang bindings of Sciter: the Embeddable HTML/CSS/script engine for modern UI developmentadrg/xdg
Go implementation of the XDG Base Directory Specification and XDG user directoriesandlabs/ui
Platform-native GUI library for Go.wailsapp/wails
Create beautiful applications using Gosqweek/dialog
Simple cross-platform dialog API for go-langncruces/zenity
Zenity dialogs for Golang, Windows, macOSHardware
1.8k
Interfacing with hardware and other embedded development
hybridgroup/gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)jaypipes/ghw
Go HardWare discovery/inspection librarygoburrow/modbus
Fault-tolerant implementation of modbus protocol in Go (golang)kidoman/embd
Embedded Programming Framework in Gopaypal/gatt
Gatt is a Go package for building Bluetooth Low Energy peripheralstinygo.org/x/bluetooth
Cross-platform Bluetooth API for Go and TinyGo. Supports Linux, macOS, Windows, and bare metal using Nordic SoftDevice or HCIedgexfoundry/edgex-go
EdgeX Golang Services Monorepo | Owner: Core/Support WGgokrazy/gokrazy
turn your Go program(s) into an appliance running on the Raspberry Pi 3, Pi 4, Pi 5, Pi Zero 2 W, or PCs (x86_64 or ARM64)!brutella/hc
hc is a lightweight framework to develop HomeKit accessories in Go.go-ble/ble
Bluetooth Low Energy for Linux / macOSHTTP clients
1.6k
chromedp/chromedp
A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.elazarl/goproxy
An HTTP proxy library for Goparnurzeal/gorequest
GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )hashicorp/go-retryablehttp
Retryable HTTP client in Goimroc/req
Simple Go HTTP client with Black Magichashicorp/go-getter
Package for downloading things from a string URL using a variety of protocols.levigross/grequests
A Go "clone" of the great and famous Requests librarytebeka/selenium
Selenium/Webdriver client for Godghubble/sling
A Go HTTP client library for creating and sending API requestsantchfx/htmlquery
htmlquery is golang XPath package for HTML query.HTTP framework
3.6k
gin-gonic/gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.labstack/echo
High performance, minimalist Go web frameworkvalyala/fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/httpgorilla/mux
Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍julienschmidt/httprouter
A high performance HTTP request router that scales wellgo-chi/chi
lightweight, idiomatic and composable router for building Go HTTP servicesmicro/go-micro
A Go microservices frameworkemicklei/go-restful
package for building REST-style Web Services using Gogo-martini/martini
Classy web framework for Gogoadesign/goa
Design-first Go framework that generates API code, documentation, and clients. Define once in an elegant DSL, deploy as HTTP and gRPC services with zero drift between code and docs.swaggo/swag
Automatically generate RESTful API documentation with Swagger 2.0 for Go.rs/cors
Go net/http configurable handler to handle CORS requestsswaggo/gin-swagger
gin middleware to automatically generate RESTful API documentation with Swagger 2.0.gin-contrib/cors
Official CORS gin's middlewarejustinas/nosurf
CSRF protection middleware for Go.gin-contrib/sessions
Gin middleware for session managementjustinas/alice
Painless middleware chaining for Godidip/tollbooth
Simple middleware to rate-limit HTTP requests.gorilla/handlers
Package gorilla/handlers is a collection of useful middleware for Go HTTP services & web applications 🛃gorilla/csrf
Package gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒Identifiers
476
satori/go.uuid
UUID package for Gogoogle/uuid
Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.segmentio/ksuid
K-Sortable Globally Unique IDsrs/xid
xid is a globally unique id generator thought for the webbwmarrin/snowflake
A simple to use Go (golang) package to generate or parse Twitter snowflake IDsgofrs/uuid
A UUID package for Gosony/sonyflake
A distributed unique ID generator inspired by Twitter's Snowflakematoous/go-nanoid
Golang random IDs generator.teris-io/shortid
Super short, fully unique, non-sequential and URL friendly Idsdenisbrodbeck/machineid
Get the unique machine id of any host (without admin privileges)Kubernetes
5.5k
sigs.k8s.io/controller-runtime
Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)fission/fission
Fast and Simple Serverless Functions for Kubernetesericchiang/k8s
A simple Kubernetes Go clientk8s.io/kops
Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Managementk8s.io/code-generator
Generators for kube-like API typesk8s.io/cloud-provider
cloud-provider defines the shared interfaces which Kubernetes cloud providers implement. These interfaces allow various controllers to integrate with any cloud provider in a pluggable fashion. Please file any issues against the main Kubernetes repo.rook/operator-kit
A library for creating a Kubernetes Operatorfluid-cloudnative/fluid
Fluid, elastic data abstraction and acceleration for BigData/AI applications in cloud. (Project under CNCF) atlassian/smith
Smith is a Kubernetes workflow engine / resource managertopolvm/topolvm
Capacity-aware CSI plugin for KubernetesLoad Testing
377
myzhan/boomer
A better load generator for locust, written in golang.pinterest/bender
An easy-to-use library for creating load testing applicationsmrichman/hargo
Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.lesovsky/noisia
Harmful workload generator for PostgreSQLemicklei/hazana
package to build load tests for services (http, gRPC, tcp) by implementing an Attackertylertreat/bench
A generic latency benchmarking library.tsenart/vegeta
HTTP load testing tool and library. It's over 9000!httprunner/hrp
One-stop solution for HTTP(S) testing, covering API testing, load testing and digital experience monitoring (DEM).square/finch
MySQL Benchmarking: Declarative, Distributed, and Amazingrakyll/hey
HTTP load generator, ApacheBench (ab) replacementLogging
4k
sirupsen/logrus
Structured, pluggable logging for Go.rs/zerolog
Zero Allocation JSON Loggergo.uber.org/zap
Blazing fast, structured, leveled logging in Go.golang/glog
Leveled execution logs for Gouber-go/zap
Blazing fast, structured, leveled logging in Go.natefinch/lumberjack
lumberjack is a log rolling package for Goop/go-logging
Golang logging librarycihub/seelog
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.apex/log
Structured logging package for Go.go-logr/logr
A simple logging interface for GoAnd science in general: math, statistics, etc.
montanaflynn/stats
A well tested and comprehensive Golang statistics library package with no dependencies.gorgonia.org/gorgonia
Gorgonia is a library that helps facilitate machine learning in Go.grailbio/reflow
A language and runtime for distributed, incremental data processing in the cloudjbrukh/bayesian
Naive Bayesian Classification for Golang.gonum/matrix
Matrix packages for the Go language [DEPRECATED]sajari/regression
Multivariable regression library in Goscipipe/scipipe
Robust, flexible and resource-efficient pipelines using Go and the commandlinegonum/stat
Statistics package for Go [DEPRECATED]sugarme/gotch
Go binding for Pytorch C++ API (libtorch)patrikeh/go-deep
Artificial Neural NetworkMessaging
2.7k
streadway/amqp
Go client for AMQP 0.9.1nats-io/nats.go
Golang client for NATS, the cloud native messaging system.nsqio/go-nsq
The official Go package for NSQpebbe/zmq4
A Go interface to ZeroMQ version 4bsm/sarama-cluster
Cluster extensions for Sarama, the Go client library for Apache Kafka 0.9 [DEPRECATED]sideshow/apns2
⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.gen2brain/beeep
Go cross-platform library for sending desktop notifications, alerts and beepslovoo/goka
Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.centrifugal/centrifuge
Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.containrrr/shoutrrr
Notification library for gophers and their furry friends.miekg/dns
DNS library in Gogoogle/gopacket
Provides packet processing capabilities for Golibp2p/go-libp2p
libp2p implementation in Govishvananda/netlink
Simple netlink library for go.gobwas/ws
Tiny WebSocket library for Go.hashicorp/yamux
Golang connection multiplexing librarypkg/sftp
SFTP support for the go.crypto/ssh packageanacrolix/torrent
Full-featured BitTorrent client package and utilitiesgoogollee/go-socket.io
socket.io library for golang, a realtime application framework.v2ray.com/core
A platform for building proxies to bypass network restrictions.opentracing/opentracing-go
OpenTracing API for Go. 🛑 This library is DEPRECATED! https://github.com/opentracing/specification/issues/163rcrowley/go-metrics
Go port of Coda Hale's Metrics librarypkg/profile
Simple profiling for Gouber-go/tally
A Go metrics interface with fast buffered metrics and third party reportersnewrelic/go-agent
New Relic Go Agentgin-contrib/pprof
gin pprof middlewareopenzipkin/zipkin-go
Zipkin distributed tracing library for go.felixge/fgprof
🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.openzipkin-contrib/zipkin-go-opentracing
OpenTracing Bridge for Zipkin Gogo.opentelemetry.io/contrib
Collection of extensions for OpenTelemetry-Go.hashicorp/go-plugin
Golang plugin system over RPC.fullstorydev/grpcurl
Like cURL, but for gRPC: Command-line tool for interacting with gRPC serversgrpc-ecosystem/go-grpc-prometheus
Prometheus monitoring for your gRPC Go servers.nats-io/stan.go
NATS Streaming Systemcontainerd/ttrpc
GRPC for low-memory environmentsstorj.io/drpc
drpc is a lightweight, drop-in replacement for gRPCgorilla/rpc
Package gorilla/rpc is a golang foundation for RPC over HTTP services.go.uber.org/yarpc
A message passing platform for Gonatefinch/pie
a toolkit for creating plugins for Go applicationssourcegraph/jsonrpc2
Package jsonrpc2 provides a client and server implementation of JSON-RPC 2.0 (http://www.jsonrpc.org/specification)Security
1.7k
caddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPScaddyserver/certmagic
Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewalhoweyc/gopass
getpasswd for Gonbutton23/zxcvbn-go
zxcvbn password complexity algorithm in golanggin-gonic/autotls
Support Let's Encrypt for a Go server application.rsc/letsencrypt
Manage TLS certificates automatically via LetsEncrypt.orgprojectdiscovery/cdncheck
A utility to detect various technology for a given IP address.muesli/crunchy
Finds common flaws in passwords. Like cracklib, but written in Go.johanbrandhorst/certify
Automatic client and server certificate distribution and maintenancegoogle/safebrowsing
Safe Browsing API Go Clientkardianos/service
Run go programs as a service on major platforms.cilium/ebpf
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.sevlyar/go-daemon
A library for writing system daemons in golang.go-ole/go-ole
win32 ole implementation for golangprometheus/procfs
procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.mitchellh/go-ps
Find, list, and inspect processes from Go (golang).Microsoft/go-winio
Win32 IO-related utilities for Goedsrzf/mmap-go
A portable mmap package for Gogoogle/gousb
gousb provides low-level interface for accessing USB devicesTemplate Engines
1.3k
valyala/quicktemplate
Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/templateunrolled/render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses.gobuffalo/plush
The powerful template system that Go needsvalyala/fasttemplate
Simple and fast template engine for Goyosssi/ace
HTML template engine for Goaymerick/raymond
Handlebars for golangcbroglie/mustache
The mustache template language in Goeknkc/amber
Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jademaragu.dev/gomponents
HTML components in pure Go.a-h/templ
A language for writing HTML user interfaces in Go.Testing
2.6k
onsi/gomega
Ginkgo's Preferred Matcher Libraryory/dockertest
Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.jarcoal/httpmock
HTTP mocking for Golangsanity-io/litter
Litter is a pretty printer library for Go data structures to aid in debugging and testing.brianvoe/gofakeit
Random fake data generator written in gogoogle/gofuzz
Fuzz testing for go.pingcap/failpoint
An implementation of failpoints for Golang.benbjohnson/clock
Clock is a small library for mocking time in Go.cucumber/godog
Cucumber for golanggavv/httpexpect
End-to-end HTTP and REST API testing for Go.Text Processing
1.8k
Processing and formatting text
dustin/go-humanize
Go Humans! (formatters for units to human friendly sizes)kr/pretty
Pretty printing for Go valuesgosimple/slug
URL-friendly slugify with multiple languages support.huandu/xstrings
Implements string functions widely used in other languages but absent in Go.dlclark/regexp2
A full-featured regex engine in pure Go based on the .NET enginemvdan/xurls
Extract urls from textsahilm/fuzzy
Go library that provides fuzzy string matching optimized for filenames and code symbols in the style of Sublime Text, VSCode, IntelliJ IDEA et al.mvdan.cc/xurls/v2
Extract urls from textiancoleman/strcase
A golang package for converting to snake_case or CamelCasego-ego/gse
Go efficient multilingual NLP and text segmentation; support English, Chinese, Japanese and others.TUI
899
TUI and advanced CLI UI
fatih/color
Color package for Go (golang)gizak/termui
Golang terminal dashboardrivo/tview
Terminal UI library with rich, interactive widgets — written in Golangolekukonko/tablewriter
ASCII table in golangjroimartin/gocui
Minimalist Go package aimed at creating Console User Interfaces.nsf/termbox-go
Pure Go termbox implementationgdamore/tcell
Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.cheggaaa/pb
Console progress bar for Golangbriandowns/spinner
Go (golang) package with 90 configurable terminal spinner/progress indicators.logrusorgru/aurora
Golang ultimate ANSI-colors that supports Printf/Sprintf methodsUncategorized
75.2k
gorilla/websocket
Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.tidwall/gjson
Get JSON values quickly - JSON parser for Goinfluxdata/telegraf
Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.olivere/elastic
Deprecated: Use the official Elasticsearch client for Go at https://github.com/elastic/go-elasticsearchbwmarrin/discordgo
(Golang) Go bindings for Discorddop251/goja
ECMAScript/JavaScript engine in pure Gorussross/blackfriday
Blackfriday: a markdown processor for Gographql-go/graphql
An implementation of GraphQL for Go / Golangjinzhu/copier
Copier for golang, copy value from struct to struct and morespf13/cast
safe and easy casting from one type to another in Go Validation
470
asaskevich/govalidator
[Go] Package of validators and sanitizers for strings, numerics, slices and structsgo-playground/validator
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array divingxeipuuv/gojsonschema
An implementation of JSON Schema, draft v4 v6 & v7 - Go languagemwitkow/go-proto-validators
Generate message validators from .proto annotations.nyaruka/phonenumbers
GoLang port of Google's libphonenumber librarygookit/validate
⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。thedevsaddam/govalidator
Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.qri-io/jsonschema
golang implementation of https://json-schema.org drafts 7 & 2019-09ttacon/libphonenumber
golang port of Google's libphonenumbergo-openapi/validate
openapi toolkit validation helpersVersion Control
2.5k
Git, Mercurial and so on
gogs/go-gogs-client
Gogs API client in Go.ktrysmt/go-bitbucket
Bitbucket API library for Golang.gogs/git-module
Package git-module is a Go module for Git access through shell commandssrc-d/gitbase
SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbaseandygrunwald/go-gerrit
Go client/library for Gerrit Code Reviewgit-duet/git-duet
Support for pairing with gitsosedoff/gitkit
Git toolkit for Go: Smart HTTP server, SSH server, hook receivercreativeprojects/go-selfupdate
self update your applications in gotcnksm/go-gitconfig
Use gitconfig values in Golang.plouc/go-gitlab-client
A Go gitlab API client & powerful CLI written in GoVideo
875
Video and subtitles
grafov/m3u8
Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema:asticode/go-astits
Demux and mux MPEG Transport Streams (.ts) natively in GOu2takey/ffmpeg-go
golang binding for ffmpegasticode/go-astisub
Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.)rylio/ytdl
YouTube download library and CLI written in Goblackjack/webcam
Golang webcam library for Linuxpion/mediadevices
Go implementation of the MediaDevices API.abema/go-mp4
Go library for reading and writing MP4 file3d0c/gmf
Go Media Frameworkcyruzin/golang-tmdb
This is a Golang wrapper for working with TMDb API. It aims to support version 3.WebAssembly
259
rogchap.com/v8go
Execute JavaScript from Govugu/vugu
Vugu: A modern UI library for Go+WebAssembly (experimental)hexops/vecty
Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.tetratelabs/wazero
wazero: the zero dependency WebAssembly runtime for Go developersbytecodealliance/wasmtime-go
Go WebAssembly runtime powered by Wasmtimenorunners/vue
The progressive framework for WebAssembly applications.webview/webview_go
Go language bindings for the webview library.wapc/wapc-go
Golang-based WebAssembly Host Runtime for waPC-compliant modulessyumai/workers
Go package to run an HTTP server on Cloudflare Workers.