A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.
Contributing
Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Contents
- Awesome Go
- Audio & Music
- Authentication & OAuth
- Command Line
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Structures
- Database
- Database Drivers
- Date & Time
- Distributed Systems
- Embeddable Scripting Languages
- Financial
- Forms
- Game Development
- Generation & Generics
- Go Compilers
- Goroutines
- GUI
- Hardware
- Images
- Logging
- Machine Learning
- Messaging
- Miscellaneous
- Natural Language Processing
- Networking
- OpenGL
- ORM
- Package Management
- Query Language
- Resource Embedding
- Science and Data Analysis
- Security
- Serialization
- Template Engines
- Testing
- Text Processing
- Third-party APIs
- Utilities
- Validation
- Version Control
- Video
- Web Frameworks
- Windows
- Tools
- Server Applications
- Resources
Audio/Music
Libraries for manipulating audio.- flac - A native Go FLAC decoder.
- flac - A native Go FLAC decoder.
- go-sox - libsox bindings for go.
- go_mediainfo - libmediainfo bindings for go.
- mix - Sequence-based Go-native audio mixer for music apps.
- mp3 - A native Go MP# decoder.
- music-theory - Music theory models in Go.
- PortAudio - Go bindings for the PortAudio audio I/O library.
- portmidi - Go bindings for PortMidi.
- taglib - Go bindings for taglib.
- vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies).
- waveform - Go package capable of generating waveform images from audio streams.
Authentication & OAuth
Libraries for implementing authentications schemes.- authboss - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time.
- Go-AWS-Auth - AWS (Amazon Web Services) request signing library.
- go-jose - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
- go.auth - Authentication API for Go web applications.
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
- goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box.
- httpauth - HTTP Authentication middleware.
- jwt-go - Golang implementation of JSON Web Tokens (JWT).
- oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
- osin - Golang OAuth2 server library.
- permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
- yubigo - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application.
Command Line
Standard CLI
Libraries for building standard or basic Command Line applications- cli - A feature-rich and easy to use command-line package based on golang tag
- cli-init - The easy way to start building Golang command line application.
- climax - An alternative CLI with "human face", in spirit of Go command
- cobra - A Commander for modern Go CLI interactions
- codegangsta/cli - A small package for building command line apps in Go.
- docopt.go - A command-line arguments parser that will make you smile.
- go-flags - go command line option parser
- kingpin - A command line and flag parser supporting sub commands.
- liner - A Go readline-like library for command-line interfaces.
- mitchellh/cli - A Go library for implementing command-line interfaces.
- mow.cli - A Go library for building CLI applications with sophisticated flag and argument parsing and validation.
- readline - A pure golang implementation that provide most of features in GNU-Readline under MIT license.
- ukautz/clif - A small command line interface framework.
- wlog - A simple logging interface that supports cross-platform color and concurrency.
- wmenu - An easy to use menu structure for cli applications that prompts users to make choices.
Advanced Console UIs
Libraries for building Console Applications and Console User Interfaces- chalk - Intuitive package for prettifying terminal/console output.
- color - Versatile package for colored terminal output.
- colourize - Go library for ANSI colour text in terminals.
- go-colortext - Go library for color output in terminals.
- gocui - Minimalist Go library aimed at creating Console User Interfaces.
- gommon/color - Style terminal text.
- termbox-go - Termbox is a library for creating cross-platform text-based interfaces.
- termtables - A Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output
- termui - Go terminal dashboard based on termbox-go and inspired by blessed-contrib.
- uilive - A library for updating terminal output in realtime.
- uiprogress - A flexible library to render progress bars in terminal applications.
- uitable - A library to improve readability in terminal apps using tabular data.
Configuration
Libraries for configuration parsing- config - JSON or YAML configuration wrapper with environment variables and flags parsing.
- configure - Provides configuration through multiple sources, including JSON, flags and environment variables.
- env - Parse environment variables to Go structs (with defaults).
- envcfg - Un-marshaling environment variables to Go structs.
- envconf - Configuration from environment
- envconfig - Read your configuration from environment variables.
- gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections
- gofigure - Go application configuration made easy
- ingo - Flags persisted in an ini-like config file
- ini - Go package for read and write INI files
- mini - A golang package for parsing ini-style configuration files
- store - A lightweight configuration manager for Go
- viper - Go configuration with fangs
Continuous Integration
Tools for help with continuous integration- drone - Drone is a Continuous Integration platform built on Docker, written in Go
- goveralls - Go integration for Coveralls.io continuous code coverage tracking system.
- overalls - Multi-Package go project coverprofile for tools like goveralls
CSS Preprocessors
Libraries for preprocessing CSS files- c6 - High performance SASS compatible-implementation compiler written in Go
- gcss - Pure Go CSS Preprocessor.
- go-libsass - Go wrapper to the 100% Sass compatible libsass project.
Data Structures
Generic datastructures and algorithms in Go.- binpacker - Binary packer and unpacker helps user build custom binary stream.
- bitset - Go package implementing bitsets.
- bloom - Bloom filters implemented in Go.
- boomfilters - probabilistic data structures for processing continuous, unbounded streams
- count-min-log - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
- cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
- encoding - Integer Compression Libraries for Go.
- go-adaptive-radix-tree - A Go implementation of Adaptive Radix Tree.
- go-datastructures - a collection of useful, performant, and thread-safe data structures
- go-geoindex - In-memory geo index.
- golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go.
- goskiplist - A skip list implementation in Go.
- mafsa - MA-FSA implementation with Minimal Perfect Hashing
- roaring - Go package implementing compressed bitsets.
- skiplist - Skiplist implementation in Go
- trie - Trie implementation in Go
- ttlcache - An in-memory LRU string-interface{} map with expiration for golang
- willf/bloom - Go package implementing Bloom filters.
Database
Databases implemented in Go.- bolt - A low-level key/value database for Go.
- cache2go - An in-memory key:value cache which supports automatic invalidation based on timeouts.
- cockroach - A Scalable, Geo-Replicated, Transactional Datastore
- couchcache - A RESTful caching micro-service backed by Couchbase server.
- dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database.
- diskv - A home-grown disk-backed key-value store.
- forestdb - Go bindings for ForestDB.
- GCache - Cache library with support for expirable Cache, LFU, LRU and ARC.
- go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
- goleveldb - An implementation of the LevelDB key/value database in the Go.
- groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
- influxdb - Scalable datastore for metrics, events, and real-time analytics
- ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB.
- levigo - Levigo is a Go wrapper for LevelDB.
- prometheus - Monitoring system and time series database.
- rqlite - Replicated SQLite, using Raft consensus.
- tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1.
- tiedot - Your NoSQL database powered by Golang.
- Tile38 - A geolocation DB with spatial index and realtime geofencing.
- go-mysql - A go toolset to handle MySQL protocol and replication.
- go-mysql-elasticsearch - Sync your MySQL data into Elasticsearch automatically.
- goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
- kingshard - kingshard is a high performance proxy for MySQL powered by Golang.
- migrate - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite.
- myreplication - MySql binary log replication listener. Support statement and row based replication.
- orchestrator - MySQL replication topology manager & visualizer
- pgweb - A web-based PostgreSQL database browser
- pravasan - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc.,
- sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.
- vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
- dat - Go Postgres Data Access Toolkit
- Dotsql - Go library that helps you keep sql files in one place and use it with ease.
- goqu - An idiomatic SQL builder and query library.
- igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
- ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- scaneo - Generate Go code to convert database rows into arbitrary structs.
- sqrl - SQL query builder, fork of Squirrel with improved performance.
- Squirrel - Go library that helps you build SQL queries.
- xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
Database Drivers
Libraries for connecting and operating databases.- Relational Databases
- firebirdsql - Firebird RDBMS SQL driver for Go
- go-adodb - Microsoft ActiveX Object DataBase driver for go that using database/sql.
- go-bqstreamer - BigQuery fast and concurrent stream insert.
- go-mssqldb - Microsoft MSSQL driver prototype in go language.
- go-oci8 - Oracle driver for go that using database/sql.
- go-sql-driver/mysql - MySQL driver for Go.
- go-sqlite3 - SQLite3 driver for go that using database/sql.
- gofreetds Microsoft MSSQL driver. Go wrapper over FreeTDS.
- pgx - PostgreSQL driver supporting features beyond those exposed by database/sql.
- pq - Pure Go Postgres driver for database/sql.
- NoSQL Databases
- aerospike-client-go - Aerospike client in Go language.
- arangolite - Lightweight golang driver for ArangoDB.
- cayley - A graph database with support for multiple backends.
- dynago - Dynago is a principle of least surprise client for DynamoDB
- go-couchbase - Couchbase client in Go
- go-couchdb - Yet another CouchDB HTTP API wrapper for Go
- gocb - Official Couchbase Go SDK
- gocql - A Go language driver for Apache Cassandra.
- gomemcache - memcache client library for the Go programming language.
- gorethink - Go language driver for RethinkDB
- mgo - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
- neo4j - Neo4j Rest API Bindings for Golang
- Neo4j-GO - Neo4j REST Client in golang.
- neoism - Neo4j client for Golang
- redigo - Redigo is a Go client for the Redis database.
- redis - Redis client for Golang
- redis - A simple, powerful Redis client for Go.
- redis - Redis-protocol compatible TCP servers/services.
- Search and Analytic Databases
Date & Time
Libraries for working with dates and times.- go-persian-calendar - The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
- goweek - Library for working with week entity in golang.
- now - Now is a time toolkit for golang.
- NullTime - Nullable time.Time
- timeutil - Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
Distributed Systems
Packages that help with building Distributed Systems.- celeriac - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go
- flowgraph - MPI-style ready-send coordination layer.
- glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
- go-jump - A port of Google's "Jump" Consistent Hash function.
- gorpc - Simple, fast and scalable RPC library for high load.
- grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC.
- micro - A pluggable microservice toolkit and distributed systems platform.
- raft - Golang implementation of the Raft consensus protocol, by HashiCorp.
- torrent - BitTorrent client package.
- dht - BitTorrent Kademlia DHT implementation.
- go-peerflix - Video streaming torrent client.
- douceur - CSS inliner for your HTML emails.
- email - A robust and flexible email library for Go.
- go-dkim - A DKIM library, to sign & verify email.
- Gomail - Gomail is a very simple and powerful package to send emails.
- Hectane - Lightweight SMTP client providing an HTTP API
- MailHog - Email and SMTP testing with web and API interface
- SendGrid - SendGrid's Go library for sending email
- smtp - SMTP server protocol state machine
Embeddable Scripting Languages
Embedding other languages inside your go code- agora - Dynamically typed, embeddable programming language in Go
- anko - Scriptable interpreter written in Go
- gisp - Simple LISP in Go
- go-duktape - Duktape JavaScript engine bindings for Go
- go-lua - A port of the Lua 5.2 VM to pure Go
- go-php - PHP bindings for Go
- go-python - naive go bindings to the CPython C-API
- golua - Go bindings for Lua C API
- gopher-lua - a Lua 5.1 VM and compiler written in Go
- otto - A JavaScript interpreter written in Go
- purl - Perl 5.18.2 embedded in Go
Financial
Packages for accounting and finance- accounting - money and currency formatting for golang
- decimal - Arbitrary-precision fixed-point decimal numbers
Forms
Libraries for working with forms.- bind - Bind form data to any Go values
- binding - Binds form and JSON data from net/http Request to struct.
- conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
- formam - decode form's values into a struct.
- forms - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
- gorilla/csrf - CSRF protection for Go web applications & services.
- nosurf - A CSRF protection middleware for Go.
Game Development
Awesome game development libraries.- engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
- GarageEngine - 2d game engine written in Go working on OpenGL.
- glop - Glop (Game Library Of Power) is a fairly simple cross-platform game library.
- go-astar - Go implementation of the A* path finding algorithm
- go-collada - Go package for working with the Collada file format.
- go-sdl2 - Go bindings for the Simple DirectMedia Layer.
- go3d - A performance oriented 2D/3D math package for Go
- gonet - A game server skeleton implemented with golang
- Leaf - A lightweight game server framework
- termloop - Terminal-based game engine for Go, built on top of Termbox
Generation & Generics
Tools to enhance the language with features like generics via code generation- gen - Code generation tool for ‘generics’-like functionality.
- go-linq - .NET LINQ-like query methods for Go.
- interfaces - Command line tool for generating interface definitions.
- pkgreflect - A Go preprocessor for package scoped reflection.
Go Compilers
Tools for compiling Go to other languages- gopherjs - A compiler from Go to JavaScript.
- llgo - LLVM-based compiler for Go.
- tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
Goroutines
Tools for managing and working with Goroutines- grpool - Lightweight Goroutine pool.
- pool - Go consumer goroutine pool for easy goroutine handling + time saving.
- tunny - A goroutine pool for golang.
GUI
Libraries for building GUI Applications- go-gtk - Go bindings for GTK
- go-qml - QML support for the Go language
- goqt - Golang bindings to the Qt cross-platform application framework.
- gosx-notifier - OSX Desktop Notifications library for Go.
- gotk3 - Go bindings for GTK3.
- sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development.
- systray - Cross platform Go library to place an icon and menu in the notification area
- trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar.
- ui - Platform-native GUI library for Go.
- walk - Windows application library kit for Go.
Hardware
Libraries, tools, and tutorials for interacting with hardware.See go-hardware for a comprehensive list.
Images
Libraries for manipulating images.- bimg - Small package for fast and efficient image processing using libvips
- geopattern - Create beautiful generative image patterns from a string.
- gift - Package of image processing filters.
- go-cairo - Go binding for the cairo graphics library.
- go-gd - Go binding for GD library
- go-nude - Nudity detection with Go.
- go-opencv - Go bindings for OpenCV.
- go-webcolors - Port of webcolors library from Python to Go.
- imagick - Go binding to ImageMagick's MagickWand C API.
- imaginary - Fast and simple HTTP microservice for image resizing
- imaging - Simple Go image processing package.
- img - A selection of image manipulation tools.
- mpo - A decoder and conversion tool for MPO 3D Photos.
- picfit - An image resizing server written in Go
- resize - Image resizing for the Go with common interpolation methods.
- rez - Image resizing in pure Go and SIMD.
- smartcrop - Finds good crops for arbitrary images and crop sizes
- svgo - Go Language Library for SVG generation.
- tga - Package tga is a TARGA image format decoder/encoder.
Logging
Libraries for generating and working with log files.- glog - Leveled execution logs for Go.
- go-log - Log lib supports level and multi handlers.
- go-log - A log4j implementation in Go.
- go-logger - Simple logger of Go Programs, with level handlers.
- gologger - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch.
- log - Structured logging package for Go.
- log - Simple, configurable and scalable Structured Logging for Go.
- log-voyage - Full-featured logging saas written in golang.
- log15 - Simple, powerful logging for Go
- logex - An golang log lib, supports tracking and level, wrap by standard log lib
- logger - Minimalistic logging library for Go.
- logrus - a structured logger for Go.
- logrusly - logrus plug-in to send errors to a Loggly.
- logutils - Utilities for slightly better logging in Go (Golang) extending the standard logger.
- logxi - A 12-factor app logger that is fast and makes you happy.
- lumberjack - Simple rolling logger, implements io.WriteCloser.
- mlog - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
- ozzo-log - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).
- seelog - logging functionality with flexible dispatching, filtering, and formatting.
- slf - The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go)
- slog - The reference implementation of the Structured Logging Facade (SLF) for Go
- stdlog - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
- tail - A Go package striving to emulate the features of the BSD tail program.
- xlog - A structured logger for
net/context
aware HTTP handlers with flexible dispatching.
Machine Learning
Libraries for Machine Learning.- bayesian - Naive Bayesian Classification for Golang.
- CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
- gago - Multi-population, flexible, parallel genetic algorithm.
- go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library.
- 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
- goml - On-line Machine Learning in Go
- goRecommend - Recommendation Algorithms library written in Go.
- libsvm - libsvm golang version derived work based on LIBSVM 3.14.
- mlgo - This project aims to provide minimalistic machine learning algorithms in Go.
- neural-go - A multilayer perceptron network implemented in Go, with training via backpropagation.
- probab - Probability distribution functions. Bayesian inference. Written in pure Go.
- regommend - Recommendation & collaborative filtering engine
- shield - Bayesian text classifier with flexible tokenizers and storage backends for Go
Messaging
Libraries that implement messaging systems- Centrifugo - Real-time messaging (Websockets or SockJS) server in Go.
- dbus - Native Go bindings for D-Bus.
- emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
- EventBus - The lightweight event bus with async compatibility.
- go-longpoll - PubSub with long polling.
- go-notify - Native implementation of the freedesktop notification spec.
- go-nsq - the official Go package for NSQ
- gopush-cluster - gopush-cluster is a go push server cluster.
- gorush - A push notification server using APNs2 and google GCM.
- machinery - An asynchronous task queue/job queue based on distributed message passing.
- mangos - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability.
- NATS - A lightweight and highly performant publish-subscribe and distributed queueing messaging system.
- oplog - A generic oplog/replication system for REST APIs
- pubsub - A simple pubsub package for go.
- sarama - A Go library for Apache Kafka.
- Uniqush-Push - A redis backed unified push service for server-side notifications to mobile devices.
- zmq4 - A Go interface to ZeroMQ version 4. Also available for version 3 and version 2.
Miscellaneous
These libraries were placed here because none of the other categories seemed to fit- afero - A FileSystem Abstraction System for Go.
- 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.
- banner - Add beautiful banners into your Go applications.
- browscap_go - GoLang Library for Browser Capabilities Project.
- datacounter - Go counters for readers/writer/http.ResponseWriter.
- go-chat-bot - IRC, Slack & Telegram bot written in Go.
- go-commons-pool - A generic object pool for Golang.
- go-multierror - A Go (golang) package for representing a list of errors as a single error.
- go-shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs.
- gopsutil - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
- gosms - Your own local SMS gateway in Go that can be used to send SMS
- gountries - A package that exposes country and subdivision data.
- health - A Easy to use, extensible health check library.
- jobs - A persistent and flexible background jobs library.
- margelet - A framework for building Telegram bots.
- notify - File system event notification library with simple API, similar to os/signal.
- secdl - Lighttpd ModSecDownload algorithm ported to go to secure download urls.
- stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
- werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.
- xkg - X Keyboard Grabber
- xstrings - A collection of useful string functions ported from other languages.
Natural Language Processing
Libraries for working with human languages.- dpar - Transition-based statistical dependency parser.
- go-eco - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models.
- go-i18n - A package and an accompanying tool to work with localized text.
- go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
- go-stem - Implementation of the porter stemming algorithm.
- go2vec - Reader and utility functions for word2vec embeddings.
- gojieba - This is a Go implementation of jieba which a Chinese word splitting algorithm.
- golibstemmer - Go bindings for the snowball libstemmer library including porter 2
- gounidecode - Unicode transliterator (also known as unidecode) for Go
- icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
- libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
- MMSEGO - This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
- 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.
- segment - A Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
- sentences - A sentence tokenizer: converts text into a list of sentences.
- snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
- stemmer - Stemmer packages for Go programming language. Includes English and German stemmers.
- textcat - A Go package for n-gram based text categorization, with support for utf-8 and raw text
Networking
Libraries for working with various layers of the network- 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)
- dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
- dns - Go library for working with DNS
- ether - A 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
- ftp - Package ftp implements a FTP client as described in RFC 959.
- go-getter - A Go library for downloading files or directories from various sources using a URL.
- go-stun - A go implementation of the STUN client (RFC 3489 and RFC 5389).
- golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
- gopacket - A Go library for packet processing with libpcap bindings
- gopcap - A 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 - A Go package for quickly writing tcp applications
- grab - Go package for managing file downloads
- graval - An experimental FTP server framework.
- kcp-go - KCP - A Fast and Reliable ARQ Protocol.
- 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.
- portproxy - Simple TCP proxy which adds CORS support to API's which don't support it.
- 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.
- sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
- tcp_server - A Go library for building tcp servers faster.
- utp - Go uTP micro transport protocol implementation.
OpenGL
Libraries for using OpenGL in Go.- gl - Go bindings for OpenGL (generated via glow).
- glfw - Go bindings for GLFW 3.
- 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.
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques.- beego orm - A powerful orm framework for go. Support: pq/mysql/sqlite3.
- go-store - A simple and fast Redis backed key-value store library for Go.
- gomodel - A lightweight, fast, orm-like library helps interactive with database.
- GORM - The fantastic ORM library for Golang, aims to be developer friendly.
- gorp - Go Relational Persistence, ORM-ish library for Go.
- QBS - Stands for Query By Struct. A Go ORM.
- Storm - Simple and powerful ORM for BoltDB.
- 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.
- Zoom - A blazing-fast datastore and querying engine built on Redis.
Package Management
Libraries for package and dependency management.- gigo - PIP-like dependency tool for golang, with support for private repositories and hashes.
- 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 - A simple dependency manager for Go (golang), inspired by Bundler.
- gopm - Go Package Manager
- gpm - Barebones dependency manager for Go.
- johnny-deps - Minimal dependency version using Git
- nut - Vendor Go dependencies
- VenGO - create and manage exportable isolated go virtual environments
Query Language
- graphql - graphql parser + utilities.
- graphql - GraphQL implementation in go.
- graphql-go - An implementation of GraphQL for Go.
- jsonql - JSON query expression library in Golang.
Resource Embedding
- fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use.
- go-bindata - Package that converts any file into managable Go source code.
- go-embed - Generates go code to embed resource files into your library or executable
- 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.
- statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
- vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
Science and Data Analysis
Libraries for scientific computing and data analyzing.- blas - Implementation of BLAS (Basic Linear Algebra Subprograms)
- chart - Simple Chart Plotting library for Go. Supports many graphs types.
- evaler - A simple floating point arithmetic expression evaluator
- ewma - Exponentially-weighted moving averages
- geom - 2D geometry for golang
- go-dsp - Digital Signal Processing for Go
- go-fn - Mathematical functions written in Go language, that are not covered by math pkg
- go-gt - Graph theory algorithms written in "Go" language
- go.matrix - linear algebra for go (has been stalled)
- gocomplex - A complex number library for the Go programming language.
- gofrac - A (goinstallable) fractions library for go with support for basic arithmetic.
- gohistogram - Approximate histograms for data streams
- gonum/mat64 - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices.
- gonum/plot - gonum/plot provides an API for building and drawing plots in Go.
- goraph - A pure Go graph theory library(data structure, algorith visualization)
- gostat - A statistics library for the go language
- mudlark-go - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language.
- pagerank - Weighted PageRank algorithm implemented in Go
- stats - A statistics package with common functions missing from the Golang standard library.
- streamtools - general purpose, graphical tool for dealing with streams of data.
- vectormath - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive)
Security
Libraries that are used to help make your application more secure.- acmetool — ACME (Let's Encrypt) client tool with automatic renewal.
- BadActor - An in-memory, application-driven jailer built in the spirit of fail2ban
- go-yara - Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)"
- lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt)
- passlib - Futureproof password hashing library.
- simple-scrypt - an scrypt package with a simple, obvious API and automatic cost calibration built-in.
Serialization
Libraries and tools for binary serialization- asn1 - Asn.1 BER and DER encoding library for golang
- colfer - Code generation for the Colfer binary format
- go-capnproto - Cap'n Proto library and parser for go
- bambam - generator for Cap'n Proto schemas from 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
- 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.
- 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
- structomap - Library to easily and dynamically generate maps from static structures.
Server Applications
- 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.
- devd - A local webserver for developers
- etcd - A highly-available key value store for shared configuration and service discovery.
- minio - Minio is a distributed object storage server.
- nsq - A realtime distributed messaging platform
- yakvs - A small, networked, in-memory key-value store.
Template Engines
Libraries and tools for templating and lexing.- ace - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold.
- amber - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade.
- damsel - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others.
- ego - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
- fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.
- gofpdf - A PDF document generator with high level support for text, drawing and images.
- kasia.go - Templating system for HTML and other text documents - go implementation.
- mustache - A Go implementation of the Mustache template language.
- pongo2 - A 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 - A complete handlebars implementation in Go.
- Razor - Razor view engine for Golang.
- Soy - Closure templates (aka Soy templates) for Go, following the official spec
Testing
Libraries for testing codebases and generating test data.- Testing Frameworks
- assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions
- assert - Asserts to Go testing
- badio - Extensions to Go's
testing/iotest
package - bro - Watch files in directory and run tests for them
- frisby - a REST API testing framework
- ginkgo - BDD Testing Framework for Go
- go-carpet - Tool for viewing test coverage in terminal
- go-mutesting - Mutation testing for Go source code
- go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests
- goblin - Mocha like testing framework fo Go
- gocheck - A more advanced testing framework alternative to gotest.
- GoConvey - BDD-style framework with web UI and live reload
- godog - Cucumber or Behat like BDD framework for Go.
- gofight - API Handler Testing for Golang Router framework.
- gomega - Rspec like matcher/assertion library.
- 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.
- Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
- restit - A Go micro framework to help writing RESTful API integration test.
- testfixtures - A helper for Rails' like test fixtures to test database applications.
- Testify - A sacred extension to the standard go testing package.
- Mock
- counterfeiter - Tool for generating self-contained mock objects
- 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.
- mockhttp - Mock object for Go http.ResponseWriter
- Fuzzing and delta-debugging/reducing/shrinking
- go-fuzz - A randomized testing system
- gofuzz - A library for populating go objects with random values
- gogenerate - A Scalacheck-like library for Go
- Tavor - A generic fuzzing and delta-debugging framework
Text Processing
Libraries for parsing and manipulating texts.- Specific Formats
- blackfriday - Markdown processor in Go
- github_flavored_markdown - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links.
- bluemonday - HTML Sanitizer
- enca - Minimal cgo bindings for libenca.
- genex - Count and expand Regular Expressions into all matching Strings
- go-humanize - Formatters for time, numbers, and memory size to human readable format.
- go-nmea - NMEA parser library for the Go language.
- go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs.
- go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions.
- go-runewidth - Functions to get fixed width of the character or string.
- gofeed - Parse RSS and Atom feeds in Go
- gographviz - Parses the Graphviz DOT language.
- gommon/bytes - Format bytes to string.
- gonameparts - Parses human names into individual name parts
- GoQuery - GoQuery brings a syntax and a set of features similar to jQuery to the Go language.
- goregen - A library for generating random strings from regular expressions.
- guesslanguage - Functions to determine the natural language of a unicode text.
- mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
- slug - URL-friendly slugify with multiple languages support.
- Slugify - A Go slugify application that handles string.
- toml - TOML configuration format (encoder/decoder with reflection).
- blackfriday - Markdown processor in Go
- Utility
- gotabulate - Easily pretty-print your tabular data with Go.
- kace - Common case conversions covering common initialisms.
- parseargs-go - A string argument parser that understands quotes and backslashes
- parth - URL path segmentation parsing.
- xurls - Extract urls from text
Third-party APIs
Libraries for accessing third party APIs.- anaconda - A Go client library for the Twitter 1.1 API
- aws-sdk-go - The official AWS SDK for the Go programming language.
- brewerydb - Go library for accessing the BreweryDB API.
- clarifai - A Go client library for interfacing with the Clarifai API.
- discordgo - Go bindings for the Discord Chat API
- facebook - Go Library that supports the Facebook Graph API
- gads - Google Adwords Unofficial API
- gami - Go library for Asterisk Manager Interface.
- gcm - Go library for Google Cloud Messaging
- geo-golang - Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, HERE, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
- ghost - Go Library for accessing the Snapchat API.
- github - Go library for accessing the GitHub API.
- go-imgur - Go client library for imgur
- go-jira - Go client library for Atlassian JIRA
- go-marathon - A Go library for interacting with Mesosphere's Marathon PAAS.
- go-trending - Go library for accessing trending repositories and developers at Github.
- go-twitter - Go client library for the Twitter v1.1 APIs.
- go-xkcd - Go client for the xkcd API.
- goamz - Popular fork of goamz which adds some missing API calls to certain packages.
- GoMusicBrainz - a Go MusicBrainz WS2 client library.
- google - Auto-generated Google APIs for Go.
- google-analytics - A simple wrapper for easy google analytics reporting.
- google-cloud - Google Cloud APIs Go Client Library.
- gostorm - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells.
- hipchat - This project implements a golang client library for the Hipchat API.
- hipchat (xmpp) - A golang package to communicate with HipChat over XMPP.
- Medium - A Golang SDK for Medium's OAuth2 API.
- megos - A client library for accessing an Apache Mesos cluster
- minio-go - Minio Go Library for Amazon S3 compatible cloud storage.
- mixpanel - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
- paypal - Wrapper for PayPal payment API
- playlyfe - The Playlyfe Rest API Go SDK
- pushover - Go wrapper for the Pushover API.
- rrdaclient - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
- shopify - Go Library to make CRUD request to the Shopify API.
- slack - Slack API in Go.
- smite - Go package to wraps access to the Smite game API.
- spotify - Go Library to access Spotify WEB API.
- steam - Go Library to interact with Steam game servers.
- stripe - Go client for the Stripe API
- telebot - Telegram bot framework written in Go.
- telegram-bot-api - Simple and clean Telegram bot client.
- textbelt - Go client for the textbelt.com txt messaging API.
- TheMovieDb - A simple golang package to communicate with themoviedb.org
- translate - Go online translation package.
- tumblr - Go wrapper for the Tumblr v2 API.
- webhooks - Webhook reciever for GitHub and Bitbucket.
Utilities
General utilities and tools to make your life easier.- abutil - A collection of often-used Golang helpers.
- apm - A process manager for Golang applications with an HTTP API.
- boilr - A blazingly fast CLI tool for creating projects from boilerplate templates.
- command - Command pattern for Go with thread safe serial and parallel dispatcher
- coop - Cheat sheet for some of the common concurrent flows in Go.
- Death - Managing go application shutdown with signals.
- Deepcopier - Simple struct copying for Go.
- delve - Go debugger.
- fastlz - Wrap over FastLz (free, open-source, portable real-time compression library) for GoLang.
- filetype - Small package to infer the file type checking the magic numbers signature.
- fzf - A command-line fuzzy finder written in Go
- generate - runs go generate recursively on a specified path or environment variable and can filter by regex.
- gentleman - Full-featured plugin-driven HTTP client library.
- go-cron - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.
- go-debug - Conditional debug logging for Golang libraries & applications.
- go-dry - DRY (don't repeat yourself) package for Go.
- go-rate - A timed rate limiter for Go.
- go-sitemap-generator - XML Sitemap generator written in Go.
- go-trigger - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
- go-underscore - A useful collection of helpfully functional Go collection utilities.
- goback - Go simple exponential backoff package.
- godaemon - Utility to write daemons.
- godotenv - A Go port of Ruby's dotenv library (Loads environment variables from
.env
.) - godropbox - Common libraries for writing Go services/applications from Dropbox.
- gohper - Various tools/modules help for development.
- gojq - JSON query in Golang.
- golarm - Fire alarms with system events.
- golog - Easy and lightweight CLI tool to time track your tasks.
- gopencils - Small and simple package to easily consume REST APIs.
- goplaceholder - a small golang lib to generate placeholder images.
- goreq - Minimal and simple request library for Go language.
- goreq - An enhanced simplified HTTP client based on gorequest.
- gorequest - Simplified HTTP client with rich features for Go.
- gotenv - Load environment variables from
.env
or anyio.Reader
in Go - grequests - An elegant and simple
net/http
wrapper that follows Python's requests library - htcat - Parallel and Pipelined HTTP GET Utility
- httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries.
- hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
- JobRunner - Smart and featureful cron job scheduler with job queuing and live monitoring built in.
- jsonf - Console tool for highlighted formatting and struct query fetching JSON.
- jsongo - Fluent API to make it easier to create Json objects.
- lrserver - LiveReload server for Go
- mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
- mergo - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
- moldova - A utility for generating random data based on an input template.
- mp - A simple cli email parser. It currently takes stdin and outputs JSON.
- multitick - Multiplexor for aligned tickers.
- netbug - Easy remote profiling of your services.
- ngrok - Introspected tunnels to localhost.
- okrun - go run error steamroller.
- panicparse - Groups similar goroutines and colorizes stack dump.
- peco - Simplistic interactive filtering tool.
- pester - Go HTTP client calls with retries, backoff, and concurrency.
- pm - Process (i.e. goroutine) manager with an HTTP API.
- profile - Simple profiling support package for Go.
- request - Go HTTP Requests for Humans™.
- rerun - Recompiling and rerunning go apps when source changes.
- resty - Simple HTTP and REST client for Go inspired by Ruby rest-client.
- robustly - Runs functions resiliently, catching and restarting panics.
- scheduler - Cronjobs scheduling made easy.
- sling - Go HTTP requests builder for API clients.
- spinner - Go package to easily provide a terminal spinner with options.
- sqlx - provides a set of extensions on top of the excellent built-in database/sql package.
- ugo - ugo is slice toolbox with concise syntax for Go.
- xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
Validation
Libraries for validation.- govalidator - Validators and sanitizers for strings, numerics, slices and structs.
- validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.
Version Control
Libraries for version control.- gh - Scriptable server and net/http middleware for GitHub Webhooks.
- git2go - Go bindings for libgit2.
- go-vcs - manipulate and inspect VCS repositories in Go.
- hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories.
Video
Libraries for manipulating video.- aac/h264 - Golang aac/h264 encoder and decoder.
- gmf - Go bindings for FFmpeg av* libraries.
- goav - Comphrensive Go bindings for FFmpeg.
- gst - Go bindings for GStreamer.
Web Frameworks
Full stack web frameworks.- Beego - beego is an open-source, high-performance web framework for the Go programming language.
- Bone - Lightning Fast HTTP Multiplexer.
- chi - Small, fast and expressive HTTP router built on net/context.
- Echo - A fast and unfancy micro web framework for Go.
- Gin - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
- Gizmo - Microservice toolkit used by the New York Times.
- Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io).
- go-json-rest - A quick and easy way to setup a RESTful JSON API.
- go-kit - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
- go-relax - A framework of pluggable components to build RESTful API's.
- go-rest - A small and evil REST framework for Go.
- go-socket.io - socket.io library for golang, a realtime application framework.
- goa - Framework for developing microservices based on the design of Ruby's Praxis.
- Goat - A minimalistic REST API server in Go.
- gocraft/web - A mux and middleware package in Go.
- Goji - Goji is a minimalistic and flexible HTTP request multiplexer with support for
net/context
. - Golf - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.
- golongpoll - HTTP longpoll server library that makes web pub-sub simple.
- Gondola - The web framework for writing faster sites, faster
- goose - Server Sent Events in Go
- Gorilla - Gorilla is a web toolkit for the Go programming language.
- httprouter - A high performance router. Use this and the standard http handlers to form a very high performance web framework.
- httptreemux - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
- Iris - A very minimal but flexible and high-performance golang web application framework, providing a robust set of features for building web applications.
- lars - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
- Macaron - Macaron is a high productive and modular design web framework in Go.
- mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
- medeina - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba.
- mux - A powerful URL router and dispatcher for golang.
- neo - Neo is minimal and fast Go Web Framework with extremely simple API.
- ozzo-routing - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application.
- pat - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra.
- Resoursea - A REST framework for quickly writing resource based services.
- REST Layer - A framework to build REST/GraphQL API on top of databases with mostly configuration over code.
- Revel - A high-productivity web framework for the Go language.
- rex - Rex is a library for modular development built upon gorilla/mux, fully compatible with
net/http
. - sawsij - lightweight, open-source web framework for building high-performance, data-driven web applications.
- Siesta - Composable framework to write middleware and handlers
- tango - Micro & pluggable web framework for Go.
- tigertonic - A Go framework for building JSON web services inspired by Dropwizard
- traffic - Sinatra inspired regexp/pattern mux and web framework for Go.
- VarHandler - Generate boilerplate http input and ouput handling.
- vestigo - A performant, stand-alone, HTTP compliant URL Router for go web applications.
- Volatile - Minimalist middleware stack promoting flexibility, good practices and clean code.
- web.go - A simple framework to write webapps in Go.
- xmux - A high performance muxer based on
httprouter
withnet/context
support. - Zerver - Zerver is an expressive, modular, feature completed RESTful framework.
- zeus - A very simple and fast HTTP router for Go.
Middlewares
Actual middlewares
- CORS - Easily add CORS capabilities to your API.
- formjson - Transparently handle JSON input as a standard form POST.
- Limiter - Dead simple rate limit middleware for Go.
- Tollbooth - Rate limit HTTP request handler.
- XFF - Handle
X-Forwarded-For
header and friends.
Libraries for creating HTTP middlewares
- alice - Painless middleware chaining for Go.
- catena - http.Handler wrapper catenation (same API as "chain").
- chain - Handler wrapper chaining with scoped data (net/context-based "middleware").
- go-wrap - Small middlewares package for net/http.
- gores - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
- httpware - Stackable middleware (using net/context) with easy chaining.
- interpose - Minimalist net/http middleware for golang.
- muxchain - Lightweight middleware for net/http.
- negroni - Idiomatic HTTP middleware for Golang.
- render - Go package for easily rendering JSON, XML, and HTML template responses.
- stats - A Go middleware that stores various information about your web application.
Tools
Go software and plugins.Code Analysis
- dupl - A tool for code clone detection.
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
- gcvis - Visualise Go program GC trace data in real time.
- Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
- go-checkstyle checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments.
- go-outdated - Console application that displays outdated packages.
- goast-viewer - Web based Golang AST visualizer.
- GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
- goimports - Tool to fix (add, remove) your Go imports automatically.
- GoLint - Golint is a linter for Go source code.
- Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- goreturns - Adds zero-value return statements to match the func return types.
- gostatus - A command line tool, shows the status of repositories that contain Go packages.
- interfacer - A linter that suggests interface types.
- validate - Automatically validates struct fields with tags.
Editor Plugins
- go-lang-idea-plugin Go plugin for IntelliJ IDEA.
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting
- Goclipse - An Eclipse plugin for Go.
- gocode - An autocompletion daemon for the Go programming language.
- GoSublime - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features.
- velour - An IRC client for the acme editor.
- vim-compiler-go - A Vim plugin to highlight syntax errors on save.
- vim-go - Go development plugin for Vim.
- Watch - Runs a command in an acme win on file changes.
Go Tools
- colorgo - A wrapper around
go
command for colorizedgo build
output. - gb - An easy to use project based build tool for the Go programming language.
- go-pkg-complete - Bash completion for go and wgo.
- rts - RTS: response to struct. Generates Go structs from server responses.
Software Packages
Software written in Go.DevOps Tools
- aptly - aptly is a Debian repository management tool.
- awsenv - a small binary that loads Amazon (AWS) environment variables for a profile.
- Banshee - Anomalies detection system for periodic metrics.
- Boom - Boom is a tiny program that sends some load to a web application.
- bosun - Time Series Alerting Framework.
- dogo - Monitoring changes in the source file and automatically compile and run (restart).
- Dropship - A tool for deploying code via cdn.
- EasySSH - Golang package for easy remote execution through SSH and SCP downloading.
- Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.
- go-selfupdate - Enable your Go applications to self update.
- gobrew - gobrew lets you easily switch between multiple versions of go.
- godbg - Web-based gdb front-end application.
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
- gox - A dead simple, no frills Go cross compile tool.
- goxc - build tool for Go, with a focus on cross-compiling and packaging.
- GVM - GVM provides an interface to manage Go versions.
- hk - Heroku command-line interface in Go.
- kala - Simplistic, modern, and performant job scheduler.
- kubernetes - Container Cluster Manager from Google.
- Mora - REST server for accessing MongoDB documents and meta data.
- ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
- Rodent - Rodent helps you manage Go versions, projects and track dependencies.
- s3gof3r - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
- Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker).
- Vegeta - HTTP load testing tool and library. It's over 9000!
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
- Wide - A Web-based IDE for Teams using Golang.
Other Software
- boxed - Dropbox based blog engine
- Cherry - A tiny webchat server in Go.
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
- Comcast - Simulate bad network connections.
- confd - Manage local application configuration files using templates and data from etcd or consul.
- Docker - An open platform for distributed applications for developers and sysadmins.
- fleet - A Distributed init System.
- Go Package Store - An app that displays updates for the Go packages in your GOPATH.
- gocc - Gocc is a compiler kit for Go written in Go.
- GoDocTooltip - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list.
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
- heka - universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API.
- hsync - A filesystem hierarchy synchronizer.
- hugo - A Fast and Modern Static Website Engine.
- ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO.
- Juju - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
- limetext Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
- LiteIDE LiteIDE is a simple, open source, cross-platform Go IDE.
- mockingjay Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
- naclpipe - A simple NaCL EC25519 based crypto pipe tool written in Go.
- nes - A Nintendo Entertainment System (NES) emulator written in Go.
- orange-cat - A Markdown previewer written in Go.
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
- Postman - Command-line utility for batch-sending email.
- restic - De-duplicating backup program.
- rkt - An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek.
- shell2http - Executing shell commands via http server (for prototyping or remote control).
- snap - A powerful telemetry framework.
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
- syncthing - An open, decentralized file synchronization tool and protocol.
- Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
- toto - A simple proxy server written in Go language, can be used together with browser.
- toxiproxy - Proxy to simulate network and system conditions for automated tests.
- tsuru - An extensible and open source Platform as a Service software.
- websysd - Web based process manager (like Marathon or Upstart).
- wellington - Sass project management tool, extends the language with sprite functions (like Compass).
Resources
Where to discover new Go libraries.Benchmarks
- autobench - Framework to compare the performance between different Go versions.
- go-benchmarks - A few miscellaneous Go microbenchmarks. Compare some language features to alternative aproaches.
- go-http-routing-benchmark - Go HTTP request router benchmark and comparison.
- go-type-assertion-benchmark - Naive performance test of two ways to do type assertion in Go.
- go_serialization_benchmarks - Benchmarks of Go serialization methods.
- gocostmodel - Benchmarks of common basic operations for the Go language.
- golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others.
- golang-sql-benchmark - A collection of benchmarks for popular Go database/SQL utilities.
- gospeed - Go micro-benchmarks for calculating the speed of language constructs.
- kvbench - Key/Value database benchmark.
- skynet - Skynet 1M threads microbenchmark.
- speedtest-resize - Compare various Image resize algorithms for the Go language.
Conferences
- dotGo - Paris, France
- GoCon - Tokyo, Japan
- GolangUK - London, UK
- GopherChina - Shanghai, China
- GopherCon - Denver, USA
- GopherCon Dubai - Dubai, UAE
- GopherCon India - Bengaluru, India
- GothamGo - New York City, USA
E-Books
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- Go Bootcamp
- GoBooks - A curated list of Go books
- Learning Go
- Network Programming With Go
- The Go Programming Language
Websites
- Awesome Remote Job - A curated list of awesome remote jobs. A lot of them is looking for Go hackers.
- awesome-awesomeness - List of other amazingly awesome lists.
- Flipboard - Go Magazine - A collection of Go articles and tutorials.
- Go Blog - The official Go blog.
- Go Forum - Forum to discuss Go.
- Go Projects - List of projects on the Go community wiki.
- godoc.org - Documentation for open source Go packages.
- golang-graphics - A collection of Go images, graphics, and art.
- golang-nuts - Go mailing list.
- Google Plus Community - The Google+ community for #golang enthusiasts.
- gowalker.org - Go Project API documentation.
- r/Golang - News about Go.
- Trending Go repositories on GitHub today - Good place to find new Go libraries.
Tutorials
- A Tour of Go - Interactive tour of Go.
- Go By Example - A hands-on introduction to Go using annotated example programs.
- Go database/sql tutorial - Introduction to database/sql.
- Working with Go - An intro to go for experienced programmers.
Windows
from https://github.com/avelino/awesome-go(https://github.com/yinggaozhen/awesome-go-cn)
---------------
----------------
Email
Libraries that implement email creation and sending
See go-hardware for a comprehensive list. ⭐️ 359 🍴 23
Twitter
---------
使用restic备份vps数据
Restic是一个用Go开发的跨平台数据备份神器,支持众多后端存储服务,例如Local/SFTP/GoogleCloudStorage等等。并且所有备份数据都经过加密,非常安全。
本文将介绍使用SFTP的方式备份一个WordPress博客的站点文件+数据库。
生产机器:157.245.202.243/备份机器:157.245.194.243
首先在生产机器上安装Restic:
现在手动备份一次看看是不是正常的,备份网站文件:
1.restic的-p参数指定对应存储库的密码文件,尤其是在使用mysqldump备份数据库的时候必须指定这个参数,否则无法正常工作。
2.mysqldump的–databases指定你要备份的数据库名。
3.mysqldump的-u指定你的数据库用户名,-p指定你的数据库用户密码,都不要带空格。
查看备份快照:
https://restic.readthedocs.io/en/latest/index.html
---------------
awesome-go
A curated list of awesome Go frameworks, libraries and software.- docker/docker - Docker - the open-source application container engine
- golang/go - The Go programming language
- kubernetes/kubernetes - Production-Grade Container Scheduling and Management
- avelino/awesome-go - A curated list of awesome Go frameworks, libraries and software
- gogits/gogs - Gogs is a painless self-hosted Git service.
- syncthing/syncthing - Open Source Continuous File Synchronization
- grafana/grafana - The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
- astaxie/build-web-application-with-golang - A golang ebook intro how to build a web with golang
- coreos/etcd - Distributed reliable key-value store for the most critical data of a distributed system
- mholt/caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS
- astaxie/beego - beego is an open-source, high-performance web framework for the Go programming language.
- github/hub - hub helps you win at git.
- 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.
- drone/drone - Drone is a Continuous Delivery platform built on Docker, written in Go
- go-martini/martini - Classy web framework for Go
- cockroachdb/cockroach - CockroachDB - the scalable, survivable, strongly-consistent SQL database
- nsqio/nsq - A realtime distributed messaging platform
- junegunn/fzf - 🌸 A command-line fuzzy finder written in Go
- revel/revel - A high productivity, full-stack web framework for the Go language.
- hashicorp/terraform - Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
- google/grumpy - Grumpy is a Python to Go source code transcompiler and runtime.
- yudai/gotty - Share your terminal as a web application
- buger/goreplay - GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
- labstack/echo - High performance, minimalist Go web framework
- rktproject/rkt - rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.
- kataras/iris - The fastest web framework for Go in (THIS) Earth. HTTP/2 Ready-To-GO.
- minio/minio - Minio is an open source object storage server compatible with Amazon S3 APIs
- go-kit/kit - A standard library for microservices.
- fogleman/primitive - Reproducing images with geometric primitives.
- boltdb/bolt - An embedded key/value database for Go.
- urfave/cli - A simple, fast, and fun package for building command line apps in Go
- CodisLabs/codis - Proxy based Redis cluster solution supporting pipeline and scaling dynamically
- jinzhu/gorm - The fantastic ORM library for Golang, aims to be developer friendly
- tsenart/vegeta - HTTP load testing tool and library. It's over 9000!
- derekparker/delve - Delve is a debugger for the Go programming language.
- apex/apex - Build, deploy, and manage AWS Lambda functions with ease (with Go support!).
- cyfdecyf/cow - HTTP proxy written in Go. COW can automatically identify blocked sites and use parent proxies to access.
- zyedidia/micro - A modern and intuitive terminal-based text editor
- gopherjs/gopherjs - A compiler from Go to JavaScript for running Go code in a browser
- schachmat/wego - weather app for the terminal
- rakyll/boom - HTTP(S) load generator, ApacheBench (ab) replacement, written in Go
- Unknwon/the-way-to-go_ZH_CN - 《The Way to Go》中文译本,中文正式名《Go入门指南》
- julienschmidt/httprouter - A high performance HTTP request router that scales well
- tylertreat/comcast - Simulating shitty network connections so you can build better systems.
- weaveworks/weave - Simple, resilient multi-host Docker networking and more.
- cloudson/gitql - A git query language
- sirupsen/logrus - Structured, pluggable logging for Go.
- git-lfs/git-lfs - Git extension for versioning large files
- tools/godep - dependency tool for go
- valyala/fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
- Masterminds/glide - Package Management for Golang
- fatedier/frp - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- spf13/cobra - A Commander for modern Go CLI interactions
- future-architect/vuls - Vulnerability scanner for Linux/FreeBSD, agentless, written in Go
- sjwhitworth/golearn - Machine Learning for Go
- andlabs/ui - Platform-native GUI library for Go.
- PuerkitoBio/goquery - A little like that j-thing, only in Go.
- elastic/beats - 🐠 Beats - Lightweight shippers for Elasticsearch & Logstash
- google/gxui - An experimental Go cross platform UI library.
- gorilla/mux - A powerful URL router and dispatcher for golang.
- nsf/gocode - An autocompletion daemon for the Go programming language
- kubernetes/minikube - Run Kubernetes locally
- eBay/fabio - A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul.
- ethereum/go-ethereum - Official Go implementation of the Ethereum protocol
- go-sql-driver/mysql - Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package
- gorilla/websocket - A WebSocket implementation for Go.
- dropbox/godropbox - Common libraries for writing Go services/applications.
- zenazn/goji - Goji is a minimalistic web framework for Golang that's high in antioxidants.
- fiorix/freegeoip - IP geolocation web server
- alexflint/gallium - Build desktop applications in Go and HTML.
- tmrts/go-patterns - Curated list of Go design patterns, recipes and idioms
- blevesearch/bleve - A modern text indexing library for go
- aws/aws-sdk-go - AWS SDK for the Go programming language.
- coreybutler/nvm-windows - A node.js version management utility for Windows. Ironically written in Go.
- grpc/grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
- stretchr/testify - A sacred extension to the standard go testing package
- garyburd/redigo - Go client for Redis
- micro/micro - A microservice toolkit for distributed systems development
- hybridgroup/gobot - Golang framework for robotics, drones, and the Internet of Things (IoT)
- spf13/viper - Go configuration with fangs
- facebookgo/grace - Graceful restart & zero downtime deploy for Go servers.
- nats-io/gnatsd - High-Performance server for NATS, the cloud native messaging system.
- hoisie/web - The easiest way to create web applications with Go
- robertkrimen/otto - A JavaScript interpreter in Go (golang)
- ipfs/go-ipfs - IPFS implementation in go
- lib/pq - Pure Go Postgres driver for database/sql
- smartystreets/goconvey - Go testing in the browser. Integrates with
go test
. Write behavioral tests in Go. - golang/dep - Go dependency tool
- ant0ine/go-json-rest - A quick and easy way to setup a RESTful JSON API
- openshift/origin - Enterprise Kubernetes for Developers
- jteeuwen/go-bindata - A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.
- Unknwon/go-fundamental-programming - 《Go 编程基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向新手级别的学习者。
- fogleman/nes - NES emulator written in Go.
- mailgun/godebug - A cross-platform debugger for Go.
- DisposaBoy/GoSublime - A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features.
- emirpasic/gods - GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, Enumerables, Sort, JSON
- shadowsocks/shadowsocks-go - go port of shadowsocks
- google/go-github - Go library for accessing the GitHub API
- ory/hydra - A security-first open source OAuth2 and OpenID Connect server for existing and new enterprise infrastructures. Written in Go.
- go-gorp/gorp - Go Relational Persistence - an ORM-ish library for Go
- russross/blackfriday - Blackfriday: a markdown processor for Go
- pksunkara/alpaca - Given a web API, Generate client libraries in node, php, python, ruby
- rqlite/rqlite - The lightweight, distributed relational database built on SQLite.
- tsuru/tsuru - Open source, extensible and Docker-based Platform as a Service (PaaS).
- qor/qor - QOR is a set of libraries written in Go that abstracts common features needed for business applications, CMSs, and E-commerce systems.
- bosun-monitor/bosun - Time Series Alerting Framework
- golang/mobile - [mirror] Go on Mobile
- uber-go/zap - Fast, structured, leveled logging in Go.
- docker/libchan - Like Go channels over the network
- nsf/termbox-go - Pure Go termbox implementation
- jwilder/docker-gen - Generate files from docker container meta-data
- mitchellh/gox - A dead simple, no frills Go cross compile tool
- polaris1119/The-Golang-Standard-Library-by-Example - Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。
- coreos/clair - Vulnerability Static Analysis for Containers
- miekg/dns - DNS library in Go
- astaxie/go-best-practice - Trying to complete over 100 projects in various categories in golang.
- emicklei/go-restful - package for building REST-style Web Services using Google Go
- siddontang/ledisdb - a high performance NoSQL powered by Go
- coreos/flannel - flannel is a network fabric for containers, designed for Kubernetes
- motemen/gore - Yet another Go REPL that works nicely. Featured with line editing, code completion, and more.
- ardanlabs/gotraining - Go Training Class Material :
- dgrijalva/jwt-go - Golang implementation of JSON Web Tokens (JWT)
- therecipe/qt - Qt binding for Go (Golang) which supports Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi
- TykTechnologies/tyk - Tyk Open Source API Gateway written in Go
- goadesign/goa - Design-based APIs and microservices in Go
- constabulary/gb - gb, the project based build tool for Go
- gernest/utron - A lightweight MVC framework for Go(Golang)
- xenolf/lego - Let's Encrypt client and ACME library written in Go
- zxh0/jvm.go - A JVM written in Go
- codegangsta/gin - Live reload utility for Go web servers
- letsencrypt/boulder - An ACME-based CA, written in Go.
- pachyderm/pachyderm - Containerized Data Analytics
- go-xorm/xorm - Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3,mssql,oracle
- golang/lint - This is a linter for Go source code.
- HouzuoGuo/tiedot - Your NoSQL database powered by Golang
- uber/go-torch - Stochastic flame graph profiler for Go programs
- go-qml/qml - QML support for the Go language
- elves/elvish - A friendly and expressive Unix shell
- pquerna/ffjson - faster JSON serialization for Go
- kardianos/govendor - Go vendor tool that works with the standard vendor file.
- lxn/walk - A Windows GUI toolkit for the Go Programming Language
- Shopify/sarama - Sarama is a Go library for Apache Kafka 0.8, 0.9, and 0.10.
- dvyukov/go-fuzz - Randomized testing for Go
- olebedev/go-starter-kit - Golang isomorphic react/hot reloadable/redux/css-modules starter kit
- grpc-ecosystem/grpc-gateway - gRPC to JSON proxy generator
- bitly/go-simplejson - a Go package to interact with arbitrary JSON
- NYTimes/gizmo - A Microservice Toolkit from The New York Times
- variadico/noti - Trigger notifications when a process completes.
- keybase/client - Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
- bradfitz/http2 - old repo for HTTP/2 support for Go (see README for new home)
- centrifugal/centrifugo - Language-agnostic real-time messaging (Websocket or SockJS) server in Go
- jroimartin/gocui - Minimalist Go package aimed at creating Console User Interfaces.
- benmanns/goworker - goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.
- asaskevich/govalidator - [Go] Package of validators and sanitizers for strings, numerics, slices and structs
- pressly/chi - lightweight, idiomatic and composable router for building Go 1.7+ HTTP services
- googollee/go-socket.io - socket.io library for golang, a realtime application framework.
- micro/go-micro - A pluggable RPC framework for microservices
- golang/protobuf - Go support for Google's protocol buffers
- Shopify/toxiproxy - ⏰ 🔥 A TCP proxy to simulate network and system conditions for chaos and resiliency testing
- elazarl/goproxy - An HTTP proxy library for Go
- anacrolix/torrent - Full-featured BitTorrent client package and utilities
- go-redis/redis - Type-safe Redis client for Golang
- thewhitetulip/web-dev-golang-anti-textbook - Learn how to write webapps without a framework in Go.
- rcrowley/goagain - Zero-downtime restarts in Go
- astaxie/bat - Go implement CLI, cURL-like tool for humans
- shirou/gopsutil - psutil for golang
- tealeg/xlsx - Google Go (golang) library for reading and writing XLSX files.
- yuin/gopher-lua - GopherLua: VM and compiler for Lua in Go
- skynetservices/skynet - Skynet is a framework for distributed services in Go.
- syndtr/goleveldb - LevelDB key/value database in Go.
- chrislusf/glow - Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant.
- alecthomas/gometalinter - Concurrently run Go lint tools and normalise their output
- rcrowley/go-metrics - Go port of Coda Hale's Metrics library
- travisjeffery/jocko - Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install)
- goraft/raft - UNMAINTAINED: A Go implementation of the Raft distributed consensus protocol.
- fatih/color - Color package for Go (golang)
- Terry-Mao/goim - goim
- go-macaron/macaron - Package macaron is a high productive and modular web framework in Go.
- Terry-Mao/gopush-cluster - Golang push server cluster
- murlokswarm/app - Package to create apps with GO, HTML and CSS.
- kabukky/journey - A blog engine written in Go, compatible with Ghost themes.
- fsnotify/fsnotify - Cross-platform file system notifications for Go.
- sideshow/apns2 - ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, and OSX apps, using the new APNs HTTP/2 protocol.
- onsi/ginkgo - BDD Testing Framework for Go
- GoesToEleven/GolangTraining - Training for Golang (go language)
- anthonynsimon/bild - A collection of parallel image processing algorithms in pure Go
- google/gops - A tool to list and diagnose Go processes currently running on your system
- knqyf263/pet - Simple command-line snippet manager, written in Go.
- laher/goxc - a build tool for Go, with a focus on cross-compiling, packaging and deployment
- restic/restic - restic backup program
- howeyc/fsnotify - File system notification for Go
- AsynkronIT/protoactor-go - Proto Actor - Ultra fast distributed actors for Golang and C#
- tidwall/buntdb - BuntDB is a fast, embeddable, in-memory key/value database for Go with custom indexing and geospatial support
- go-bootstrap/go-bootstrap - Generates a lean and mean Go web project.
- koding/kite - Micro-service framework in Go
- gpmgo/gopm - Go Package Manager (gopm) is a package manager and build tool for Go.
- tianon/gosu - Simple Go-based setuid+setgid+setgroups+exec
- golang/glog - Leveled execution logs for Go
- robfig/cron - a cron library for go
- fogleman/pt - A path tracer written in Go.
- davecgh/go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
- go-mgo/mgo - The MongoDB driver for Go. See http://labix.org/mgo for details.
- lxc/lxd - Daemon based on liblxc offering a REST API to manage containers
- ChimeraCoder/gojson - Automatically generate Go (golang) struct definitions from example JSON
- iamduo/workq - Job server in Go
- fatih/structs - Utilities for Go structs
- google/novm - Experimental KVM-based VMM, written in Go.
- cdarwin/go-koans - koans for go
- smira/aptly - aptly - Debian repository management tool
- arachnys/athenapdf - Drop-in replacement for wkhtmltopdf built on Go, Electron and Docker
- coocood/freecache - A cache library for Go with zero GC overhead.
- phuslu/goproxy - a go proxy
- PuerkitoBio/gocrawl - Polite, slim and concurrent web crawler.
- fvbock/endless - Zero downtime restarts for go servers (Drop in replacement for http.ListenAndServe)
- mattn/gom - Go Manager - bundle for go
- go-yaml/yaml - YAML support for the Go language.
- visualfc/goqt - Golang bindings to the Qt cross-platform application framework.
- olivere/elastic - Elasticsearch client for Go.
- src-d/go-git - A highly extensible Git implementation in pure Go.
- gocraft/web - Go Router + Middleware. Your Contexts.
- rakyll/gom - A visual interface to work with runtime profiling data for Go
- nwidger/nintengo - An NES emulator written in Go
- graphql-go/graphql - An implementation of GraphQL for Go / Golang
- gobuffalo/buffalo - Rapid Web Development w/ Go
- justinas/alice - Painless middleware chaining for Go
- google/gopacket - Provides packet processing capabilities for Go
- streadway/amqp - Go client for AMQP 0.9.1
- pierrre/imageserver - Image server toolkit in Go
- rakyll/coop - Cheat sheet for some of the common concurrent flows in Go
- yhat/scrape - A simple, higher level interface for Go web scraping.
- goadapp/goad - Goad is an AWS Lambda powered, highly distributed, load testing tool
- name5566/leaf - A game server framework in Go (golang)
- golang/tools - [mirror] Go Tools
- GoRethink/gorethink - Go language driver for RethinkDB
- aelsabbahy/goss - Quick and Easy server testing/validation
- ksimka/go-is-not-good - A curated list of articles complaining that go (golang) isn't good enough
- go-gomail/gomail - The best way to send emails in Go.
- tockins/realize - Go build system with file watchers, live reload and output streams. Run, build and watch file changes with custom paths
- btcsuite/btcd - An alternative full node bitcoin implementation written in Go (golang)
- kubernetes-incubator/kompose - Tool to move from
docker-compose
to Kubernetes - go-mangos/mangos - package mangos is an implementation in pure Go of the SP ("Scalable Protocols") protocols.
- markbates/goth - Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.
- Unknwon/go-web-foundation - 《Go Web 基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向完成《Go 编程基础》教程后希望进一步了解有关 Go Web 开发的学习者。
- mattes/migrate - Database migrations. CLI and Golang library.
- disintegration/imaging - Simple Go image processing package
- nats-io/go-nats - Golang client for NATS, the cloud native messaging system.
- go-swagger/go-swagger - Swagger 2.0 implementation for go
- adonovan/gopl.io - Example programs from "The Go Programming Language"
- parnurzeal/gorequest - GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )
- jwilder/dockerize - Utility to simplify running applications in docker containers
- divan/expvarmon - TermUI based monitor for Go apps using expvars (/debug/vars). Quickest way to monitor your Go app(s).
- arnauddri/algorithms - Algorithms & Data Structures in Go
- golang/oauth2 - Go OAuth2
- lastbackend/lastbackend - The apps cloud hosting for fast apps deploying without management based on kubernetes
- knq/xo - Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server
- tidwall/gjson - Get JSON values very quickly in Go
- fsouza/go-dockerclient - Go client for the Docker remote API.
- cloudflare/redoctober - Go server for two-man rule style file encryption and decryption.
- ahmetb/go-linq - .NET LINQ-like query methods for Go
- ddollar/forego - Foreman in Go
- go-zoo/bone - Lightning Fast HTTP Multiplexer
- satori/go.uuid - UUID package for Go
- chewxy/gorgonia - Gorgonia is a library that helps facilitate machine learning in Go.
- haxpax/gosms - 📪 Your own local SMS gateway in Go
- buger/jsonparser - Alternative JSON parser for Go that does not require schema (so far fastest)
- ajvb/kala - Modern Job Scheduler
- jackc/pgx - PostgreSQL client library for Go
- nlopes/slack - Slack API in Go
- google/google-api-go-client - Auto-generated Google APIs for Go
- antonholmquist/jason - Easy-to-use JSON Library for Go
- pilu/fresh - Build and (re)start go web apps after saving/creating/deleting source files.
- mattn/go-gtk - Go binding for GTK
- alecthomas/kingpin - A Go (golang) command line and flag parser
- cheggaaa/pb - Console progress bar for Golang
- libgit2/git2go - Git to Go. Like McDonald's but tastier.
- golang/example - Go example projects
- vulcand/oxy - Go middlewares for HTTP servers & proxies
- rcrowley/go-tigertonic - A Go framework for building JSON web services inspired by Dropwizard
- sourcegraph/appdash - Application tracing system for Go, based on Google's Dapper.
- gocql/gocql - Package gocql implements a fast and robust Cassandra client for the Go programming language.
- spf13/afero - A FileSystem Abstraction System for Go
- dustin/go-humanize - Go Humans! (formatters for units to human friendly sizes)
- flosch/pongo2 - Django-syntax like template-engine for Go
- Shopify/go-lua - A Lua VM in Go
- allegro/bigcache - Efficient cache for gigabytes of data written in Go.
- osrg/gobgp - BGP implemented in the Go Programming Language
- gosuri/uiprogress - A go library to render progress bars in terminal applications
- GeertJohan/go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy.
- tylerb/graceful - Graceful is a Go package enabling graceful shutdown of an http.Handler server.
- pravj/geopattern - Create beautiful generative image patterns from a string in golang.
- tobyhede/go-underscore - Helpfully Functional Go - A useful collection of Go utilities. Designed for programmer happiness.
- tdewolff/minify - Go minifiers for web formats
- adrianco/spigo - Simulate Protocol Interactions in Go
- go-playground/validator - 💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
- sourcegraph/srclib - srclib is a polyglot code analysis library, built for hackability. It consists of language analysis toolchains (currently for Go and Java, with Python, JavaScript, and Ruby in beta) with a common output format, and a CLI tool for running the analysis.
- julienschmidt/go-http-routing-benchmark - Go HTTP request router and web framework benchmark
- disintegration/gift - Go Image Filtering Toolkit
- hu17889/go_spider - [爬虫框架 (golang)] An awesome Go concurrent Crawler(spider) framework. The crawler is flexible and modular. It can be expanded to an Individualized crawler easily or you can use the default crawl components only.
- chanxuehong/wechat.v2 - weixin/wechat/微信公众平台/微信企业号/微信商户平台/微信支付 go/golang sdk
- bradfitz/goimports - (old repo) Tool to fix (add, remove) your Go imports automatically.
- mitchellh/mapstructure - Go library for decoding generic map values into native Go structures.
- levigross/grequests - A Go "clone" of the great and famous Requests library
- kidoman/embd - Embedded Programming Framework in Go
- patrickmn/go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
- ajstarks/svgo - Go Language Library for SVG generation
- cihub/seelog - Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
- ory/ladon - A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.
- mindreframer/golang-stuff - interesting go libs
- unrolled/render - Go package for easily rendering JSON, XML, binary data, and HTML templates responses.
- gogo/protobuf - Protocol Buffers for Go with Gadgets
- mattbaird/elastigo - A Go (golang) based Elasticsearch client library.
- jrallison/go-workers - Sidekiq compatible background workers in golang
- sourcegraph/webloop - WebLoop: Scriptable, headless WebKit with a Go API. Like PhantomJS, but for Go.
- op/go-logging - Golang logging library
- hoisie/mustache - The mustache template language in Go
- appleboy/gorush - A push notification server written in Go (Golang).
- jinzhu/now - Now is a time toolkit for golang
- adtac/autovpn - Easily connect to a VPN in a country of your choice.
- kardianos/service - Run go programs as a service on major platforms.
- aws/amazon-ecs-agent - Amazon EC2 Container Service Agent
- sensu/uchiwa - Uchiwa is a simple yet effective open-source dashboard for the Sensu monitoring framework.
- gopherdata/gophernotes - It's time to use Go in notebooks.
- go-llvm/llgo - LLVM-based compiler for Go
- natefinch/gorram - It's like go run for any go function
- rlmcpherson/s3gof3r - Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r
- fogleman/gg - Go Graphics - 2D rendering in Go with a simple API.
- SpectoLabs/hoverfly - Lightweight service virtualization/API simulation tool for developers and testers
- docopt/docopt.go - A command-line arguments parser that will make you smile.
- ponzu-cms/ponzu - Headless CMS with automatic JSON API. Featuring auto HTTPS, HTTP/2 Server Push, and flexible server framework written in Go.
- tylertreat/BoomFilters - Probabilistic data structures for processing continuous, unbounded streams.
- go-pg/pg - PostgreSQL ORM for Golang with focus on PostgreSQL features and performance
- cznic/ql - Package ql is a pure Go embedded SQL database.
- jpillora/overseer - Monitorable, gracefully restarting, self-upgrading binaries in Go (golang)
- xtaci/gonet - A Game Server Skeleton in golang.
- rsms/gotalk - Async peer communication protocol & library
- clipperhouse/gen - Type-driven code generation for Go
- oklog/ulid - Universally Unique Lexicographically Sortable Identifier (ULID) in Go
- upper/db - A productive data access layer for Go.
- jpmorganchase/quorum - A permissioned implementation of Ethereum supporting data privacy
- nsqio/go-nsq - The official Go package for NSQ
- purpleidea/mgmt - Next generation config management!
- glycerine/zygomys - Java has Clojure, Go has zygo. A 100% Golang, easy-to-use Lisp.
- TrueFurby/go-callvis - Visualize call graph of your Go program using dot format.
- Jeffail/gabs - For parsing, creating and editing unknown or dynamic JSON in golang
- petejkim/goop - A simple dependency manager for Go (golang), inspired by Bundler.
- golang/net - [mirror] Go supplementary network libraries
- chzyer/readline - Readline is a pure go(golang) implementation for GNU-Readline kind library
- ginuerzh/gost - GO Simple Tunnel - a simple tunnel written in golang
- Luxurioust/excelize - Golang library for reading and writing Microsoft Excel (XLSX) files.
- oniony/TMSU - TMSU lets you tags your files and then access them through a nifty virtual filesystem from any other application.
- jordan-wright/email - Robust and flexible email library for Go
- jaksi/sshesame - A fake SSH server that lets everyone in and logs their activity
- kahing/goofys - a high-performance, POSIX-ish Amazon S3 file system written in Go
- ugorji/go - idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.org[Go]
- trustmaster/goflow - Flow-based and dataflow programming library for Go programming language
- jessevdk/go-flags - go command line option parser
- coredns/coredns - CoreDNS is a DNS server that chains middleware
- adnanh/webhook - webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, which you can use to execute configured commands.
- tidwall/redcon - Fast Redis compatible server framework for Go
- huichen/sego - Go中文分词
- ory/fosite - Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
- dghubble/gologin - Go login handlers for authentication providers (OAuth1, OAuth2)
- celrenheit/lion - Lion is a fast HTTP router for building modern scalable modular REST APIs in Go
- bradfitz/gomemcache - Go Memcached client library #golang
- justinas/nosurf - CSRF protection middleware for Go.
- JoelOtter/termloop - Terminal-based game engine for Go, built on top of Termbox
- cpmech/gosl - Go scientific library
- lucas-clemente/quic-go - A QUIC implementation in pure go
- inconshreveable/go-update - Build self-updating Golang programs
- hpcloud/tail - Go package for reading from continously updated files (tail -f)
- brutella/hc - HomeControl is an implementation of the HomeKit Accessory Protocol (HAP) in Go.
- slackhq/go-audit - go-audit is an alternative to the auditd daemon that ships with many distros
- funny/link - Go语言网络层脚手架
- monochromegane/go_design_pattern - Design patterns in Golang.
- shurcooL/Go-Package-Store - An app that displays updates for the Go packages in your GOPATH.
- ReactiveX/RxGo - Reactive Extensions for the Go language.
- braintree/manners - A polite Go HTTP server that shuts down gracefully.
- Unknwon/go-rock-libraries-showcases - 《Go名库讲解》是一套针对 Google 出品的 Go 语言的第三方库进行评测讲解的集博客、示例与语音视频为一体的综合教程,适合完成学习完成《Go编程基础》教程的学习者。
- wcharczuk/go-chart - go chart is a basic charting library in native golang.
- gocraft/dbr - Additions to Go's database/sql for super fast performance and convenience.
- michaelsauter/crane - Crane - Lift containers with ease
- arschles/go-in-5-minutes - Code for Go in 5 Minutes Screencasts
- henrylee2cn/faygo - Faygo is a fast and concise Go Web framework that can be used to develop high-performance web app(especially API) with fewer codes. Just define a struct Handler, Faygo will automatically bind/verify the request parameters and generate the online API doc.
- eknkc/amber - Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jade
- shell909090/goproxy - 基于go写的隧道代理服务器,主要用于翻墙。
- gavv/httpexpect - End-to-end HTTP and REST API testing for Go.
- cenkalti/backoff - The exponential backoff algorithm in Go (Golang).
- 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/template
- astaxie/gopkg - example for the go pkg's function
- montanaflynn/stats - A statistics package with common functions that are missing from the Golang standard library.
- jimmykuu/gopher - Golang-China(golangtc.com) Website
- shiyanhui/hero - A handy, fast and powerful go template engine.
- davecheney/gcvis - Visualise Go program GC trace data in real time
- golang/gddo - Go Doc Dot Org
- GoogleCloudPlatform/google-cloud-go - Google Cloud APIs Go Client Library
- willnorris/imageproxy - A caching, resizing image proxy written in Go
- cweill/gotests - Generate Go tests from your source code.
- ChimeraCoder/anaconda - A Go client library for the Twitter 1.1 API
- gengo/goship - A simple tool for deploying code to servers.
- mitchellh/goamz - Golang Amazon Library
- GoASTScanner/gas - Go AST Scanner
- cdipaolo/goml - On-line Machine Learning in Go (and so much more)
- eaigner/hood - Database agnostic ORM for Go
- dougblack/sleepy - rest for go
- irfansharif/cfilter - Cuckoo Filter implementation in Go, better than Bloom Filters
- projectcalico/felix - Project Calico's per-host agent Felix, responsible for programming routes and security policy.
- egonelbre/gophers - Free gophers
- mvdan/interfacer - A linter that suggests interface types
- knadh/niltalk - A multi-room disposable chat service written in Go that uses WebSockets for live communication.
- astaxie/beedb - beedb is a go ORM,support database/sql interface,pq/mysql/sqlite
- rubenv/sql-migrate - SQL schema migration tool for Go.
- takama/daemon - A daemon package for use with Go (golang) services with no dependencies
- FiloSottile/gvt - gvt is the go vendoring tool for the GO15VENDOREXPERIMENT, based on gb-vendor
- square/go-jose - An implementation of JOSE standards (JWE, JWS, JWT) in Go
- goreleaser/goreleaser - Deliver Go binaries as fast and easily as possible
- dop251/goja - ECMAScript 5.1(+) implementation written in Go
- mkaz/working-with-go - A set of example golang code to start learning Go
- remogatto/mandala - A Go framework for writing native Android applications
- lazywei/go-opencv - Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv
- azer/boxcars - Easy-to-configure Static Web & Reverse Proxy Server in Go
- mattn/goreman - foreman clone written in go language
- thejerf/suture - Supervisor trees for Go.
- kovetskiy/manul - 😼 The madness vendoring utility for Golang programs
- codedellemc/rexray - REX-Ray is a container storage orchestration engine enabling persistence for cloud native workloads
- thoas/picfit - An image resizing server written in Go
- tinylib/msgp - A Go code generator for MessagePack / msgpack.org[Go]
- hanwen/go-fuse - FUSE bindings for Go
- siddontang/go-mysql-elasticsearch - Sync MySQL data into elasticsearch
- samuel/go-zookeeper - Native ZooKeeper client for Go
- hashicorp/go-memdb - Golang in-memory database built on immutable radix trees
- advancedlogic/go-freeling - Golang Natural Language Processing
- chrislusf/gleam - Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly.
- wspl/creeper - 🐾 Creeper - The Next Generation Crawler Framework (Go)
- hashicorp/go-plugin - Golang plugin system over RPC.
- dshearer/jobber - A replacement for cron, with sophisticated status-reporting and error-handling.
- marmelab/gaudi - Gaudi allows to share multi-component applications, based on Docker, Go, and YAML.
- golang/proposal - Go Project Design Documents
- stretchr/goweb - A lightweight RESTful web framework for Go
- yosssi/ace - HTML template engine for Go
- libp2p/go-libp2p - libp2p implementation in Go
- inconshreveable/log15 - Structured, composable logging for Go
- compose/transporter - Sync data between persistence engines, like ETL only not stodgy
- sipin/gorazor - Razor view engine for Golang
- afex/hystrix-go - Netflix's Hystrix latency and fault tolerance library, for Go
- unrolled/secure - HTTP middleware for Go that facilitates some quick security wins.
- olahol/melody - 🎶 Minimalist websocket framework for Go
- mmcdole/gofeed - Parse RSS and Atom feeds in Go
- dullgiulio/pingo - Plugins for Go
- veandco/go-sdl2 - SDL2 binding for Go
- golang/mock - GoMock is a mocking framework for the Go programming language.
- BurntSushi/wingo - A fully-featured window manager written in Go.
- mholt/binding - Reflectionless data binding for Go's net/http (not yet a stable 1.0, but not likely to change much either)
- franela/goreq - Minimal and simple request library for Go language
- vattle/sqlboiler - SQLBoiler is a tool to generate a Go ORM tailored to your database schema.
- gographics/imagick - naive Go binding to ImageMagick's MagickWand C API
- scottferg/Fergulator - NES emulator, written in Go
- jackpal/Taipei-Torrent - A(nother) Bittorrent client written in the go programming language
- kobolog/gorb - IPVS on steroids – REST API, heartbeats, service discovery and more
- bazil/fuse - FUSE library for Go. go get bazil.org/fuse
- mitchellh/cli - A Go library for implementing command-line interfaces.
- ark-lang/ark - A compiled systems programming language written in Go using the LLVM framework
- ziutek/mymysql - MySQL Client API written entirely in Go
- EngoEngine/engo - Engo is an open-source 2D game engine written in Go.
- fatih/pool - Connection pool for Go's net.Conn interface
- lunny/tango - Micro & pluggable web framework for Go
- codesenberg/bombardier - Fast cross-platform HTTP benchmarking tool written in Go
- justwatchcom/gopass - The slightly more awesome standard unix password manager for teams
- alexflint/go-restructure - Match regular expressions into struct fields
- jung-kurt/gofpdf - A PDF document generator with high level support for text, drawing and images
- jstemmer/gotags - ctags-compatible tag generator for Go
- ha/doozer - Go client driver for doozerd, a consistent, distributed data store
- gosuri/uilive - uilive is a go library for updating terminal output in realtime
- hoisie/redis - A simple, powerful Redis client for Go
- goinaction/code - Source Code for Go In Action examples
- stripe/stripe-go - Go library for the Stripe API.
- xeipuuv/gojsonschema - An implementation of JSON Schema, draft v4 - Go language
- eawsy/aws-lambda-go - A fast and clean way to execute Go on AWS Lambda.
- domodwyer/cryptic - A sensible secret management toolkit (and Go library) for admins and programmers
- gokrazy/gokrazy - a pure-Go userland for your Raspberry Pi 3 appliances
- a8m/djson - Fast Go decoder for dynamic JSON
- pkg/profile - Simple profiling for Go
- siddontang/mixer - a MySQL proxy powered by Go
- codegangsta/inject - Dependency injection for go
- wendal/gor - Golang编写的静态博客引擎
- go-ini/ini - Package ini provides INI file read and write functionality in Go.
- trivago/gollum - A n:m message multiplexer written in Go
- denisenkom/go-mssqldb - Microsoft SQL server driver written in go language
- zond/god - A Go database
- zchee/docker-machine-driver-xhyve - docker-machine/libmachine driver plugin for xhyve/hyperkit (native macOS hypervisor.framework)
- deckarep/golang-set - A simple set type for the Go language.
- pebbe/zmq4 - A Go interface to ZeroMQ version 4
- dchest/captcha - Go package captcha implements generation and verification of image and audio CAPTCHAs.
- argusdusty/Ferret - An optimized substring search engine written in Go
- RichardKnop/go-oauth2-server - A standalone, specification-compliant, OAuth2 server written in Golang.
- flashmob/go-guerrilla - Mini SMTP server written in golang
- chihaya/chihaya - A customizable, multi-protocol BitTorrent Tracker
- natefinch/pie - a toolkit for creating plugins for Go applications
- mikespook/gorbac - goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang.
- xtaci/kcp-go - A Production-Grade Reliable-UDP Library for golang
- klauspost/reedsolomon - Reed-Solomon Erasure Coding in Go
- pilu/traffic - Sinatra inspired regexp/pattern mux and web framework for Go
- slicebit/qb - The database toolkit for go
- go-reform/reform - A better ORM for Go, based on non-empty interfaces and code generation.
- KyleBanks/goggles - 🔭 Goggles is a cross-platform GUI for your $GOPATH!
- hprose/hprose-golang - Hprose is a cross-language RPC. This project is Hprose 2.0 for Golang.
- samonzeweb/godb - A Go query builder and struct mapper.
- rfjakob/gocryptfs - Encrypted overlay filesystem written in Go.
- stianeikeland/go-rpio - 🔌 Raspberry Pi GPIO library for go-lang
- alecthomas/go_serialization_benchmarks - Benchmarks of Go serialization methods
- xlab/android-go - The android-go project provides a platform for writing native Android apps in Go programming language.
- josephspurrier/gowebapp - Basic MVC Web Application in Go
- campoy/todo - A task manager written in Go using TDD techniques, each commit should represent a step in the application development.
- opentracing/opentracing-go - OpenTracing API for Go
- sbinet/go-python - naive go bindings to the CPython C-API
- moovweb/gokogiri - A light libxml wrapper for Go
- mvdan/sh - A shell/bash parser and formatter
- y0ssar1an/q - Quick and dirty debugging output for tired Go programmers
- ryanbressler/CloudForest - Ensembles of decision trees in go/golang.
- siddontang/go-mysql - a powerful mysql toolset with Go
- golang/leveldb - The LevelDB key-value database in the Go programming language.
- olebedev/go-duktape - Duktape JavaScript engine bindings for Go
- golang/crypto - [mirror] Go supplementary cryptography libraries
- sanbornm/go-selfupdate - Enable your Golang applications to self update
- bogdanovich/siberite - Siberite is a simple, lightweight, leveldb backed message queue written in Go.
- dghubble/sling - A Go HTTP client library for creating and sending API requests
- joho/godotenv - A Go port of Ruby's dotenv library (Loads environment variables from
.env
.) - rakyll/go-hardware - A directory of hardware related libs, tools, and tutorials for Go
- adammck/terraform-inventory - Terraform State → Ansible Dynamic Inventory
- shopspring/decimal - Arbitrary-precision fixed-point decimal numbers in go
- go-python/gopy - gopy generates a CPython extension module from a go package.
- ekanite/ekanite - The Syslog server with built-in search
- onsi/gomega - Ginkgo's Preferred Matcher Library
- rs/cors - Go net/http configurable handler to handle CORS requests
- bitly/statsdaemon - an implementation of Etsy's statsd in Go
- roylee0704/gron - gron, Cron Jobs in Go.
- paypal/gatt - Gatt is a Go package for building Bluetooth Low Energy peripherals
- ericlagergren/go-coreutils - A cross-platform port of GNU's coreutils to Go
- eapache/go-resiliency - Resiliency patterns for golang
- natefinch/lumberjack - lumberjack is a rolling logger for Go
- minio/mc - Minio Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage.
- mcuadros/go-candyjs - fully transparent bridge between Go and the JavaScript
- axw/gocov - Coverage testing tool for The Go Programming Language
- tendermint/tendermint - Tendermint Core (BFT Consensus) in Go
- ngmoco/falcore - Modular HTTP server framework for Go
- tmrts/boilr - ⚡️ boilerplate template manager that generates files or directories from template repositories
- studygolang/studygolang - Go 语言中文网 | Golang中文社区 | Go语言学习园地 源码
- mercari/gaurun - General push notification server in Go
- benbjohnson/megajson - A JSON parser generator for high performance encoding and decoding in Go.
- google/go-querystring - go-querystring is Go library for encoding structs into URL query parameters.
- Code-Hex/pget - Parallel file download client
- bouk/staticfiles - staticfiles compiles a directory of files into an embeddable .go file
- stretchr/gomniauth - Authentication framework for Go applications.
- mpolden/ipd - IP address lookup service
- hashicorp/golang-lru - Golang LRU cache
- digitalocean/godo - DigitalOcean Go API client
- corylanou/tns-restful-json-api - This is the code repository that goes along with the "TheNewStack" article for RESTful JSON API post
- go-resty/resty - Simple HTTP and REST client for Go inspired by Ruby rest-client
- rs/rest-layer - REST Layer, Go (golang) REST API framework
- mjibson/go-dsp - Digital Signal Processing for Go
- likexian/stathub-go - A smart Hub for holding server Stat
- mholt/archiver - Easily create and extract .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, and .rar (extract-only) files with Go
- Jeffail/leaps - A pair programming tool and library written in Golang
- coocood/qbs - QBS stands for Query By Struct. A Go ORM.
- matryer/goblueprints - Source code for Go Programming Blueprints
- hirokidaichi/goviz - a visualization tool for golang project dependency
- codeskyblue/go-sh - like python-sh, for easy call shell with golang.
- sqle/gitquery - SQL interface to Git repositories, written in Go.
- manyminds/api2go - JSONAPI.org Implementation for Go
- mgutz/dat - Go Postgres Data Access Toolkit
- conformal/gotk3 - Go bindings for GTK3
- gonum/matrix - Matrix packages for the Go language
- rakyll/statik - Embed static files into a Go executable
- nictuku/dht - Kademlia/Mainline DHT node in Go.
- kellydunn/golang-geo - Geographical calculations in Go.
- pforemski/dingo - A DNS client in Go that supports Google DNS over HTTPS
- alecthomas/gozmq - Go (golang) bindings for the 0mq (zmq, zeromq) C API
- sevlyar/go-daemon - A library for writing system daemons in golang.
- goji/goji - Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang)
- hellofresh/janus - An Api Gateway written in Go
- mesos/mesos-go - Go language bindings for Apache Mesos
- orcaman/concurrent-map - a thread-safe concurrent map for go
- neelance/graphql-go - GraphQL server with a focus on ease of use
- rubyist/circuitbreaker - Circuit Breakers in Go
- huacnlee/flora-kit - 💐 基于 shadowsocks-go 做的完善实现,自动网络分流,完全兼容 Surge 的配置文件。
- headzoo/surf - Stateful programmatic web browsing in Go.
- go-godo/godo - golang build tool in the spirt of rake, gulp
- exercism/cli - A Go based command line tool for exercism.io.
- DATA-DOG/go-sqlmock - Sql mock driver for golang to test database interactions
- beeker1121/goque - Persistent stacks and queues for Go backed by LevelDB
- kr/pretty - Pretty printing for Go values
- keybase/kbfs - Keybase Filesystem (KBFS)
- docker/libcompose - An experimental go library providing Compose-like functionality
- Netflix-Skunkworks/go-jira - simple jira command line client in Go
- k0kubun/pp - Colored pretty printer for Go language
- rsc/grind - Grind polishes Go programs.
- thoas/stats - A Go middleware that stores various information about your web application (response time, status code count, etc.)
- packetzoom/logzoom - A lightweight replacement for logstash indexer in Go
- FlashBoys/go-finance - Flexible, simple financial markets data in Go.
- qiniu/qlang - Q Language (Q语言) - A script language for Go
- gocraft/work - Process background jobs in Go
- hlandau/service - ⚡️ Easily write daemonizable services in Go
- fatih/set - Set data structure for Go
- coocood/jas - A simple and powerful REST API framework for Go
- coreos/go-systemd - Go bindings to systemd socket activation, journal, D-Bus, and unit files
- nim4/DBShield - Database firewall written in Go
- jaytaylor/shipbuilder - The Open-source self-hosted Platform-as-a-Service written in Go
- tj/robo - Simple Go / YAML-based task runner for the team.
- nsf/godit - A very religious text editor
- hanwen/go-mtpfs - Mount MTP devices over FUSE
- dominikh/go-staticcheck - Staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#
- SimonWaldherr/golang-examples - Go(lang) examples - (explain the basics of golang)
- json-iterator/go - jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go
- jsix/go2o - Golang基于DDD的o2o的业务模型及基础, 界面:http://github.com/jsix/go2o-web
- alexflint/go-arg - Struct-based argument parsing in Go
- miketheprogrammer/go-thrust - Cross Platform UI Kit powered by Blink/V8/Chromium Content Lib
- jawher/mow.cli - A versatile library for building CLI applications in Go
- vdobler/chart - Provide basic charts in go
- rsc/c2go - C to Go translation tool supporting Go toolchain migration
- rackspace/gophercloud - A Go SDK for OpenStack. IN FEATURE FREEZE. See Issue #592
- smartystreets/go-disruptor - A port of the LMAX Disruptor to the Go language.
- stathat/consistent - Consistent hash package for Go.
- petar/GoLLRB - A Left-Leaning Red-Black (LLRB) implementation of balanced binary search trees for Google Go
- vmware/govmomi - Go library for the VMware vSphere API
- golang/snappy - The Snappy compression format in the Go programming language.
- beego/bee - Bee is a tool for helping develop with beego app framework.
- AdRoll/goamz - Fork of the GOAMZ version developed within Canonical with additional functionality with DynamoDB
- fluffle/goirc - Event-based stateful IRC client framework for Go.
- alfredxing/calc - A simple, fast command-line calculator written in Go
- madari/go-socket.io - A Socket.IO backend implementation written in Go
- supergiant/supergiant - Automatically scale hardware and easily run stateful applications using Kubernetes.
- renstrom/shortuuid - 🍄 A generator library for concise, unambiguous and URL-safe UUIDs
- nicksnyder/go-i18n - Translate your Go program into multiple languages with templates and CLDR plural support.
- lomik/go-carbon - Golang implementation of Graphite/Carbon server with classic architecture: Agent -> Cache -> Persister
- bndr/gopencils - Easily consume REST APIs with Go (golang)
- smallnest/go-web-framework-benchmark - ⚡️ Go web framework benchmark
- yvasiyarov/gorelic - New Relic agent for Go lang
- m3ng9i/ran - a simple static web server written in Go
- jasonlvhit/gocron - A Golang Job Scheduling Package.
- mitchellh/ioprogress - Go (golang) package for progress bars around io.Reader/Writers.
- mitchellh/go-ps - Find, list, and inspect processes from Go (golang).
- elazarl/go-bindata-assetfs - Serves embedded files from
jteeuwen/go-bindata
withnet/http
- divan/gobenchui - UI for overview of your Golang package benchmarks progress.
- albrow/jobs - A persistent and flexible background jobs library for go.
- huandu/xstrings - xstrings: A collection of useful string functions for Go.
- mustafaakin/gongular - A different approach to Go web frameworks
- gosuri/uitable - A go library to improve readability in terminal apps using tabular data
- franela/goblin - Minimal and Beautiful Go testing framework
- djherbis/buffer - Composable Buffers for Go #golang
- yosssi/gcss - Pure Go CSS Preprocessor
- inconshreveable/muxado - Stream multiplexing for Go
- mattn/anko - Scriptable interpreter written in golang
- kelseyhightower/konfd - Manage application configuration using Kubernetes secrets, configmaps, and Go templates.
- golang/geo - S2 geometry library in Go
- git-lfs/lfs-test-server - Standalone Git LFS server
- dave/jennifer - Jennifer is a code generator for go
- ajhager/engi - A multi-platform 2D game library for Go.
- dominikh/go-unused - Check Go programs for unused identifiers
- go-gl-legacy/gl - Go bindings for OpenGL
- tj/go-debug - Conditional debug logging for Golang libraries & applications
- peterh/liner - Pure Go line editor with history, inspired by linenoise
- xjdrew/gotunnel - tcp tunnel
- muesli/smartcrop - smartcrop implementation in Go
- divan/depscheck - Dependency checker for Golang (Go) packages. Prints stats and suggests to remove small LeftPad-like imports if any.
- apex/log - Structured logging package for Go.
- jcla1/gisp - Simple LISP in Go
- papertrail/remote_syslog2 - To install, see "Releases" tab. Self-contained daemon for reading local files and emitting remote syslog (without using local syslogd).
- golang/talks - Go talks
- deckarep/gosx-notifier - gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher
- AllenDang/w32 - A wrapper of windows apis for the Go Programming Language.
- adjust/redismq - a durable message queue system for go based on redis, see also https://github.com/adjust/rmq
- ogier/pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
- dnaeon/gru - Orchestration made easy with Go and Lua
- xlab/c-for-go - Automatic C Bindings Generator for Go Programming Language (ex. cgogen)
- valyala/gorpc - Simple, fast and scalable golang rpc library for high load
- otoolep/hraftd - A reference use of Hashicorp's Raft implementation
- armon/go-metrics - A Golang library for exporting performance and runtime metrics to external metrics systems (i.e. statsite, statsd)
- teh-cmc/mmm - [Go] mmm - manual memory management library.
- atmanos/atmanos - Build Go programs that run directly on the Xen hypervisor
- mattn/go-xmpp - go xmpp library (original was written by russ cox )
- fzzy/radix - Redis client for Go
- signintech/gopdf - A simple library for generating PDF written in Go lang
- pkg/sftp - SFTP support for the go.crypto/ssh package
- yyyar/gobetween - ☁️ Modern & minimalistic load balancer for the Сloud era
- VividCortex/siesta - Composable framework for writing HTTP handlers in Go.
- h2non/gentleman - Full-featured, plugin-oriented, composable HTTP client toolkit for Go
- lucasb-eyer/go-colorful - A library for playing with colors in go (golang).
- gocelery/gocelery - Celery Distributed Task Queue in Go
- campoy/go-web-workshop - Build Web Applications with Go on App Engine
- bradrydzewski/go.auth - authentication API for Go web applications
- sourcegraph/thesrc - Example of a 3-layer (frontend, API, datastore) Go web app (based on the code that powers https://sourcegraph.com)
- minishift/minishift - Run OpenShift locally
- golang/tour - [mirror] A Tour of Go
- jolestar/go-commons-pool - a generic object pool for golang
- goffee/goffee - Global uptime monitoring via Tor
- alphazero/Go-Redis - Google Go Client and Connectors for Redis
- oschwald/geoip2-golang - Unofficial MaxMind GeoIP2 Reader for Go
- haya14busa/reviewdog - 🐶 A code review dog who keeps your codebase healthy
- Go-zh/go - Go 编程语言中文翻译
- igm/sockjs-go - WebSocket emulation - Go server library
- go-ozzo/ozzo-validation - A Go (golang) package that supports data validation with configurable and extensible validation rules in usual code constructs instead of mysterious and error-prone struct tags.
- go-gl/gl - Go bindings for OpenGL (generated via glow)
- zalando/skipper - An HTTP router, built with Go, that acts as a reverse proxy with support for custom route definitions
- sogko/slumber - A complete REST API server written in golang / go
- mitchellh/go-mruby - Go (golang) bindings to mruby.
- cloudfoundry/gorouter - CF Router
- marcusolsson/goddd - Exploring DDD in Go
- gyuho/goraph - Package goraph implements graph data structure and algorithms.
- gorilla/handlers - A collection of useful handlers for Go's net/http package.
- tidwall/finn - Fast Raft framework using the Redis protocol for Go
- goamz/goamz - Amazon AWS Library for Go
- shawn1m/overture - A DNS server/dispatcher written in Go.
- 0xAX/go-algorithms - Algorithms and data structures for golang
- fuxiaohei/GoBlog - personal site engine with goink framework
- bemasher/rtlamr - An rtl-sdr receiver for Itron ERT compatible smart meters operating in the 900MHz ISM band.
- vmihailenco/msgpack - MessagePack encoding for Golang msgpack.org[Go]
- tj/go-spin - Terminal spinner package for Golang
- jeffallen/mqtt - MQTT Clients and Servers in Go
- fragmenta/fragmenta-cms - A user-friendly CMS written in Go (golang)
- abiosoft/ishell - Library for creating interactive cli applications.
- jcuga/golongpoll - golang long polling library. Makes web pub-sub easy via HTTP long-poll server 😃 ☕️ 💻
- coreos/go-etcd - DEPRECATED - please use the official client at https://github.com/coreos/etcd/tree/master/client
- nu7hatch/gouuid - Go binding for libuuid
- hashicorp/go-getter - Package for downloading things from a string URL using a variety of protocols.
- willf/bloom - Go package implementing Bloom filters
- secondbit/wendy - A pure Go implementation of the Pastry Distributed Hash Table
- ReshNesh/pixlserv - Go server for processing and serving of images
- niemeyer/gopkg - Source code for the gopkg.in service.
- alicebob/miniredis - Pure Go Redis server for Go unittests
- ryanskidmore/GoWork - Go Library for distributing work to workers
- golang/appengine - Go App Engine packages
- balzaczyy/golucene - Go (Golang) port of Apache Lucene
- harlow/go-micro-services - HTTP up front, Protobufs in the rear.
- guregu/null - reasonable handling of nullable values
- colinmarc/hdfs - A native go client for HDFS
- go-playground/lars - 🚨 Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
- jadekler/git-go-websiteskeleton - A go skeleton for websites.
- thoj/go-ircevent - Event based IRC client library in Go (golang)
- google/fchan-go - Experimental channel implementation
- briandowns/spinner - Go (golang) package for providing a terminal spinner/progress indicator with options.
- xyproto/algernon - Web server with built-in support for Lua, Markdown, templates and HTTP/2
- StackExchange/dnscontrol - Synchronize your DNS to multiple providers from a simple DSL
- asobti/kube-monkey - An implementation of Netflix's Chaos Monkey for Kubernetes clusters
- uber/ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
- sclevine/agouti - A WebDriver client and acceptance testing library for Go
- schollz/gojot - A command-line journal that is distributed and encrypted, making it easy to jot notes 📓
- piranha/gostatic - Fast static site generator
- rylio/ytdl - YouTube download library and CLI written in Go
- progrium/go-extpoints - Make Go packages extensible
- mingrammer/commonregex - 🍫 A collection of common regular expressions for Go
- Scalingo/go-graceful-restart-example - Example of server with graceful restart enable
- anaskhan96/soup - Web Scraper in Go, similar to BeautifulSoup
- Cistern/catena - A time series storage engine for Go
- google/gofuzz - Fuzz testing for go.
- drone/routes - [DEPRECATED] routing API for Go web applications
- deferpanic/gorump - go on Rumprun
- paulbellamy/mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
- looplab/eventhorizon - CQRS/ES toolkit for Go
- doug-martin/goqu - SQL builder and query library for golang
- benbjohnson/ego - An ERB-style templating language for Go.
- tgres/tgres - Time Series in Go and PostgreSQL
- kingsoft-wps/kingtask - A lightweight asynchronous timing task system powered by Go
- vishvananda/netlink - Simple netlink library for go.
- sbinet/igo - A simple interactive Go interpreter built on go-eval with some readline-like refinements
- tj/stack - Minimalist provisioning tool written in Go.
- fabiofalci/sconsify - A spotify console application
- rainycape/gondola - The web framework for writing faster sites, faster
- ivpusic/neo - Go Web Framework
- hajimehoshi/ebiten - A simple SNES-style 2D game library in Go
- nathany/looper - Go autotesting tool with readline support.
- klauspost/pgzip - Go parallel gzip (de)compression
- graymeta/stow - Cloud storage abstraction package for Go
- samalba/dockerclient - Docker client library in Go
- golangers/framework - Golanger Web Framework is a lightweight framework for writing web applications in Go.
- VividCortex/godaemon - Daemonize Go applications deviously.
- llgcode/draw2d - draw2d
- jmhodges/levigo - levigo is a Go wrapper for LevelDB
- go-check/check - Rich testing for the Go language
- madhurjain/gopee - ☁️ Full-Fledged, Self-Hosted Web Proxy in Go
- jteeuwen/go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs.
- fanux/lhttp - go websocket, a better way to buid your IM server
- ahmetb/go-dexec - It's like Go os/exec package but for Docker. What if you could exec programs remotely with the same interface as os/exec?
- giorgisio/goav - Golang bindings for FFmpeg
- tucnak/telebot - Telebot is a Telegram bot framework in Go.
- spacemonkeygo/monkit - A flexible process data collection, metrics, monitoring, instrumentation, and tracing client library for Go
- hyper0x/goc2p - An example project for book 'Go Programming & Concurrency in Practice'.
- h2non/gock - Versatile HTTP mocking and expectations made simple in Go (golang) ༼ʘ̚ل͜ʘ̚༽
- cstockton/go-conv - Fast conversions across various Go types with a simple API.
- visualfc/go-ui - golang ui
- minio/minio-go - Minio Go Library for Amazon S3 compatible cloud storage
- dominikh/go-tools - A collection of tools and libraries for working with Go code, including linters and static analysis
- abbot/go-http-auth - Basic and Digest HTTP Authentication for golang http
- mitchellh/go-homedir - Go library for detecting and expanding the user's home directory without cgo.
- MaxHalford/gago - 🐰 Golang genetic algorithm library
- dustin/gomemcached - A memcached binary protocol toolkit for go.
- bouk/monkey - Monkey patching in Go
- bmhatfield/go-runtime-metrics - Collect Golang Runtime Metrics, outputting to a stats handler
- thewhitetulip/Tasks - A simplistic todo list manager written in Go
- prometheus/client_golang - Prometheus instrumentation library for Go applications
- fzipp/gocyclo - Calculate cyclomatic complexities of functions in Go source code.
- Unknwon/gowalker - Go Walker is a server that generates Go projects API documentation on the fly.
- radovskyb/go-packages - A large repository of code and documented examples for Go's standard package library.
- DAddYE/vips - Go Bindings for Vips (a super fast image processor)
- timakin/gopli - DB replication tool to synchronize data with multi environments written in Golang.
- skelterjohn/go.uik - This project is "closed". If I begin again, it will be from scratch
- hooklift/gowsdl - WSDL2Go code generation as well as its SOAP proxy
- graphite-ng/carbon-relay-ng - Fast carbon relay+aggregator with admin interfaces for making changes online - production ready
- deuill/go-php - PHP bindings for the Go programming language (Golang)
- go-ole/go-ole - win32 ole implementation for golang
- d4l3k/go-pry - An interactive REPL for Go that allows you to drop into your code at any point.
- disney/go-training - Disney training for https://golang.org/
- ChimeraCoder/gitgo - A Go implementation of Git functions
- skelterjohn/go.matrix - linear algebra for go
- wyh267/FalconEngine - 一个go语言实现的简单搜索引擎
- antage/eventsource - Server-sent events for Go
- 3d0c/gmf - Go Media Framework
- rogpeppe/godef - Print where symbols are defined in Go source code
- renstrom/fuzzysearch - 🐷 Tiny and fast fuzzy search in Go
- manishrjain/gocrud - Go framework to simplify CRUD of structured data using Graph operations
- docker-exec/dexec - 🐳 Command line interface for running code in many languages via Docker.
- otiai10/gosseract - Golang OCR library, wrapping Tesseract-ocr
- kenshinx/godns - A fast dns cache server written by go
- hashicorp/go-version - A Go (golang) library for parsing and verifying versions and version constraints.
- renstrom/go-wiki - A simple HTTP server rendering Markdown styled documents
- mattn/memo - 📓 Memo Life For You
- SumoLogic/sumoshell - A terminal-only version of Sumo written in Go
- ory/dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
- johnernaut/goatee - A Redis-backed notification server written in Go
- AntoineAugusti/feature-flags - Feature flags API written in Go
- Unknwon/goconfig - Package goconfig is a fully functional and comments-support configuration file (.ini) parser.
- Masterminds/sprig - Useful template functions for Go templates.
- c9s/goprocinfo - Linux /proc info parser for Go
- Artwalk/GO-ZhihuDaily - 知乎日报 Web 版(Go 实现)
- kr/pty - PTY interface for Go
- docker/go-redis-server - A Go implementation of the Redis server protocol
- OJ/gobuster - Directory/file & DNS busting tool written in Go
- h2non/bimg - Small Go package for fast high-level image processing using libvips via C bindings
- eliukblau/pixterm - Draw images in your ANSI terminal with true color
- couchbaselabs/vellum - A Go library implementing an FST (finite state transducer)
- blang/semver - Semantic Versioning (semver) library written in golang
- mackerelio/mackerel-agent - mackerel-agent is an agent program to post your hosts' metrics to mackerel.io.
- badges/buckler - Go library and CLI for making Shields-style badges (PNG)
- toscale/go-react-example - [DEPRECATED] TAKE A LOOK THIS PROJECT https://github.com/olebedev/go-starter-kit INSTEAD. This is an example of project which shows how to render React app on Golang server-side
- clarkduvall/hyperloglog - HyperLogLog and HyperLogLog++ implementation in Go/Golang.
- ungerik/go-start - A high level web-framework for Go
- sergi/go-diff - Diff, match and patch text in Go
- mndrix/golog - Prolog interpreter in Go
- Rican7/retry - A simple, stateless, functional mechanism to perform actions repetitively until successful.
- johnathanhowell/masterkey - secure interactive password manager using NACL and Go
- fzipp/pythia - Browser based user interface for the Go source code oracle
- armon/go-socks5 - SOCKS5 server in Golang
- aaparella/carve - Go implementation of Seam Carving algorithm.
- sony/gobreaker - Circuit Breaker implemented in Go
- kniren/gota - Gota: DataFrames and data wrangling in Go (Golang)
- gchaincl/dotsql - A Golang library for using SQL.
- andrewstuart/hn - A hackernews ncurses CLI written in GO
- wgliang/goappmonitor - Golang application performance data monitoring.
- interagent/schematic - A Go point of view on JSON Schema
- dshills/goauto - Go package for building automation tools
- dcw303/crenshaw-go - A Go implementation of Jack Crenshaw's Let's Build a Compiler tutorial series
- andlabs/qo - Another build system for C/C++, I guess? Inspired by 'go build'
- QLeelulu/goku - a golang web mvc framework, like asp.net mvc.
- mreiferson/go-httpclient - a Go HTTP client with timeouts
- hashicorp/go-multierror - A Go (golang) package for representing a list of errors as a single error.
- caixw/apidoc - RESTful API 文档生成工具,支持 Go、Java、Swift、Javascript、Rust、Python 和 Ruby 等大部分语言。
- bitly/go-hostpool - Intelligently and flexibly pool among multiple hosts from your Go application
- mna/agora - a dynamically typed, garbage collected, embeddable programming language built with Go
- hybridgroup/gort - Command Line Interface (CLI) for RobotOps
- akrennmair/gopcap - A simple wrapper around libpcap for the Go programming language
- robertkrimen/godocdown - Format package documentation (godoc) as GitHub friendly Markdown
- gocassa/gocassa - A high level Cassandra library in Go, on top of gocql
- huacnlee/mediom - Forum web application, an example for from Rails to Go (Revel)
- aisola/go-coreutils - An attempt at a Go implementation of the GNU Coreutils.
- tcnksm/gotests - A tool to generate Go test functions from the given source code like gofmt
- shurcooL/Conception-go - An unfinished Go implementation of Conception.
- mkideal/cli - CLI - A package for building command line app with go
- inconshreveable/gonative - Build Go Toolchains /w native libs for cross-compilation
- GoogleCloudPlatform/golang-samples - Sample apps and code written for Google Cloud in the Go programming language.
- erroneousboat/slack-term - Slack client for your terminal
- bwmarrin/discordgo - (Golang) Go bindings for Discord
- alioygur/godash - A utility library in Go inspired by lodash
- yanyiwu/gojieba - "结巴"中文分词的Golang版本
- Redundancy/go-sync - gosync is a library for Golang styled around zsync / rsync, written with the intent that it enables efficient differential file transfer in a number of ways
- wcong/ants-go - open source, distributed, restful crawler engine in golang
- tidwall/digitalrain - Matrix Digital Rain written in Go for HTML5 + Canvas
- Sioro-Neoku/go-peerflix - Go Peerflix
- russross/meddler - conversion between sql and structs in go
- PuerkitoBio/purell - tiny Go library to normalize URLs
- cloudfoundry/gosigar - total
- arkenio/gogeta - Reverse proxy based on etcd hierarchy
- adjust/go-wrk - a small heavy duty http/https benchmark tool written in go
- aaronlifton/Gooo - Go lang web app "framework" showcasing straightforward, no-magic, web development
- GoBelieveIO/im_service - golang im server
- coreos/rkt - rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.
- anthonynsimon/parrot - Self-hosted Localization Management Platform built with Go and Angular 2
- martinp/ipd - IP address lookup service
- davelondon/jennifer - Jennifer is a code generator for go
- PuerkitoBio/agora - a dynamically typed, garbage collected, embeddable programming language built with Go
- dominikh/go-structlayout - The structlayout utility prints the layout of a struct
- ligfx/golang-distributed-filesystem - HDFS-alike in Go
- hashicorp/go-immutable-radix - An immutable radix tree implementation in Golang
- grafov/m3u8 - Parser and generator of M3U8-playlists for Apple HLS. Library for Go language.
- willf/bitset - Go package implementing bitsets
- line/line-bot-sdk-go - Go SDK for the LINE Messaging API
- jingweno/nut - Vendor Go dependencies
- gobwas/glob - Go glob
- mvdan/xurls - Extract urls from text
- vladimirvivien/automi - Composable Stream Processing on top of Go Channels!
- stevedonovan/luar - luar is a Go package for conveniently working with the luago Lua bindings. Arbitrary Go functions can be registered
- mkouhei/gosh - interactive shell for Golang
- drone/go.stripe - a simple Credit Card processing library for Go using the Stripe API
- ulule/limiter - Dead simple rate limit middleware for Go.
- sethgrid/multibar - Display multiple progress bars in Go (golang).
- h2non/baloo - Expressive end-to-end HTTP API testing made easy in Go (golang)
- ahmetalpbalkan/go-linq - .NET LINQ-like query methods for Go
- gopherds/gophernotes - It's time to use Go in notebooks.
- NebulousLabs/Sia - Blockchain-based marketplace for file storage
- yinqiwen/gscan - 一个Go语言实现的HTTPS IP可用性扫描工具, 主要作用于Google IP
- gitql/gitql - SQL interface to Git repositories, written in Go.
- ahmetalpbalkan/go-dexec - It's like Go os/exec package but for Docker. What if you could exec programs remotely with the same interface as os/exec?
- 5calls/5calls - Frontend and backend for the 5calls.org site
- dkumor/acmewrapper - Automated wrapper to add let's encrypt support to go servers
- tsuru/docker-cluster - Go library for clustering support on Docker.
- redneckbeard/gadget - RESTful routes and controllers for Go
- sbinet/go-eval - the beginning of an interpreter for Go (fork off exp/eval)
- reconquest/barely - Simple and extensible status bar to pretty display of Go-lang program's progress
- dominikh/go-simple - Gosimple is a linter for Go source code that specialises on simplifying code
- danryan/hal - A chat bot in Go.
- qiniu/gobook - The Go Programming Language
- otoolep/go-httpd - How to organise a Go HTTP service
- jasonmoo/lambda_proc - Running a companion process to an AWS Lambda function in go
- emicklei/hopwatch - webbased debugging for Go programs
- bom-d-van/harp - A Go application deployment tool.
- jwaldrip/odin - A go-lang library to help build self documenting command line applications.
- auth0/go-jwt-middleware - A Middleware for Go Programming Language to check for JWTs on HTTP requests
- qur/gopy - Idiomatic Python bindings for Google Go
- mattn/go-webkit - webkit widget for go-gtk
- go-errors/errors - errors with stacktraces for go
- garyburd/go-oauth - OAuth 1.0 client package for Go
- elodina/go_kafka_client - Apache Kafka Client Library for Go
- wawandco/fako - Struct Faker for Go
- sendgrid/sendgrid-go - SendGrid Library to Interface through Go
- couchbase/go-couchbase - Couchbase client in Go
- Azure/azure-sdk-for-go - Microsoft Azure SDK for Go
- GoogleCloudPlatform/go-endpoints - Cloud Endpoints for Go
- gernest/hero - oauth 2 server implementation in Go
- digitalocean/go-qemu - Go packages to interact with QEMU using the QEMU Machine Protocol (QMP). Apache 2.0 Licensed.
- looplab/fsm - Finite State Machine for Go
- astaxie/go-system-programming - Go System Programming
- ory-am/hydra - A security-first open source OAuth2 and OpenID Connect server for new and existing infrastructures. Written in Go.
- ory-am/fosite - Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
- ory-am/dockertest - Test your Go code against ephemeral elastic search, postgres, nqs, mysql, mongodb, ... docker images on all OS using dockertest!
- davecheney/gmx - Go management extensions
- bobziuchkovski/writ - A flexible command and option parser for Go
- zhangpeihao/gortmp - Implement RTMP protocol by golang
- cloudflare/golibs - Various small golang libraries
- piotrnar/gocoin - Full bitcoin solution written in Go (golang)
- hailocab/go-geoindex - Go native library for fast point tracking and K-Nearest queries
- smartystreets/mafsa - Package mafsa implements Minimal Acyclic Finite State Automata in Go, essentially a high-speed, memory-efficient, Unicode-friendly set of strings.
- fxsjy/gonn - GoNN is an implementation of Neural Network in Go Language, which includes BPNN, RBF, PCN
- gorhill/cronexpr - Cron expression parser in Go language (golang)
- go-ldap/ldap - Basic LDAP v3 functionality for the GO programming language.
- deferpanic/goweave - Aspect Oriented Programming for Go
- banthar/Go-SDL - Go bindings for SDL
- douban/beanseye - Proxy and monitor for beansdb in Go
- cosiner/gohper - common libs here.
- op/go-nanomsg - Language bindings for nanomsg in Go (Golang)
- mrmorphic/hwio - Go library for hardware I/O control, in the programming style of Arduino
- imdario/mergo - Mergo: merging Go structs and maps since 2013
- DiSiqueira/Gorganizer - Organize your folders into a beautiful classified folder structure with this perfect tool
- speps/go-hashids - Go (golang) implementation of http://www.hashids.org
- sourcegraph/go-webkit2 - WebKit API bindings (WebKitGTK+ v2) for Go
- howeyc/gopass - getpasswd for Go
- andelf/go-curl - golang curl(libcurl) binding.
- AllenDang/gform - Windows GUI framework for Go.
- lxc/go-lxc - Go bindings for liblxc
- Terry-Mao/gosnowflake - Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees (golang).
- kavu/go_reuseport - Brings SO_REUSEPORT into your Go server
- gansidui/gotcp - A Go package for quickly building tcp servers
- dimiro1/health - An easy to use, extensible health check library for Go applications.
- caarlos0/env - A KISS way to deal with environment variables in Go.
- pubnative/mysqldriver-go - GC optimized MySQL driver
- monzo/phosphor - Distributed System Tracing in Go
- kjk/fofou - Simple forums software, in Go
- joeshaw/gengen - A Go source transformation tool for generics
- edsrzf/mmap-go - A portable mmap package for Go
- agrison/harpoon - GitHub WebHook server written in Go
- palantir/stacktrace - Stack traces for Go errors
- maximilien/i18n4go - i18n tooling for Golang
- mattn/go-v8 - Go binding for v8
- SlyMarbo/rss - A Go library for fetching, parsing, and updating RSS feeds.
- pwaller/goupx - Fix golang compiled binaries on x86_64 so that they can be packed with UPX
- koyachi/go-nude - Nudity detection with Go.
- erning/gorun - gorun is a tool enabling one to put a "bang line" in the source code of a Go program to run it, or to run such a source code file explicitly. It was created in an attempt to make experimenting with Go more appealing to people used to Python and similar languages which operate most visibly with source code.
- dustin/go-probably - Probabilistic Data Structures for Go
- zond/gotomic - Non blocking data structures for Go
- ursiform/sleuth - A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services
- inconshreveable/slt - A TLS reverse proxy with SNI multiplexing in Go
- go-playground/log - 📗 Simple, configurable and scalable Structured Logging for Go.
- githubnemo/CompileDaemon - Very simple compile daemon for Go
- ossrs/go-oryx - The go-oryx is SRS++, focus on real-time live streaming cluster.
- mssola/user_agent - HTTP User Agent parser for the Go programming language.
- GianlucaGuarini/go-observable - It allows you to send and receive events with a tiny simple API
- desertbit/glue - Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io)
- samuel/go-thrift - A native Thrift package for Go
- ctdk/goiardi - A Chef server written in Go, able to run entirely in memory, with optional persistence with saving the in-memory data to disk or using MySQL or Postgres as the data storage backend. Docs: http://goiardi.readthedocs.io/en/latest/index.html
- tucnak/store - A dead simple configuration manager for Go applications
- daviddengcn/gcse - Project for Go Search, a search engine for finding popular and relevant packages.
- couchbase/go-slab - slab allocator in go
- codeskyblue/gobuild - not maintained, moved to https://github.com/gobuild/gobuild
- beefsack/go-rate - A timed rate limiter for Go
- mozillazg/go-pinyin - 汉字拼音转换工具 Go 版
- mikespook/gearman-go - This package is a Gearman API for Golang. It was implemented a native protocol for both worker and client API.
- gonum/graph - Graph packages for the Go language
- asaskevich/EventBus - [Go] Lightweight eventbus with async compatibility for Go
- alexedwards/scs - Session management for Go 1.7+
- aerospike/aerospike-client-go - Aerospike Client Go
- natefinch/deputy - deputy is a go package that adds smarts on top of os/exec
- dimfeld/httptreemux - High-speed, flexible tree-based HTTP router for Go.
- steveyen/gkvlite - Simple, ordered, key-value persistence library for the Go Language
- elcct/defaultproject - Web Application bootstrap for Go
- djimenez/iconv-go - iconv support for Go
- rwcarlsen/goexif - Decode embedded EXIF meta data from image files.
- RoaringBitmap/roaring - Roaring bitmaps in Go (golang)
- lxn/win - A Windows API wrapper package for the Go Programming Language
- WhiteBlue/bilibili-sdk-go - BiliBili Open API & SDK written in Go
- jwilder/gofana - Standalone Grafana Server With SSL and Auth
- go-oauth2/oauth2 - OAuth 2.0 server library for the Go programming language.
- hraberg/cljs2go - ClojureScript to Go
- goraft/raftd - A reference implementation for using the go-raft library for distributed consensus.
- dingoblog/dingo - Blog engine written in Go (Looking for contributors)
- codahale/hdrhistogram - A pure Go implementation of Gil Tene's HDR Histogram.
- armon/go-radix - Golang implementation of Radix trees
- mrjones/oauth - OAuth 1.0 implementation in go (golang).
- uber/tchannel-go - Go implementation of a multiplexing and framing protocol for RPC calls
- sselph/scraper - A scraper for EmulationStation written in Go using hashing
- skratchdot/open-golang - Open a file, directory, or URI using the OS's default application for that object type. Optionally, you can specify an application to use.
- pelletier/go-toml - Go library for the TOML language
- couchbase/gocb - The Couchbase Go SDK
- akavel/rsrc - Tool for embedding binary resources in Go programs.
- pixiv/go-thumber - dynamic JPEG thumbnailing proxy written in Golang
- Pallinder/go-randomdata - A tiny generator of random data for golang, also known as a faker
- niemeyer/godeb - godeb transforms upstream tarballs for the Go language in deb packages and installs them.
- blynn/nex - Lexer for Go
- alexanderGugel/arc - 🙈 An Adaptive Replacement Cache (ARC) written in Go.
- milochristiansen/lua - A Lua 5.3 VM and compiler written in Go.
- lunixbochs/struc - Better binary packing for Go
- ayufan/gitlab-ci-multi-runner - This repository is a mirror for automated DockerHub builds. Please go to:
- lonnc/golang-nw - Call a golang web application from node-webkit to get a native looking application.
- govend/govend - A simple tool to vendor Go package dependencies. It's like "go get" for vendoring.
- golang/freetype - The Freetype font rasterizer in the Go programming language.
- g0hacker/goc2p - A example project for book 'Go Programming & Concurrency in Practice'.
- goreleaser/releaser - Deliver Go binaries as fast and easily as possible
- d2fn/gopack - Dependency management for go inspired by rebar
- eaigner/jet - Jet is a super-flexible and lightweight SQL interface for Go
- LyricalSecurity/gigo - GIGO: PIP for GO
- feyeleanor/GoLightly - A customisable virtual machine written in Go
- Thinkofname/steven-go - Go Minecraft Client
- pagarme/teleport - Trigger-based Postgres replicator in Go that works without superuser permissions
- brucehsu/GobiesVM - A Ruby VM written in Go aims to exploit parallelism via Software Transactional Memory
- simon-whitehead/relayr - Simple real-time web for Go
- rakyll/go2xcode - Go package to Xcode project generator
- o1egl/govatar - Avatar generator library for GO language
- nf/gohttptun - A tool to tunnel TCP over HTTP, written in Go
- azer/crud - A minimalistic relational database library for Go, with simple and familiar interface.
- eobrain/funcgo - Functional Go Programming Language
- davecheney/godoc2md - Simple translation from godoc to markdown.
- shurcooL/gostatus - A command line tool that shows the status of Go repositories.
- mitchellh/colorstring - Go (golang) library for colorizing strings for terminal output.
- zhemao/glisp - LISP dialect implemented in Go
- koding/multiconfig - Load configuration from multiple sources in Go
- AsynkronIT/gam - Go Actor Model framework - Ultra fast distributed actors for Golang
- jaredfolkins/badactor - BadActor.org An in-memory application driven jailer written in Go
- apuigsech/seekret - Go library and command line to seek for secrets on various sources.
- mgutz/ansi - Small, fast library to create ANSI colored strings and codes. [go, golang]
- hazbo/the-super-tiny-compiler - Like The Super Tiny Compiler, but in Go
- codegangsta/bwag - Source code for the book "Building Web Apps with Go"
- zombiezen/go-capnproto2 - Cap'n Proto library and code generator for Go
- skelterjohn/go.wde - Windows, drawing and events for Go
- runemadsen/ok-go - A template for golang web applications inspired by Ruby on Rails
- lyricat/tattoo - A simple blog system written in Go language
- sriram-srinivasan/gore - An evaluator for go code
- mattn/gopher - Windows Desktop Mascot Applicaiton "Gopher"
- BurntSushi/xgb - The X Go Binding is a low-level API to communicate with the X server. It is modeled on XCB and supports many X extensions.
- dinever/golf - The Golf web framework ⛳️
- buger/gor - Gor is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
- Sirupsen/logrus - Structured, pluggable logging for Go.
- dancannon/gorethink - Go language driver for RethinkDB
- nitrous-io/goop - A simple dependency manager for Go (golang), inspired by Bundler.
- EricLagergren/go-coreutils - A cross-platform port of GNU's coreutils to Go
- nishanths/license - Command-line license generator in Go
- coreos/coreos-cloudinit - an implementation of cloud-config written in Go
- shicky/gocelery - Celery Distributed Task Queue in Go
- WhiteBlue/bilibili-go - BiliBili API / REST service written in Go
- felixge/godrone - GoDrone is a free software alternative firmware for the Parrot AR Drone 2.0.
- sleepypikachu/still-good-food - Being a scraper to save a BBC good food recipe
- zpeters/speedtest - Command line client for speedtest.net written in Go
- YuriyNasretdinov/GoSSHa - Go SSH agent: can execute commands at thousands of servers and upload files to them
- YoungPioneers/blog4go - Partial Logger
- spacemonkeygo/monitor - Deprecated. Please go look at monkit!
- jingweno/gotask - Idiomatic build tool in Go
- gdm85/wolfengo - Wolfenstein3D clone in Go
- apexskier/httpauth - Go (lang) HTTP session authentication
- Philio/GoMySQL - The most complete and stable MySQL client library written completely in Go. For discussion, ideas, suggestions, feature requests etc, please visit the GoMySQL Google Group (link below). For any issues/bugs or need some help, please post an issue on Github.
- motemen/gompatible - A tool to show Go package's API changes between two (git) revisions
- andybalholm/cascadia - CSS selector library in Go
- HewlettPackard/gas - Go AST Scanner
- hprose/hprose-go - Hprose for Golang
- streamrail/concurrent-map - a thread-safe concurrent map for go
- kljensen/golang-html5-sse-example - HTML5 Server Side Events with Go
- bitly/go-notify - a Go package to observe notable events in a decoupled fashion
- SimonWaldherr/GoRealtimeWeb - Examples how to write realtime web applications in Golang
- rakyll/ticktock - A cron job scheduler for Go
- octokit/go-octokit - Simple Go wrapper for the GitHub API
- mkevac/debugcharts - Charts for Go debug data
- knieriem/markdown - A translation of peg-markdown (an implementation of Markdown in C, using a PEG grammar) into Go
- jjyr/bootgo - A barebones OS kernel written in go
- doneland/yquotes - Yahoo Stock Quotes in Go
- hanguofeng/gocaptcha - A captcha service writen in golang
- gofinance/ib - Pure Go interface to Interactive Brokers IB API
- cmpxchg16/gobench - HTTP/HTTPS load testing and benchmarking tool
- ajensenwaud/gwitter - UNIX command line client for Twitter written in Go
- mjibson/goread - RSS reader in go on app engine
- astaxie/Go-best-practice - Trying to complete over 100 projects in various categories in golang.
- aacanakin/qb - The database toolkit for go
- davyxu/cellnet - 简单,方便,高效的Go语言的游戏服务器底层
- cenk/backoff - The exponential backoff algorithm in Go (Golang).
- juju/deputy - deputy is a go package that adds smarts on top of os/exec
- sorcix/irc - Package irc implements generic support for the IRC protocol in Go.
- sourcegraph/syntaxhighlight - Go package for syntax highlighting of code
- nleof/goyesql - Go + Yesql
- miraclesu/wechat-deleted-friends - 查看被删的微信好友 Go 版
- gowade/wade - Web development with isomorphic Go
- deiwin/picasso - A Go image composer
- golang/text - [mirror] Go text processing support
- ungerik/go-dry - DRY (don't repeat yourself) package for Go
- jjinux/gotetris - This is a console-based version of Tetris written in Go
- goiot/devices - Suite of libraries for IoT devices (written in Go)
- emicklei/mora - MongoDB generic REST server in Go
- astaxie/Go-in-Action - Trying to complete over 100 projects in various categories in golang.
- Unknwon/build-web-application-with-golang_EN - Someone stole my work and violated license, shame on him.
- GoogleCloudPlatform/gcloud-golang - Google Cloud APIs Go Client Library
- smallnest/rpcx - rpcx is a distributed RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan. Implemented by Go
- docker/engine-api - Go libraries providing client and server components compatible with the Docker engine
- henrylee2cn/pholcus - [爬虫软件 (golang)] Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;同时她还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。
- rogeralsing/gam - Go Actor Model framework - Ultra fast distributed actors for Golang
- cloudfoundry/cli - A CLI for Cloud Foundry written in Go
- ipfs/go-libp2p - libp2p implementation in Go
- davecheney/profile - A simple profiling support package for Go
- otium/ytdl - YouTube download library and CLI written in Go
- gophergala2016/gophernotes - It's time to use Go in notebooks.
- michaelmaltese/golang-distributed-filesystem - HDFS-alike in Go
- hailocab/gocassa - A high level Cassandra library in Go, on top of gocql
- VoltFramework/volt - A simple Mesos framework written in Go
- gosexy/db - Expressive database wrappers for Go (golang). SQLite3, MySQL, PostgreSQL and MongoDB.
- hyper-carrot/goc2p - A example project for book 'Go Programming & Concurrency in Practice'.
- mondough/phosphor - Distributed System Tracing in Go
- bartmeuris/progressio - Go library to get progress feedback from io.Reader and io.Writer objects
- yosssi/gold - [DEPRECATED]Template engine for Go
- technoweenie/grohl - Combination logging, exception reporting, and metrics library for Go.
- nybuxtsui/gowalk - 代理服务器
- joliv/spark - Sparklines for Go.
- jbarham/go-cdb - Pure Go implementation of D. J. Bernstein's cdb constant database library.
- vito/go-repl - A Go REPL. Builds up a source .go file over time, compiles it for output.
- timehop/apns - A Go package to interface with the Apple Push Notification Service
- naoina/kocha - A convenient web application framework for Go
- cloudflare/go - Stable Go with useful patches from tip
- yusukebe/revealgo - Markdown driven presentation tool written in Go!
- apsdehal/go-logger - Simple logger for Go programs
- VividCortex/ewma - Exponentially Weighted Moving Average algorithms for Go.
- parkghost/gohttpbench - An ab-like benchmark tool run on multi-core cpu
- josephlewis42/multicache - A caching library for go that supports multiple keys and various replacement algorithms.
- alexjlockwood/gcm - Google Cloud Messaging for application servers implemented using the Go programming language.
- 101loops/go-reactjs - React.js server-side rendering with Go
- speedata/gogit - Pure Go read access of a Git repository
- zetamatta/nyagos - Nihongo Yet Anothoer GOing Shell (超線形指令殻NYAGOS)
- quirkey/magick - go (golang) wrapper around imagemagick
- dimiro1/ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO
- spacemonkeygo/openssl - OpenSSL bindings for Go
- didip/shawty - Smallest URL shortener in Go
- a8m/mark - A markdown processor written in Go. built for fun.
- unigornel/unigornel - A library operating system for Go
- ncw/gotemplate - Package based templating system for Go
- mb0/lab - golab: go local application builder - a web-based golang ide
- kr/goven - Use godep instead
- beefsack/go-astar - Go implementation of the A* search algorithm
- codegangsta/cli - A small package for building command line apps in Go
- c9s/c6 - Compile SASS Faster ! C6 is a SASS-compatible compiler written in Go.
- gojp/goreportcard - A report card for your Go application
- kisielk/vigo - Vi in Go
- kurrik/twittergo - Twitter client library for go
- kedebug/LispEx - A dialect of Lisp extended to support concurrent programming, written in Go.
- christopherhesse/rethinkgo - OBSOLETE Go language driver for RethinkDB
- gwoo/goforever - Keep processes running. Start, Stop, Restart a process via cli or http interface.
- gosexy/redis - Redis client for Go that maps the full redis command list into equivalent Go functions.
- erikstmartin/go-testdb - Framework for stubbing responses from go's driver.Driver interface
- brettbuddin/victor - Chat bots in Go (unmaintained)
- eandre/discover - A utility for conceptualizing large Go code bases
- octavore/delta - Delta is a command-line diff tool implemented in Go.
- etix/mirrorbits - Mirrorbits is a geographical download redirector written in Go for distributing files efficiently across a set of mirrors.
- docker/gordon - Cli application to manage github pull requests
- daviddengcn/go-colortext - Change the color of console text.
- opennota/check - A set of utilities for checking Go sources
- cathalgarvey/go-minilock - The minilock file encryption system, ported to pure Golang. Includes CLI utilities.
- noraesae/orange-cat - A Markdown previewer written in Go
- ajg/form - A Form Encoding & Decoding Package for Go
- yuroyoro/goast-viewer - Golang AST visualizer
- peterskeide/bones - A project template for Go webapps
- msoap/go-carpet - go-carpet - show test coverage for Go source files
- inconshreveable/go-tunnel - [DEPRECATED] Tunnel to localhost as a library
- gorilla/http - An alternative HTTP client implementation for Go.
- gollector/gollector - json-based metrics collector
- bkaradzic/go-lz4 - Port of LZ4 lossless compression algorithm to Go
- tftp-go-team/hooktftp - Hook based tftp server written in Go (golang)
- rainycape/magick - ImageMagick bindings for Go (golang)
- petar/GoTeleport - Teleport Transport: End-to-end resilience to network outages
- hoisie/twitterstream - A client for Twitter's streaming API in Go
- google/subcommands - Go subcommand library.
- drone/jkl - a static site generator written in Go based on Jekyll
- tcnksm/go-input - Go package for ideal tty prompt
- mkaz/hastie - a static site generator written in Go
- mikespook/goemphp - This package is built for Embedding PHP into Golang.
- chsc/gogl - OpenGL binding generator for Go
- PuerkitoBio/pigeon - Command pigeon generates parsers in Go from a PEG grammar.
- surma/gobox - Something like busybox in pure Go
- gigablah/dashing-go - A Go port of shopify/dashing
- rakyll/magicmime - Go bindings for libmagic to detect MIME types
- mdempsky/unconvert - Remove unnecessary type conversions from Go source
- davecheney/mdns - Multicast DNS library for Go
- cheekybits/genny - Elegant generics for Go
- 9uuso/vertigo - Blog engine in Go (golang)
- tpjg/goriakpbc - A golang riak client inspired by the Ruby riak-client from Basho and riakpbc from mrb
- drewolson/testflight - Painless http testing in Go
- Unknwon/com - This is an open source project for commonly used functions for the Go programming language.
- SlyMarbo/spdy - [deprecated] A full-featured SPDY library for the Go language.
- skelterjohn/wgo - Managed workspaces for Go
- plimble/ace - Blazing fast Go Web Framework
- oxtoacart/bpool - Buffer/Byte pool for Go
- jondot/crunch - A fast to develop, fast to run, Go based toolkit for ETL and feature extraction on Hadoop.
- hashicorp/logutils - Utilities for slightly better logging in Go (Golang).
- edmund-huber/ergonomadic - A complete, reliable, ircd written in Go.
- zeromq/goczmq - goczmq is a golang wrapper for CZMQ v3.
- vieux/gocover.io - GoCover.io offers the code coverage of any golang package as a service.
- remogatto/prettytest - A simple testing library for Go
- mikejs/gomongo - Go driver for MongoDB
- jpillora/backoff - Simple backoff algorithm in Go (golang)
- ericchiang/letsencrypt - A Let's Encrypt client for Go
- cypriss/golang-mux-benchmark - Performance shootout of popular Go mux/routers/middleware web frameworks
- benschw/go-todo - TODO microservice written in go with Gin
- BurntSushi/ty - Easy parametric polymorphism at run time using completely unidiomatic Go.
- zorkian/lca2015 - linux.conf.au 2015 tutorial on Building Services in Go
- buger/goterm - Advanced terminal output in Go
- albrow/zoom - A blazing-fast datastore and querying engine for Go built on Redis.
- MohamedBassem/getaredis - A one click, docker based, auto scaling, Redis host implemented in Go and hosted on Digitalocean.
- metaleap/go-xsd - A package that loads XML Schema Definition (XSD) files. Its makepkg tool generates a Go package with struct type-defs to xml.Unmarshal() into, based on the XSD's schema definitions.
- mattn/goemon - 五右衛門
- getsentry/raven-go - Sentry client in Go
- EverythingMe/go-disque - Go client for Disque
- sridharv/gojava - GoJava - Java bindings for Go packages
- mitchellh/panicwrap - panicwrap is a Go library for catching and handling panics in Go applications.
- martingallagher/gawp - A simple, configurable, file watching, job execution tool implemented in Go.
- gonum/blas - A blas implementation for Go.
- trevex/golem - Lightweight Go WebSocket-Framework
- mattn/go-oci8 - oracle driver for go that using database/sql
- spacemonkeygo/errors - A flexible error support library for Go
- mattbaird/gochimp - Golang based client API for Mailchimp, including Mandrill
- davecheney/gpio - GPIO for Go
- bmizerany/assert - Asserts to Go testing
- alouca/gosnmp - A simple SNMP library written in GoLang
- FogCreek/logging - A Go package for logging that supports a tagged style of logging
- tj/go-config - Simpler Go configuration with structs.
- smartystreets/go-aws-auth - Signs requests to Amazon Web Services (AWS) using IAM roles or signed signature versions 2, 3, and 4. Supports S3 and STS.
- kr/binarydist - Go implementation of the bspatch algorithm
- jlaffaye/ftp - FTP client package for Go
- h12w/socks - A SOCKS (SOCKS4, SOCKS4A and SOCKS5) Proxy Package for Go
- PuerkitoBio/rehttp - Package rehttp implements a Go HTTP transport that handles retries.
- seletskiy/go-android-rpc - Native Android UI via shared Golang library
- manuelkiessling/go-cleanarchitecture - An example Go application demonstrating The Clean Architecture.
- laurent22/ripple - Ripple is a REST API library for the Go programming language. Demo is available below:
- piranha/goreplace - command line tool to search and replace
- ncw/swift - Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)
- mozillazg/request - Go HTTP Requests for Humans™.
- go-pipe/pipe - Package pipe implements unix-like pipelines for Go.
- codehack/go-relax - Framework for building RESTful API's in Go
- twinj/uuid - A Go RFC4122 UUID implementation
- thoj/go-galib - Genetic Algorithms library written in Go / golang
- nelhage/gojit - JIT code-generation in golang!
- mdlayher/waveform - Go package capable of generating waveform images from audio streams. MIT Licensed.
- go-tomb/tomb - The tomb package helps with clean goroutine termination in the Go language.
- flynn/go-tuf - Go implementation of The Update Framework (TUF)
- codingsince1985/geo-golang - (reverse) geocoding service in Go
- brettweavnet/gosync - Experiment - Sync files to S3, fast. Go package and CLI.
- bradfitz/go-smtpd - SMTP server library for Go
- axgle/mahonia - character-set conversion library implemented in Go
- stevenmiller888/go-mind - A neural network library built in Go
- ryanchapman/go-any-proxy - A transparent proxy written in Golang. It can send to upstream proxies (e.g. corporate) and CONNECT on any port through corp proxies, giving internet access to external internet resources.
- pomack/thrift4go - Apache Thrift for the Go Language
- hashicorp/errwrap - Errwrap is a Go (golang) library for wrapping and querying errors.
- bndr/gotabulate - Gotabulate - Easily pretty-print your tabular data with Go
- alexcesaro/statsd - An efficient Statsd Go client.
- wandoulabs/codis - Proxy based redis cluster powered by go, supporting pipeline
- flike/kingshard - A high performance proxy for MySQL powered by Go
- go-fsnotify/fsnotify - File system notifications for Go.
- gdamore/mangos - package mangos is an implementation in pure Go of the SP ("Scalable Protocols") protocols.
- chanxuehong/wechat - weixin/wechat/微信公众平台/微信企业号/微信商户平台/微信支付 go/golang sdk
- myodc/go-micro - A microservice library in Go
- pmylund/go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
- michaelmacinnis/oh - A Unix shell written in Go
- Preetam/catena - A time series storage engine for Go
- olebedev/go-react-example - [DEPRECATED] TAKE A LOOK THIS PROJECT https://github.com/olebedev/go-starter-kit INSTEAD. This is an example of project which shows how to render React app on Golang server-side
- jordan-wright/gophish - Open-Source Phishing Toolkit
- azer/atlas - Minimalistic Go Library for Creating JSON API Servers
- stealthly/go_kafka_client - Apache Kafka Client Library for Go
- martinp/ifconfigd - IP address lookup service written in Go
- thinkofdeath/steven - Go Minecraft Client
- nf/goplayer - A web-based music player
- felixpalmer/go_images - Example code for generating images in Go
- slyrz/mango - Generate Man pages from Go source
- orfjackal/gospec - Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED]
- monochromegane/argen - An ORM code-generation tool for Go, provides ActiveRecord-like functionality for your types.
- gmarik/gorack - Gorack a Go backed frontend webserver for Ruby's Rack apps
- bamiaux/rez - Image resizing in pure Go and SIMD
- asib/spaceinvaders - Terminal Space Invaders written in Go
- voxelbrain/goptions - A flexible parser for command line options
- turbobytes/gomr - MapReduce in Go using etcd and s3
- project-iris/iris-go - Iris Go binding
- phrozen/rayito - Simple Ray Tracer written in Go.
- daviddengcn/gosl - Go Script Language
- moovweb/rubex - Super Fast Regex in Go
- emilsjolander/goson - A json templating DSL written in go
- mjibson/appstats - Appstats for Go on Google App Engine
- jzelinskie/conventions - a package for learning Go conventions
- goware/httpmock - HTTP mocking in Go made easy
- ant0ine/go-urlrouter - Efficient URL routing using a Trie data structure.
- tchap/go-patricia - A generic patricia trie (also called radix tree) implemented in Go (Golang)
- badgerodon/socketmaster - A zero-config, reverse-proxy written in Go
- dre1080/recover - 💥 Go HTTP middleware that catches any panics and serves a proper error response.
- pebbe/zmq3 - A Go interface to ZeroMQ version 3
- jpillora/ssh-tron - Multiplayer Tron over SSH, written in Go
- robfig/soy - Go implementation for Soy templates (Google Closure templates)
- peferron/algo - Algorithms and data structures implemented in Go, JS, TypeScript and Rust.
- ziutek/gst - Go bindings for GStreamer
- bashtian/jsonutils - Converter for JSON data to a Go struct or a Java class for GSON
- tux21b/ChessBuddy - Play chess with Go, HTML5, WebSockets and random strangers!
- nickpresta/chameleon - Caching reverse proxy for testing written in Go
- michaeldv/donna - Highly experimental UCI chess engine implemented in Go
- go-gl/mathgl - A pure Go 3D math library.
- facebookgo/mongoschema - A tool to generate Go struct types based on data in a Mongo collection.
- benbjohnson/testing - A small collection of functions for Go testing.
- GoogleCloudPlatform/appengine-angular-gotodos - Go/App Engine backend for the popular Angular.js todo example
- DHowett/go-plist - A pure Go Apple Property List transcoder
- rk/go-cron - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.
- kylelemons/go-gypsy - Go YAML Parser for Simple YAML
- jteeuwen/go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions.
- jdamick/kafka - Producer and Consumer for Kafka in Go
- kr/beanstalk - Go client for beanstalkd
- jakecoffman/gorunner - A Jenkins-like continuous integration server written in Go (Golang) and Angularjs.
- crufter/goquery - Jquery style selector engine for HTML documents, in Go.
- temoto/robotstxt-go - The robots.txt exclusion protocol implementation for Go language #golang
- joewalnes/websocketd - Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets.
- google/cayley - An open-source graph database
- influxdb/influxdb - Scalable datastore for metrics, events, and real-time analytics
- inconshreveable/ngrok - Introspected tunnels to localhost
- spf13/hugo - A Fast and Flexible Static Site Generator built with love by spf13 in GoLang
- bitly/nsq - A realtime distributed messaging platform
- mitchellh/packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
- hashicorp/consul - Consul is a tool for service discovery, monitoring and configuration.
- flynn/flynn - A next generation open source platform as a service (PaaS)
- gizak/termui - Golang terminal dashboard
- golang/groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
- shipyard/shipyard - Composable Docker Management
- hashicorp/serf - Service orchestration and management tool.
- hashicorp/vault - A tool for managing secrets.
- dinedal/textql - Execute SQL against structured text like CSV or TSV
- docker/swarm - Swarm: a Docker-native clustering system
- sosedoff/pgweb - Web-based PostgreSQL database browser
- prometheus/prometheus - The Prometheus monitoring system and time series database.
- codegangsta/negroni - Idiomatic HTTP Middleware for Golang
- burke/zeus - Boot any rails app in under a second.
- progrium/localtunnel - Expose localhost servers to the Internet
- google/cadvisor - Analyzes resource usage and performance characteristics of running containers.
- youtube/vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
- peco/peco - Simplistic interactive filtering tool
- ha/doozerd - A consistent distributed data store.
- mozilla-services/heka - Data collection and processing made easy.
- igrigorik/ga-beacon - Google Analytics collector-as-a-service (using GA measurement protocol).
- docker/machine - Machine management for a container-centric world
- github/git-lfs - Git extension for versioning large files
- FiloSottile/Heartbleed - A checker (site and tool) for CVE-2014-0160
- getlantern/lantern - Open Internet for everyone. Lantern is a free desktop application that delivers fast, reliable and secure access to the open Internet.
- opencontainers/runc - runc container cli tools
- elastic/packetbeat - Open Source Real-Time Packet Analyzer
- kelseyhightower/confd - Manage local application configuration files using templates and data from etcd or consul
- coreos/fleet - A Distributed init System
- jgrahamc/httpdiff - Perform the same request against two HTTP servers and diff the results
- shazow/ssh-chat - Chat over SSH.
- chrislusf/seaweedfs - Seaweed-FS is a simple and highly scalable distributed file system. There are two objectives: to store billions of files! to serve the files fast! Instead of supporting full POSIX file system semantics, Seaweed-FS choose to implement only a key~file mapping. Similar to the word "NoSQL", you can call it as "NoFS".
- rancher/os - The easiest way to run Docker in production
- mailgun/vulcand - Programmatic load balancer backed by Etcd
- elastic/logstash-forwarder - An experiment to cut logs in preparation for processing elsewhere.
- camlistore/camlistore - Camlistore is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.
- getqujing/qtunnel - A secure socket tunnel works on getqujing.com
- soundcloud/roshi - Roshi is a large-scale CRDT set implementation for timestamped events.
- gliderlabs/registrator - Service registry bridge for Docker with pluggable adapters
- rapidloop/rtop - rtop is an interactive, remote system monitoring tool based on SSH
- gliderlabs/logspout - Log routing for Docker container logs
- nytlabs/streamtools - tools for working with streams of data
- mperham/inspeqtor - Monitor your application infrastructure!
- remind101/empire - A PaaS built on top of Amazon EC2 Container Service (ECS)
- jingweno/ccat - Colorizing
cat
- mmcgrana/gobyexample - Go by Example
- jmoiron/sqlx - general purpose extensions to golang's database/sql
- direnv/direnv - Unclutter your .profile
- gocircuit/circuit - Circuit: Dynamic cloud orchestration http://gocircuit.org
- monochromegane/the_platinum_searcher - A code search tool similar to ack and the_silver_searcher(ag). It supports multi platforms and multi encodings.
- asciinema/asciinema - Terminal session recorder
- docker/distribution - The Docker toolset to pack, ship, store, and deliver content
- crosbymichael/skydock - Service discovery via DNS for docker
- Yelp/dockersh - A shell which places users into individual docker containers
- huichen/wukong - 高度可定制的全文搜索引擎
- FiloSottile/whosthere - A ssh server that knows who you are. $ ssh whoami.filippo.io
- docker/libcontainer - PROJECT MOVED TO RUNC
- yahoo/webseclab - set of web security test cases and a toolkit to construct new ones
- xiam/hyperfox - HTTP/HTTPs MITM proxy and traffic recorder.
- hashicorp/consul-template - Generic template rendering and notifications with Consul
- cloudflare/cfssl - CFSSL: CloudFlare's PKI toolkit
- josephyzhou/github-trending - Tracking the most popular Github repos, updated daily
- nfnt/resize - Pure golang image resizing
- laurent22/massren - massren - easily rename multiple files using your text editor
- gitchain/gitchain - Decentralized, peer-to-peer Git repositories aka "Git meets Bitcoin"
- appc/spec - App Container Specification and Tooling
- heroku/hk - Fast Heroku command-line interface
- jondot/groundcontrol - Manage and monitor your Raspberry Pi with ease
- gocircuit/escher - Escher: A language for programming in metaphors http://escher.io
- bitly/oauth2_proxy - A reverse proxy that provides authentication with Google, Github or other provider
- uniqush/uniqush-push - Uniqush is a free and open source software which provides a unified push service for server-side notification to apps on mobile devices.
- oleiade/trousseau - Networked and encrypted key-value database
- google/stenographer - Stenographer is a packet capture solution which aims to quickly spool all packets to disk, then provide simple, fast access to subsets of those packets. Discussion/announcements at stenographer@googlegroups.com
- vektra/templar - A HTTP proxy to improve usage of HTTP APIs
- ravenac95/sudolikeaboss - Get 1password access from iterm2
- euphoria-io/heim - A real-time community platform.
- jamescun/switcher - Run SSH and HTTP(S) on the same port
- lonelycode/tyk - Tyk API Gateway app
- google/battery-historian - Battery Historian is a tool to analyze battery consumers using Android "bugreport" files.
- Unknwon/macaron - Package macaron is a high productive and modular design web framework in Go.
- facette/facette - Time series data visualization and graphing software
- Masterminds/squirrel - Fluent SQL generation for golang
- quarnster/completion - This project aims to implement an editor and language agnostic backend
- agl/pond - Pond
- pengwynn/flint - Check your project for common sources of contributor friction.
- surgemq/surgemq - High-Performance MQTT Server and Client Libraries
- RangelReale/osin - Golang OAuth2 server library
- zachlatta/postman - Command-line utility for batch-sending email.
- BurntSushi/toml - TOML parser for Golang with reflection.
- sausheong/polyglot - Polyglot is a distributed web framework that allows programmers to create web applications in multiple programming languages
- ArdanStudios/gotraining - Hardcore Go Training Class Material :
- cloudfoundry-incubator/lattice - Lattice
- joushou/serve2d - A protocol detecting server, based off the serve2 library
- abh/geodns - DNS server with per-client targeted responses
- prasmussen/gdrive - Google Drive CLI Client
- skynetservices/skydns1 - DNS for skynet or any other service discovery
- RichardKnop/machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.
- ConradIrwin/aws-name-server - DNS server that lets you look up ec2 instances by instance name
- mozilla/mig - System security at the speed of the cloud
- oikomi/FishChatServer - 鱼传尺素--纯golang编写的分布式可伸缩IM服务器(兼备智能硬件管理)
- netvarun/docket - Docket - Custom docker registry that allows for lightning fast deploys through bittorrent
- codahale/sneaker - A tool for securely storing secrets on S3 using Amazon KMS.
- hyperhq/hyper - CLI and Daemon for Hyper
- motemen/ghq - Remote repository management made easy
- hellogcc/100-gdb-tips - A collection of gdb tips. 100 maybe just mean many here.
- zimbatm/socketmaster - Zero downtime restarts for your apps
- mailgun/oxy - Go middlewares for HTTP servers & proxies
- jwilder/docker-squash - Squash docker images to make them smaller
- bitly/go-nsq - the official Go package for NSQ
- robpike/ivy - ivy, an APL-like calculator
- titanous/heartbleeder - OpenSSL CVE-2014-0160 Heartbleed vulnerability test
- timeglass/glass - Automated time tracking for Git repositories
- project-iris/iris - Decentralized cloud messaging
- go-authboss/authboss - The boss of http auth.
- QubitProducts/bamboo - HAProxy auto configuration and auto service discovery for Mesos Marathon
- openshift/geard - geard is no longer maintained - see OpenShift 3 and Kubernetes
- vole/vole - Vole is a social, peer-to-peer web app for sharing words, pictures and videos.
- docker/libnetwork - networking for containers
- influxdb/telegraf - The plugin-driven server agent for reporting metrics into InfluxDB.
- igrigorik/hackernews-button - Embeddable Hacker News button + vote counter for your site
- kisielk/errcheck - errcheck checks that you checked errors.
- rif/spark - Emergency web server
- htcat/htcat - Parallel and Pipelined HTTP GET Utility
- opencontainers/specs - Open Container Specifications
- kubernetes/heapster - Compute Resource Usage Analysis and Monitoring of Container Clusters
- 3ofcoins/jetpack - PROTOTYPE FreeBSD Jail/ZFS based implementation of the Application Container Specification
- mailgun/vulcan - [DEPRECATING] Development has moved to https://github.com/mailgun/oxy
- hashicorp/envconsul - Read and set environmental variables for processes from Consul.
- otoolep/rqlite - Replicated SQLite using the Raft consensus protocol
- jehiah/json2csv - command line tool to convert json to csv
- reborndb/reborn - Distributed database fully compatible with redis protocol
- mozilla/masche - MIG Memory Forensic library
- shurcooL/markdownfmt - Like gofmt, but for Markdown.
- mailhog/MailHog - Web and API based SMTP testing
- socketplane/socketplane - SocketPlane - Multi-Host Container Networking
- rakyll/drive - Pull or push Google Drive files
- nats-io/nats - Golang client for NATS, the cloud native messaging system.
- weaveworks/scope - Container visibility
- facebookgo/httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries.
- 9seconds/ah - A better history
- michaeldv/mop - Stock market tracker for hackers
- gliderlabs/connectable - Magic proxy for internal services
- dustin/seriesly - A time series database.
- EricLagerg/go-coreutils - A cross-platform port of GNU's coreutils to Go
- ActiveState/tail - Go package for reading from continously updated files (tail -f)
- vishvananda/wormhole - A smart proxy to connect docker containers.
- throttled/throttled - throttling strategies for HTTP handlers
- ncw/rclone - Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage
- hashicorp/hcl - HCL is a configuration language.
- cpuguy83/docker-volumes - Docker Volume Manager
- strangeloop/StrangeLoop2013 - Strange Loop 2013
- hashicorp/raft - Golang implementation of the Raft consensus protocol
- ruedap/alfred2-font-awesome-workflow - Font Awesome Workflow for Alfred 2
- sunfmin/fanout - Fanout - make writing parallel code even easier
- jmoiron/modl - golang database modelling library
- dborzov/lsp - lsp is like ls command but more human-friendly
- didip/tollbooth - Simple middleware to rate-limit HTTP requests.
- boot2docker/boot2docker-cli - boot2docker management utility
- yields/phony - tiny command line fake data generator
- juju/juju - juju is devops distilled
- AdRoll/hologram - Easy, painless AWS credentials on developer laptops.
- klauspost/compress - Optimized compression packages
- tcnksm/gcli - The easy way to build Golang command-line application.
- google/codesearch - Fast, indexed regexp search over large file trees
- EagerIO/Stout - A reliable static website deploy tool
- peterbourgon/diskv - A disk-backed key-value store.
- oysterbooks/halfshell - A proxy server for processing images on the fly.
- graphite-ng/graphite-ng - Next generation graphite server TOY PROJECT NOT FOR PRODUCTION
- shaoshing/train - Asset Management for web app using Golang.
- monsti/monsti - Simple and resource efficient CMS for small sites
- inconshreveable/srvdir - Expose any folder as an HTTPS fileserver
- go-validator/validator - Package validator implements struct field validations
- nytlabs/hive - A platform for backing crowdsourcing websites, built in golang for elasticsearch
- crosbymichael/slex - SSH multiplex
- gorilla/sessions - Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.
- trustpath/sequence - (ICED) High performance sequential log analyzer and parser
- beego/wetalk - An open source project for Gopher community.
- AcalephStorage/consul-alerts - A simple daemon to send notifications based on Consul health checks
- Shopify/ejson - EJSON is a small library to manage encrypted secrets using asymmetric encryption.
- cznic/kv - Package kv implements a simple and easy to use persistent key/value (KV) store.
- subosito/iglo - API blueprint's formatter
- PuerkitoBio/fetchbot - A simple and flexible web crawler that follows the robots.txt policies and crawl delays.
- tardisgo/tardisgo - Golang->Haxe->CPP/CSharp/Java/JavaScript transpiler
- codegangsta/martini-contrib - This project has moved!
- akhenakh/statgo - Access OS metrics from Golang,
- cupcake/sigil - Identicon generator
- hmarr/codecube - Docker-powered runnable code snippets
- aktau/github-release - Commandline app to create and edit releases on Github (and upload artifacts)
- vektra/vega - A distributed mailbox system
- hashicorp/memberlist - Golang package for gossip based membership and failure detection
- dogestry/dogestry - Use Amazon S3 as your Docker registry
- tus/tusd - The official implementation of the tus resumable upload protocol.
- vzex/dog-tunnel - p2p tunnel,(udp mode work with kcp,https://github.com/skywind3000/kcp)
- xordataexchange/crypt - Store and retrieve encrypted configs from etcd or consul
- lukasmartinelli/redis-pipe - Treat Redis Lists like Unix Pipes
- outbrain/orchestrator - MySQL replication topology manager/visualizer
- olekukonko/tablewriter - ASCII table in golang
- kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
- jamiemccrindle/dockerception - Docker building dockers - keeping them small
- anachronistic/apns - A Golang package for sending Apple Push Notifications and using the Feedback Service.
- square/certstrap - Tools to bootstrap CAs, certificate requests, and signed certificates.
- ibuildthecloud/systemd-docker - Wrapper for "docker run" to handle systemd quirks
- harbur/captain - Captain - Convert your Git workflow to Docker 🐳 containers
- getgauge/gauge - Light weight cross-platform test automation
- AppliedTrust/traildash - AWS CloudTrail Dashboard
- PuerkitoBio/martini-api-example - An example RESTful API application built with Martini.
- facebookgo/inject - Package inject provides a reflect based injector.
- xlvector/hector - Golang machine learning lib
- codahale/metrics - This is not the Java library.
- ryandotsmith/l2met - Convert a formatted log stream into metrics
- alexanderGugel/wsd - 👊 cURL for WebSocket Servers
- jrsix/go2o - Golang基于DDD的o2o应用
- hugows/hf - (another) Fuzzy file finder for the command line
- driskell/log-courier - Log Courier, a lightweight log shipper with Logstash integration.
- blackbeans/kiteq - kiteq is a distributed mq framework
- walter-cd/walter - Tiny deployment pipeline
- jbrukh/bayesian - Naive Bayesian Classification for Golang.
- flynn-archive/discoverd - Archived -- see https://github.com/flynn/flynn
- kelseyhightower/terminus - Get facts about a Linux system.
- andrewchambers/cc - Cross platform C preprocessor and compiler.
- mesosphere/mesos-dns - DNS-based service discovery for Mesos.
- t3rm1n4l/megacmd - A command-line client for mega.co.nz storage service
- rakyll/globalconf - Persist flag values into an ini file
- microcosm-cc/bluemonday - bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS
- jeansfish/RFC6749.zh-cn - A translation of simplified chinese for RFC 6749-The OAuth 2.0 Authorization Framework. RFC 6749 - OAuth 2.0授权框架简体中文翻译。
- tleyden/open-ocr - Run your own OCR-as-a-Service using Tesseract and Docker
- jbenet/hashpipe - hashpipe - pipe iff the hash matches
- dockerboard/dockerboard - [WIP]Simple dashboards, visualizations, managements for your dockers.
- pointlander/peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
- yinqiwen/gsnova - Snova client written by golang
- go-gitea/gitea - Git with a cup of tea, forked from Gogs with pr & wiki
- tobert/pcstat - Page Cache stat: get page cache stats for files on Linux
- huandu/facebook - A Facebook Graph API SDK Library For Golang
- bradfitz/runsit - It runs it.
- huichen/mlf - 大数据机器学习框架
- quii/mockingjay-server - Fake server, Consumer Driven Contracts and help with testing performance from one configuration file with zero system dependencies and no coding whatsoever
- jmoiron/jsonq - simple json field access for golang
- google/skicka - Command-line utility for working with Google Drive. Join the mailing list at https://groups.google.com/forum/#!forum/skicka-users.
- thefryscorer/schemer - Generates terminal colours from images.
- nf/sigourney - A modular audio synthesizer
- streadway/handy - net/http handler filters
- progrium/termshare - Quick and easy terminal sharing.
- Imgur/mandible - An all-in-one image-uploader
- kyledayton/requesthub - Receive, Log, and Proxy HTTP requests
- hashicorp/consul-haproxy - Consul HAProxy connector for real-time configuration
- github/lfs-test-server - Standalone Git LFS server
- ezotrank/logsend - Logsend is high-performance tool for processing logs
- jmcvetta/napping - Golang HTTP client library
- jstemmer/rehook - Webhook dispatcher
- ehazlett/interlock - Docker Event Driven Plugin System
- hashicorp/yamux - Golang connection multiplexing library
- KosyanMedia/burlesque - Message queue server with HTTP interface
- valyala/ybc - Fast in-process BLOB cache with persistence support
- omc/dendrite - Dendrite adds all your logs to a single structured log stream, so you can search, graph, and analyze easier.
- mislav/anyenv - rbenv-inspired version manager that can be configured to manage versions of ANYTHING
- mcuadros/dockership - dead simple docker deploy tool
- zachlatta/pyre - tinder cli built at stupid hackathon san francisco 2015
- goerlang/node - Implementation of Erlang node
- gocraft/health - Instrument your web apps with logging and metrics
- q3k/crowbar - Tunnel TCP over a plain HTTP session
- carbocation/interpose - Minimalist net/http middleware for golang
- qiniu/py - Golang bindings to the CPython C-API
- prydonius/karn - Manage multiple Git identities
- martini-contrib/render - Martini middleware/handler for easily rendering serialized JSON, XML, and HTML template responses.
- robpike/filter - Simple apply/filter/reduce package.
- jmhodges/jsonpp - A fast command line JSON pretty printer.
- cenkalti/dalga - MySQL backed Job Scheduler with a HTTP interface
- andrewrk/jamulator - (unmaintained) recompiling NES roms into native executables
- heroku/force - A command-line interface to force.com
- Jeffail/tunny - A goroutine pool for golang
- jmcvetta/neoism - Neo4j client for Golang
- couchbase/sync_gateway - Connects Couchbase Lite to Couchbase Server
- cespare/reflex - Run a command when files change. Few frills.
- EricR/sys.json - Expose server performance stats as a JSON API. Mostly just a toy project at this point.
- stephens2424/muxchain - Lightweight Middleware for net/http
- milosgajdos83/tenus - Linux networking in Golang
- coreos/etcdctl - A simple command line client for etcd
- leekchan/gtf - gtf - a useful set of Golang Template Functions
- juju/ratelimit - Efficient token-bucket-based rate limiter package.
- convox/cli - Launch a private cloud and deploy apps from the command line.
- heroku/log-shuttle - HTTP log transport.
- fumin/ntm - An implementation of Neural Turing Machines
- spf13/nitro - Quick and easy performance analyzer library for golang
- mgutz/logxi - A 12-factor app logger built for performance and happy development
- juju/errgo - Error tracing and annotation.
- lubia/sniper - A powerful & high-performance http load tester
- ParsePlatform/parse-cli - Parse Command Line Tool
- jmhodges/justrun - A tool that watches files, and runs possibly long-lived commands when they change.
- sony/sonyflake - A distributed unique ID generator inspired by Twitter's Snowflake
- ajstarks/openvg - Tools for exploring OpenVG
- bitly/forgettable - Various implementations of the forget table: a distributional database that forgets data
- tsuru/gandalf - Gandalf is an API to manage git repositories.
- oguzbilgic/pandik - monitoring tool for web services
- jingweno/gh - Fast GitHub command line client (deprecated). gh has been merged into https://github.com/github/hub, see https://github.com/github/hub/issues/475 for more info
- containerops/wharf - ContainerOps Open Source Platform
- atnet/go2o - Golang基于DDD的o2o应用
- bmizerany/noeqd - A fault-tolerant network service for meaningful GUID generation
- gorilla/context - A golang registry for global request variables.
- campoy/jsonenums - This tool is similar to golang.org/x/tools/cmd/stringer but generates MarshalJSON and UnmarshalJSON methods.
- buaazp/uq - Another simple persistent message queue.
- mattrco/anode - Utility for analyzing graphite metrics. Experimental package.
- danjac/photoshare - Learning app for Go and Angular
- GoogleCloudPlatform/golang-docker - Docker images for golang
- str1ngs/go-git - Go bindings to libgit2
- NickPresta/chameleon - Caching reverse proxy for testing written in Go
- border/golang-china - Chinese Go Programming Language User Group
- skelterjohn/go-gb - A(nother) tool to build go projects.
- lxn/go-pgsql - A PostgreSQL client package for the Go Programming Language
- lkesteloot/trs80 - TRS-80 Model III emulator in Go with a web interface
- jabb/gocurse - Go bindings for NCurses
- tj/go-search - Search Godoc.org via the command-line.
- tav/go - A Git mirror of the Go repository
- mtourne/gurl - gURL, it's like cURL but for SPDY in Go.
- jonhoo/drwmutex - Distributed RWMutex in Go
- hailocab/ctop - CTOP ("top" for Cassandra) - See what's going on in real-time
- stevenleeg/gobb - A simple and fast bulletin board written in Go.
- shykes/spdy-go - A SPDY implementation for humans, written in Go
- dchest/authcookie - Go package authcookie implements creation and verification of signed authentication cookies.
- alexcesaro/mail - Mail packages for Go
- rsc/gt - go test but faster (cached)
- mjibson/goon - Autocaching interface to the app engine datastore for Go
- miguel-branco/goconfig - Configuration file parser for Go.
- kr/s3 - Go package for Amazon’s S3 API
- VividCortex/robustly - Run functions resiliently in Go, catching and restarting panics
- dchest/uniuri - Go package uniuri generates random strings good for use in URIs to identify unique objects.
- daryl/zeus - Go HTTP router.
- mmitton/ldap - Basic LDAP v3 functionality for the GO programming language.
- goburrow/melon - Dropwizard-like web service framework in Go (golang)
- akhenakh/gozim - A Go native implementation for ZIM files
- yosssi/gmq - Pure Go MQTT Client
- nathany/go-poodr - A Go translation of the example code from Practical Object-Oriented Design in Ruby by Sandi Metz.
- mijia/gopark - A Naive/Local Go Porting of Spark/DPark
- martinp/ifconfig - IP address lookup service written in Go
- goken/goken - goken study repository
- virushuo/Go-Apns - Go library for Apple Push Notification Service (APNs)
- kentaro/delta - HTTP shadow proxy server written in Go
- ivpusic/go-hotreload - Configurable recompiling and rerunning go apps when source changes
- guelfey/go.dbus - Native Go bindings for D-Bus
- azer/mao - Pragmatic BDD Testing Framework For Go
- askn/go_examples - golang examples
- Urmel/Go2D - GoLang 2D Game Library based on SDL 1.3. This can be used to easily write games using Go (www.golang.org) using SDL 1.3 for hardware-accelerated rendering (OpenGL or DirectX9). This will also be the core engine for the MMORPG "Pokemon Universe" (https://code.google.com/p/pokemon-universe)
- pedronasser/go-piper - A functional concurrent pipeline builder and management for Go
- idada/go-labs - 杂七杂八的Go语言实验代码
- go-gl-legacy/glfw - Go bindings for libglfw 2.x
- dforsyth/donut - A library for building clustered services in Go
- chuckpreslar/emission - A simple Event Emitter for Go.
- ryszard/goskiplist - A skip list implementation in Go
- realistschuckle/gohaml - An implementation of the popular XHTML Abstraction Markup Language using the Go language.
- paulsmith/gogeos - Go library for spatial data operations and geometric algorithms (Go bindings for GEOS)
- omeid/go-resources - Go resources/assets embeding with no external dependency and out of box http.FileSystem support.
- newrelic/check_docker - A Go Nagios check for Docker
- kless/go2js - Translator from Go to JavaScript
- hgfischer/go-otp - Package go-otp implements one-time-password generators used in 2-factor authentication systems like RSA-tokens. Currently this supports both HOTP (RFC-4226), TOTP (RFC-6238) and Base32 encoding (RFC-3548) for Google Authenticator compatibility
- dgryski/dkeyczar - Port of Google's Keyczar cryptography library to Go
- darkhelmet/balance - Simple TCP load balancer in Go
- bndr/gojenkins - Jenkins API Client in Go
- ungerik/go3d - A performance oriented 2D/3D math package for Go
- simonz05/godis - godis - a Redis client for Go
- nsf/gollvm - LLVM bindings for the Go programming language
- jmckaskill/gospdy - SPDY client/server for Go
- carloscm/gossie - Cassandra library for Go
- MiniProfiler/go - A simple but effective mini-profiler for Go websites
- ungerik/go-rest - A small and evil REST framework for Go
- DamnWidget/VenGO - Create and manage Isolated Virtual Environments for Go
- ant0ine/go-json-rest-examples - Examples for go-json-rest
- nsf/gothic - Tcl/Tk Go bindings
- GeertJohan/gomatrix - Displays "The Matrix" in a terminal
- sfreiberg/gotwilio - Twilio library for Go (golang).
- mxk/go-imap - IMAP4rev1 Client for Go
- inconshreveable/go-vhost - HTTP/TLS hostname multiplexing library for Go
- goofcc/gorevel - Go语言Revel框架学习—Revel中文社区源码
- ugorji/go-msgpack - MsgPack library for Go (DEPRECATED. move to github.com/ugorji/go/codec)
- jemygraw/GoStandardLibrary-Chinese - Golang的标准库中文版,由Go友团 (http://golanghome.com) 领导翻译。
- neelance/go-angularjs - GopherJS bindings to AngularJS
- kuroneko/gosqlite3 - Go Interface for SQLite3
- jmckaskill/go-capnproto - Cap'n Proto library and parser for go
- petar/GoDCCP - GoDCCP is an implementation of the Datagram Congestion Control Protocol in Go
- lionelbarrow/braintree-go - A Go client library for Braintree
- handcraftsman/GeneticGo - Genetic problem solver written in Go
- dynport/gocloud - Collection of golang libraries for cloud APIs
- afitz/golua - Go bindings for Lua C API - in progress
- momotech/GoRedis - A persistent RedisServer, base on rocksdb, implemented by Go.
- martine/go-imap - golang IMAP client library
- zeebo/gostbook - Guestbook demo for blog post
- weigj/go-odbc - ODBC Driver for Go language
- reiver/go-porterstemmer - A native Go clean room implementation of the Porter Stemming algorithm.
- mattn/go-mruby - go-mruby make interface to embed mruby into go.
- rtt/Go-Solr - A solr library written in Go
- rounds/go-bqstreamer - Stream data into Google BigQuery concurrently using InsertAll()
- nranchev/go-libGeoIP - GO Lib GeoIP API for Maxmind
- gophergala/go_report - A report card for your Go application
- ziutek/kasia.go - Templating system for HTML and other text documents - go implementation
- iron-io/iron_go - iron.io API libraries
- googollee/go-rest - Package rest is a RESTful web-service framework. It make service struct to http.Handler automatically.
- belogik/goes - A library to interact with Elasticsearch in Go!
- dpapathanasiou/go-statemachine - An implementation of a finite state machine in Go
- siddontang/go - my golang lib
- scottferg/Dropbox-Go - Go library for the Dropbox API
- kisielk/raven-go - raven-go is a Go client for Sentry
- wernerd/GoRTP - A RTP stack for Go
- dpapathanasiou/go-api - This package provides a framework for creating HTTP servers in Go (http://golang.org/) to handle API requests capable of replying in xml, json, or any other valid content type.
- bgentry/que-go - An interoperable Golang port of the Ruby Que queuing library for PostgreSQL
- telehash/gogotelehash - The official Telehash package for Go
- qiniu/go - golang
- mailgun/mailgun-go - Go library for sending mail with the Mailgun API.
- dustin/go-coap - Implementation of CoAP in go.
- davemeehan/Neo4j-GO - Neo4j REST Client in golang
- alexzorin/libvirt-go - Go bindings for libvirt
- mitchellh/go-vnc - VNC client and server library for Go.
- kz26/gohls - gohls - Downloader for HTTP Live Streaming (HLS) streams, written in Golang
- segmentio/go-prompt - Go terminal prompts.
- dbravender/go_mapreduce - A simple MapReduce implementation in Google Go.
- tatsushid/go-fastping - ICMP ping library for Go inspired by AnyEvent::FastPing Perl module
- dustin/go-heatmap - Heatmap creation stuff for go.
- aktau/gofinance - Financial information retrieval and munging (stocks, ETFs, funds, currencies, ...). Libs and app written in golang. Uses multiple datasources: Yahoo Finance, Bloomberg, et cetera.
- sosedoff/lunchy-go - OSX Launch Manager
- fuxiaohei/GoInk - very simple go web framework
- white-pony/go-fann - Go bindings for FANN, library for artificial neural networks
- VictorDenisov/go_koans - Koans for go language.
- petar/GoNeedle - GoNeedle is a system for punching reliable transport over UDP through NATs and Firewalls
- gophersjp/go - Japanese go document; goのドキュメントを翻訳するプロジェクト
- fs111/kurz.go - a url shortener made using go and redis
- blackbeans/go-apns - go-apns is a golang package for sending apple notification by the easy way
- norisatir/go-gtk3 - go-gtk3 - GTK3 BINDINGS FOR GO
- op/go-libspotify - Language bindings for libspotify in Go (Golang)
- jyotiska/go-colorweave - Extracting dominant color palette from an image
- alecthomas/log4go - Logging package similar to log4j for the Go programming language
- hokapoka/goauth - GOAuth An Oauth consumer Written in Go V 0.0.5
- Terry-Mao/gopush2 - Terry-Mao/gopush2 is an push server written by golang. (websocket)
- tecbot/gorocksdb - gorocksdb is a Go wrapper for RocksDB
- sourcegraph/go-selenium - Selenium WebDriver client for Go
- paulmach/go.geo - Geometry/geography library in Go
- lestrrat/go-xslate - Powerful Template Engine for Go (port Perl5's Text::Xslate)
- kklis/gomemcache - Go memcache client package
- iNamik/go_lexer - GO API To Help You Create Hand-Written Lexers - See My 'go_parser' Project for the Parser API and 'go_lexer_matcher' Project for a Fluent Interface for Matching Tokens.
- bgentry/heroku-go - Golang Heroku API Client
- progrium/go-basher - Library for writing hybrid Go and Bash programs
- jpoehls/gophermail - Simple mail package for Go
- huichen/gobo - 新浪微博Go语言SDK
- fanliao/go-promise - A library implement futrue and promise
- strava/go.strava - A complete client library for the Strava V3 API
- mreiferson/go-ujson - a pure Go port of ultrajson
- jteeuwen/go-vlc - Go bindings for libVLC
- fzzy/sockjs-go - Go SockJS server
- ejoy/goscon - stable connection
- ascherkus/go-id3 - ID3 parsing library for go
- StepLg/go-graph - Graph library for Go/golang language.
- awsong/go-darts - Double-ARray Trie System for golang
- sendgridlabs/go-kinesis - GO library for AWS Kinesis
- remyoudompheng/go-misc - Miscellaneous Go toys
- mcuadros/go-syslog - Syslog server library for go.
- coreos/go-gitreceive - A gitreceive implementation in Go
- stealthly/go-avro - Apache Avro for Golang
- hashicorp/atlas-go - The official Go client for HashiCorp's Atlas
- ccding/go-stun - a go implementation of the STUN client (RFC 3489 and RFC 5389)
- mattn/go-shellwords - Parse line as shell words
- mattbaird/gosaml - SAML client library written in Go (golang)
- jehiah/go-strftime - go implementation of strftime
- diegogub/aranGO - Golang driver for ArangoDB
- ddliu/go-httpclient - Advanced HTTP client for golang
- coreos/third_party.go - third_party.go - self contained GOPATH helper
- cactus/go-statsd-client - statsd client for Go
- vaughan0/go-zmq - ZeroMQ bindings for Go
- shurcooL/go - Common Go code.
- segmentio/analytics-go - Segment analytics client for Go
- flosch/GoPy - An experimental Python bytecode interpreter implementation in Go
- dynport/gossh - Golang ssh library
- ziutek/simple_go_wiki - Tutorial which explain how to write the database-driven Web application using kasia.go, kview and mymysql
- rcrowley/go-librato - Go client for Librato Metrics
- mseshachalam/go-angular - angular js web app(backed by golang) to show and rate cute puppies
- luismesas/goPi - A library for using Raspberry Pi on Golang
- janne/go-lisp - A Lisp implementation in Go
- hjr265/redsync.go - Redis-based distributed mutual exclusion lock implementation for Go
- coreos/go-semver - semver library in Go
- Lazin/go-ngram - Ngram index for golang
- vaughan0/go-ini - INI parsing library for Go.
- t3rm1n4l/go-mega - A client library in go for mega.co.nz storage service
- plucury/mqtt.go - The MQTT encoder & decoder,written in GO lang
- fiorix/go-web - Utilities for http servers written in Go
- chuanyi/gosegment - golang 版中文分词包, inspired from 盘古分词
- alonsovidales/go_ml - Machine Learning libraries for Go Lang - Linear regression, Logistic regression, etc.
- abneptis/GoAWS - Go bindings for AWS
- vladimirvivien/gowfs - A Go client binding for Hadoop HDFS using WebHDFS.
- tent/hawk-go - Hawk authentication implementation in Go
- medcl/gopa - [狗爬],a distributed spider written in Go.
- mattn/go-uv - Go binding for libuv
- jbarham/gopgsqldriver - PostgreSQL driver for the Go SQL database package
- fxsjy/RF.go - Random Forest implemtation in GoLang
- fernet/fernet-go - Fernet generates and verifies HMAC-based authentication tokens.
- fern4lvarez/go-metainspector - Simple web scraping for Go.
- cocaine/cocaine-framework-go - Cocaine Go Framework
- cloudfoundry-incubator/garden - Go Warden
- ungerik/go-rss - Simple RSS parser for Go
- ungerik/go-cairo - Go binding for the cairo graphics library
- qpliu/qrencode-go - QR encoder in Go
- mncaudill/go-flickr - A wrapper for Flickr's API written in Go
- cookieo9/resources-go - An assets-loading package for Go.
- bugsnag/bugsnag-go - Automatic panic monitoring for golang, net/http and revel
- adjust/gohub - github webhook based deloyment server
- vito/go-parse - A Parsec-like parsing library for Go.
- mfenniak/go-soap - WSDL Parser for Golang
- lumanetworks/go-tcp-proxy - A small TCP proxy written in Go
- googollee/go-gcm - Go for GCM(Google Cloud Messaging) to push message to android device.
- freeformz/go-heroku-example - Hello world Heroku app written in Go
- sepeth/go-coreutils - Go implementation of coreutils
- notvitor/go-basics - An A to Z of Go Basics - Golang Basics
- joekarl/go-libapns - Low level APNS library for go
- googleglass/mirror-quickstart-go - Google Mirror API's Quickstart for Go (deprecated)
- coreos/go-omaha - omaha protocol for go
- xuyu/goredis - redis client for golang
- jstemmer/go-junit-report - Convert go test output to junit xml
- jbarham/pgsql.go - PostgreSQL high-level client library wrapper for Go
- jacobsa/go-serial - A Go library for dealing with serial ports.
- ianr0bkny/go-sonos - A Go-language library for accessing UPnP AV devices
- dradtke/go-allegro - Go bindings for Allegro 5.
- coreos/go-namespaces - Golang implementations of Linux Namespaces
- RaymondChou/goqr - A fast qrcode generate write with google golang.
- pubnub/go - PubNub clients for Go
- mapmeld/mapplz-go - Make mapping quick and easy in different languages with MapPLZ
- jhillyerd/go.enmime - MIME Mail Parsing for Go
- fhs/gompd - Client side library for MPD (Music Player Daemon) for Go Programming Language.
- bradfitz/go-sql-test - test ALL the databases
- afolmert/libtcod-go - Go (golang) bindings for libtcod roguelike toolkit
- turret-io/go-menu - A library for building simple, interactive, menus in Go
- kylelemons/gousb - Idiomatic Go bindings for libusb-1.0
- ccding/go-logging - the logging package for golang
- xushiwei/go-iconv - libiconv for go - Convert string to requested character encoding
- reddragon/bloomfilter.go - A Bloom Filter Implementation in Go
- petar/GoReverseProxy - An NGINX-alike HTTP reverse proxy in Go
- male110/GoMvc - a golang mvc like asp.net mvc
- fawick/go-mapnik - Go bindings for mapnik (http://www.mapnik.org or http://github.com/mapnik/mapnik)
- daemonl/go_sweetpl - Sugar for Go templates
- cactus/go-camo - Go version of Camo server.
- armon/go-chord - Golang implementation of the Chord protocol
- schuyler/neural-go - A multilayer perceptron network implemented in Go, with training via backpropagation.
- plouc/go-gitlab-client - A simple gitlab api client written in Go (golang)
- nuance/go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work
- jcowgar/go-iup - Go wrapper around the Iup GUI toolset
- gambol99/go-marathon - A GO API library for working with Marathon
- fiorix/go-diameter - Diameter stack and Base Protocol for the Go programming language
- dgryski/go-failure - Phi Accrual Failure Detection
- chzyer/go-fetcher - 爬虫器(golang), 模拟浏览器特征保存cookie,referer,以达到爬虫的目的
- segmentio/go-loggly - Loggly client for Go
- samuel/go-opencl - OpenCL bindings for Go
- rocky/go-fish - A simple go REPL building on top of the go-interactive expression evaluator
- mattrobenolt/go-celery - WIP
- laurent22/toml-go - Toml parser in Go
- kisielk/whisper-go - A golang library for whisper databases
- gmallard/go-samp - A Collection of Simple Example go Programs.
- dgryski/go-identicon - Create simple visual hashes of data, similar to github's identicons.
- agonopol/go-stem - Word Stemming in Go
- raguay/goAlfred - This go library is used to create workflows for Alfred 2 easier. It will automatically create your cache and data directories. It also creates the xml listing for the feedback system. Examples included.
- crackcomm/go-clitable - Command line (ASCII) table for Golang
- bolknote/go-gd - Go bingings for GD (http://www.boutell.com/gd/)
- bgentry/go-osxkeychain - Golang package for accessing and manipulating the Mac OS X Keychain
- sdming/gosnow - snowflake in golang
- matt-west/go-blog - A simple blog framework built with GO. Uses HTML files and a JSON dict to give you more control over your content.
- lintide/GoConcurrencyPatterns - Go Concurrency Patterns
- dgryski/go-jump - go-jump: Jump consistent hashing
- akavel/polyclip-go - Go library for Boolean operations on 2D polygons.
- ThePiachu/GoBit - A Golang implementation of Bitcoin
- ssdb/gossdb - SSDB Golang client
- sourcegraph/go-vcs - manipulate and inspect VCS repositories in Go
- dustin/go-wikiparse - mediawiki dump parser for loading up wikipedia data
- dustin/go-broadcast - A trivial channel pubsub I use in lots of projects.
- drone/go-github - Go bindings for the GitHub API
- cespare/go-smaz - A pure Go implementation of the smaz compression library for short strings.
- bouk/go-faster - You can always Go faster
- bketelsen/handlersocket-go - A Go library for connecting to HandlerSocket (github.com/ahiguti/HandlerSocket-Plugin-for-MySQL)
- Juniper/go-netconf - NETCONF implementation in Go.
- kylelemons/go-rpcgen - A protoc-gen-go wrapper including an RPC stub generator
- iNamik/go_parser - GO API To Help You Create Hand-Written Parsers - See My 'go_lexer' Project for the Lexer API
- fmpwizard/go-cortex - Adding intelligence to your world http://blog.fmpwizard.com
- apiguy/go-hmacauth - HMAC Auth for Martini web applications
- adkennan/dox2go - Golang PDF generator
- tobi/airbrake-go - Go library to report errors to airbrake and compatible servers
- spbooks/go1 - Code archive for the book Level Up Your Web Apps With Go
- mauidude/go-readability - A Go implementation of the readability algorithm by arc90 labs
- linuxdeepin/go-qt5 - go language & qt5
- krig/go-sox - libsox bindings for go
- coreos/go-log - Go logging library with systemd journal support
- armon/go-proxyproto - Golang package to handle HAProxy Proxy Protocol
- abneptis/GoJVM - JVM (JNI) bindings for Go
- 9fans/go - Packages and commands for using Plan 9 from Go
- winlinvip/go-srs - Fork from https://github.com/simple-rtmp-server/go-srs
- mattrajca/GoEV3 - LEGO Mindstorms EV3 API for Google Go
- drone/go-bitbucket - Go bindings for the Bitbucket API
- donnie4w/go-logger - golang 日志处理库
- daviddengcn/go-pr - Pattern recognition package in Go lang.
- chrissnell/GoBalloon - High Altitude Balloon payload controller in Go
- begoon/go-tcpspy - TCP/IP proxy (spy, redirector) in Go
- wtolson/go-taglib - Go wrapper for taglib
- ungerik/go-gravatar - Go wrapper for the Gravatar API
- phf/go-openal - Experimental OpenAL bindings for Go.
- felixge/go-ardrone - Parrot AR Drone 2.0 drivers and protocols written in Go.
- davecgh/go-xdr - Implements the XDR standard as specified in RFC 4506 in pure Google Go (Golang)
- noahdesu/go-ceph - Go bindings for RADOS, RBD, and CephFS
- moovweb/go-cache - adaptive replacement cache
- mcuadros/go-version - Version normalizer and comparison library for go
- fiorix/go-eventsocket - FreeSWITCH Event Socket library for the Go programming language.
- yohcop/openid-go - OpenID consumer implementation in Go - golang
- ungerik/go-mail - Email utilities for Go
- rainliu/GoHM - H265/HEVC HM Video Codec in Go
- matyhtf/GoWebIM - GoWebIM
- dgryski/go-change - Online Change Detection Algorithm
- mistifyio/go-zfs - Go wrappers for ZFS commands
- kavu/go-phash - Go wrapper library for pHash
- jasonmccampbell/GoSodium - Go (#golang) wrapper for LibSodium library
- hypebeast/go-osc - Open Sound Control (OSC) library for Golang. Implemented in pure Go.
- flynn/go-shlex - Fork of go-shlex from Google Code
- fjl/go-couchdb - Yet another CouchDB HTTP API wrapper for Go
- antonlahti/go-winapi - A Windows API wrapper package for the Go Programming Language
- GeertJohan/go.tesseract - go.tesseract is a wrapper for the tesseract-ocr library.
- yvasiyarov/newrelic_platform_go - Newrelic Platform SDK for Go(golang)
- wulijun/go-php-serialize - Golang implementation for PHP's function serialize() and unserialize()
- thoj/go-mysqlpure - MySQL client library written in pure Go / golang.
- suapapa/go_sass - Go Binding for libsass
- savaki/go.hue - A Go library to manage your Philips Hue devices
- nickoneill/go-dropbox - go library for the dropbox API
- mattn/go-gntp - GNTP for golang. http://www.growlforwindows.com/gfw/help/gntp.aspx
- flynn-archive/go-discoverd - Archived -- see https://github.com/flynn/flynn
- errplane/errplane-go - Go library for metrics for Errplane
- dgryski/go-simstore - simhash storage and searching
- zorkian/go-datadog-api - A Go implementation of the Datadog API.
- toberndo/go-stree - A package for Go that can be used for range queries on large number of intervals
- stathat/go - Go package for reporting stat counts and values to StatHat
- sbinet/go-hdf5 - Go bindings to the HDF5 library
- runningwild/go-fftw - Go bindings for fftw3
- robyoung/go-whisper - A Go port of Graphite's Whisper timeseries database
- riobard/go-mailgun - Mailgun client in Go
- phantomdata/go-blog - Experimental Blog Engine with Go
- kr/beanstalk.go - Client library for beanstalkd, written in Go.
- kballard/go-shellquote - Go utilities for performing shell-like word splitting/joining
- phf/go-db - Generic database API for Go.
- nimajalali/go-force - Go (golang) library for calling Salesforce.com (force.com) web api's
- lazytiger/go-v8 - v8 javascript engine binding for golang
- dustin/go-nntp - NNTP client and server for the go language.
- dgryski/go-topk - Streaming TopK estimates
- 4ad/go - Go development tree for the arm64 port (historical)
- tebeka/go2xunit - Convert "go test" output to xunit compatible (used in Jenkins/Hudson)
- skoo87/log4go - simple log library for Go language
- popons/go-libusb - libusb-0.1 golang wrapper
- plouc/go-jira-client - A simple jira api client written in Go (golang)
- minaandrawos/Go-Protobuf-Examples - Protobuf server and client in Go
- jm/go-semver - A semantic version library for Go
- jbenet/go-peerstream - p2p stream multi-multiplexing in Go (with https://github.com/docker/spdystream)
- hashicorp/go-syslog - Golang syslog wrapper, cross-compile friendly
- gedex/go-instagram - Go library for accessing Instagram REST and Search APIs
- shkh/lastfm-go - Golang wrapper for the Last.fm API 2.0
- mxk/go-flowrate - Go package for limiting and monitoring data flow rate
- jgrahamc/go-openssl - Go wrapper for some OpenSSL functions in libcrypto
- xxtea/xxtea-go - XXTEA encryption algorithm library for Golang.
- str1ngs/go-binfmt - go-binfmt registers Go language .go files with binfmt which allows you to run Go files directly.
- sourcegraph/go-ses - Amazon AWS Simple Email Service (SES) client for Go
- sabhiram/go-wol - Simple wake on LAN magic packet generator for golang
- edsrzf/go-git - A Git implementation in Go
- dustin/go-jsonpointer - jsonpointer implementation for go
- alloy-d/now.go - A little bit of magic for keeping track of the things you have to do.
- zencoder/disque-go - Go client for the Disque server
- ptrv/go-gpx - GPX file parser for the Go language
- nordicdyno/go-pubsub - scalable websocket pub/sub server over NSQ
- inconshreveable/go-keen - Keen IO Client SDK in Go
- fabiokung/go-dynamodb - Go client package for DynamoDB
- ua-parser/uap-go - Go implementation of ua-parser
- micrypt/go-plivo - A Go client for the Plivo.com API.
- gophergala/go-tasky - Go-Tasky is a simple go tool that makes it easy to expose server side tasks with a RESTful api.
- bytbox/go-pop3 - RFC1939 client implementation for go
- andrew-d/go-termutil - Terminal utilities for golang
- riobard/go-virtualbox - VirtualBox wrappers in Go.
- papamitra/go-dbus - Go bindings for D-Bus
- jbenet/go-multihash - multihash implementation in Go
- flynn-archive/go-flynn - Archived -- see https://github.com/flynn/flynn
- PokemonUniverse/go-gameserver - Pokemon Universe game server
- yunba/mqtt.go - mqtt library in golang
- tenntenn/gae-go-testing - Testing library for Go App Engine, giving you an appengine.Context fake that forwards to a dev_appserver.py child process.
- mikebell-org/go-couchdb - Another couchdb lib for go
- mattn/go-xmlrpc - xmlrpc interface for go
- malkia/go-runner - simple go language runner
- jbarham/cdb.go - Cdb ("constant database") implementation for Go
- fabioxgn/go-bot - IRC bot written in go
- cloudbase/go-winrm - Golang WinRM package
- caiofilipini/casadocodigo-go - Exemplos de código do livro "Programando em Go: crie aplicações com a linguagem do Google", da editora Casa do Código.
- abneptis/GoUUID - UUID generator/parser for Go
- Mistobaan/go-apns - Apple Notification Service API for GOLANG
- yongye/go - Tetris Game // Generalized Tetris in Golang
- xconstruct/go-pushbullet - Go library for the PushBullet API
- softlayer/xapi-go - A XAPI (XenServer API) go binding with native interfaces and structs. Still a work in progress, welcoming pull requests.
- laurent22/ical-go - iCal package for Go (Golang)
- dogenzaka/go-iap - go-iap verifies the purchase receipt via AppStore or GooglePlayStore
- deis/example-go - A simple Go app for Deis, the open source PaaS
- cloudfoundry-community/go-cfenv - Go Cloud Foundry Environment Parsing Package
- siddontang/go-log - a golang log lib supports level and multi handlers
- dustin/go-rs232 - RS232 / Serial interface for go
- bobertlo/go-mpg123 - Go bindings for the libmpg123 MP3 decoding library
- abneptis/GoNetlink - An implementation of netlink sockets for Go, and libraries for RTNetlink
- samuel/go-socks - SOCKS5 proxy library for Go
- joncooper/go - Experiments with the Go (http://www.golang.org/) programming language
- gophergala/go_ne - GoKiss! - A plugin-based server automation and deployment tool written in Go - aka a highly configurable task runner!
- nchern/go-R - Go bindings for R language
- garfunkel/go-tvdb - Simple, sexy and easy golang module for theTVDB.
- rif/cache2go - Simple go object caching library with expiration capabilities
- inhies/go-cjdns - A group of packages for working with cjdns using Go.
- stellar/go-horizon - go-horizon is the client facing HTTP API server for the Stellar ecosystem
- drone/drone-go - Go client for the Drone API
- reborndb/go - Base Go libs
- rancher/go-rancher - Go language bindings for Rancher API
- baz/go-paypal - PayPal NVP library written in Go
- cryptix/go - common go code
- Automattic/go - A place for Go packages to go boldly (or live long and prosper).
- tgulacsi/go - Common go helper utils, each in its subdir
- qrush/go - explorations into google's go
- hokapoka/go-mongo - A MongoDB driver for Go.
- PaulCrickard/Go - My Go projects
- sysdb/go - Core Go language bindings for SysDB
- stehem/Go - Concurrently download images using Go and Reddi's json API.
- ssrl/go - A mirror of the Go repository
- mike-matera/Go - My Go code library
- imelven/go - playing around with go
- conwaysgame/go - A Go implementation of Conway's Game of Life
- brianolson/go-openid - OpenID implementation in Go
- IniZio/Go - This is a lab for Go!
- 6xiao/go - generic code
----------------
Fucking Awesome Go
A curated list with Github stars and forks stats based on awesome awesome-goAwesome Go
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.Contributing
Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Contents
-
Awesome Go
- Audio & Music
- Authentication & OAuth
- Command Line
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Structures
- Database
- Database Drivers
- Date & Time
- Distributed Systems
- Embeddable Scripting Languages
- Financial
- Forms
- Game Development
- Generation & Generics
- Go Compilers
- Goroutines
- GUI
- Hardware
- Images
- Logging
- Machine Learning
- Messaging
- Miscellaneous
- Natural Language Processing
- Networking
- OpenGL
- ORM
- Package Management
- Query Language
- Resource Embedding
- Science and Data Analysis
- Security
- Serialization
- Template Engines
- Testing
- Text Processing
- Third-party APIs
- Utilities
- Validation
- Version Control
- Video
- Web Frameworks
- Windows
-
Tools
-
Server Applications
-
Resources
Audio/Music
Libraries for manipulating audio.- flac - A native Go FLAC decoder. ⭐️ 48 🍴 5
- flac - A native Go FLAC decoder. ⭐️ 23 🍴 9
- go-sox - libsox bindings for go. ⭐️ 36 🍴 6
- go_mediainfo - libmediainfo bindings for go. ⭐️ 5 🍴 0
- mix - Sequence-based Go-native audio mixer for music apps. ⭐️ 20 🍴 7
- mp3 - A native Go MP# decoder. ⭐️ 16 🍴 3
- music-theory - Music theory models in Go. ⭐️ 101 🍴 14
- PortAudio - Go bindings for the PortAudio audio I/O library. ⭐️ 46 🍴 16
- portmidi - Go bindings for PortMidi. ⭐️ 86 🍴 23
- taglib - Go bindings for taglib. ⭐️ 40 🍴 17
- vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). ⭐️ 9 🍴 3
- waveform - Go package capable of generating waveform images from audio streams. ⭐️ 125 🍴 7
Authentication & OAuth
Libraries for implementing authentications schemes.- authboss - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. ⭐️ 626 🍴 22
- Go-AWS-Auth - AWS (Amazon Web Services) request signing library. ⭐️ 127 🍴 24
- go-jose - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. ⭐️ 510 🍴 59
- go.auth - Authentication API for Go web applications. ⭐️ 312 🍴 27
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers. ⭐️ 637 🍴 30
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang. ⭐️ 352 🍴 70
- goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. ⭐️ 709 🍴 77
- httpauth - HTTP Authentication middleware. ⭐️ 93 🍴 11
- jwt-go - Golang implementation of JSON Web Tokens (JWT). ⭐️ 1219 🍴 148
- oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. ⭐️ 742 🍴 218
- osin - Golang OAuth2 server library. ⭐️ 886 🍴 177
- permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. ⭐️ 167 🍴 10
- yubigo - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. ⭐️ 58 🍴 6
Command Line
Standard CLI
Libraries for building standard or basic Command Line applications- cli - A feature-rich and easy to use command-line package based on golang tag ⭐️ 164 🍴 12
- cli-init - The easy way to start building Golang command line application. ⭐️ 500 🍴 45
- climax - An alternative CLI with "human face", in spirit of Go command ⭐️ 93 🍴 6
- cobra - A Commander for modern Go CLI interactions ⭐️ 2124 🍴 191
- codegangsta/cli - A small package for building command line apps in Go. ⭐️ 4265 🍴 412
- docopt.go - A command-line arguments parser that will make you smile. ⭐️ 675 🍴 49
- go-flags - go command line option parser ⭐️ 591 🍴 84
- kingpin - A command line and flag parser supporting sub commands. ⭐️ 648 🍴 56
- liner - A Go readline-like library for command-line interfaces. ⭐️ 307 🍴 51
- mitchellh/cli - A Go library for implementing command-line interfaces. ⭐️ 413 🍴 33
- mow.cli - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. ⭐️ 353 🍴 19
- readline - A pure golang implementation that provide most of features in GNU-Readline under MIT license. ⭐️ 581 🍴 31
- ukautz/clif - A small command line interface framework. ⭐️ 65 🍴 7
- wlog - A simple logging interface that supports cross-platform color and concurrency. ⭐️ 3 🍴 0
- wmenu - An easy to use menu structure for cli applications that prompts users to make choices. ⭐️ 2 🍴 1
Advanced Console UIs
Libraries for building Console Applications and Console User Interfaces- chalk - Intuitive package for prettifying terminal/console output. ⭐️ 158 🍴 11
- color - Versatile package for colored terminal output. ⭐️ 920 🍴 73
- colourize - Go library for ANSI colour text in terminals. ⭐️ 8 🍴 2
- go-colortext - Go library for color output in terminals. ⭐️ 143 🍴 12
- gocui - Minimalist Go library aimed at creating Console User Interfaces. ⭐️ 688 🍴 55
- gommon/color - Style terminal text. ⭐️ 120 🍴 17
- termbox-go - Termbox is a library for creating cross-platform text-based interfaces. ⭐️ 1476 🍴 144
- termtables - A Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output ⭐️ 59 🍴 8
- termui - Go terminal dashboard based on termbox-go and inspired by blessed-contrib. ⭐️ 4740 🍴 216
- uilive - A library for updating terminal output in realtime. ⭐️ 437 🍴 11
- uiprogress - A flexible library to render progress bars in terminal applications. ⭐️ 804 🍴 24
- uitable - A library to improve readability in terminal apps using tabular data. ⭐️ 335 🍴 10
Configuration
Libraries for configuration parsing- config - JSON or YAML configuration wrapper with environment variables and flags parsing. ⭐️ 74 🍴 15
- configure - Provides configuration through multiple sources, including JSON, flags and environment variables. ⭐️ 9 🍴 3
- env - Parse environment variables to Go structs (with defaults). ⭐️ 111 🍴 7
- envcfg - Un-marshaling environment variables to Go structs. ⭐️ 76 🍴 4
- envconf - Configuration from environment ⭐️ 3 🍴 1
- envconfig - Read your configuration from environment variables. ⭐️ 90 🍴 7
- gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections ⭐️ 34 🍴 13
- gofigure - Go application configuration made easy ⭐️ 37 🍴 2
- ingo - Flags persisted in an ini-like config file ⭐️ 8 🍴 1
- ini - Go package for read and write INI files ⭐️ 287 🍴 54
- mini - A golang package for parsing ini-style configuration files ⭐️ 81 🍴 9
- store - A lightweight configuration manager for Go ⭐️ 41 🍴 2
- viper - Go configuration with fangs ⭐️ 1617 🍴 179
Continuous Integration
Tools for help with continuous integration- drone - Drone is a Continuous Integration platform built on Docker, written in Go ⭐️ 6971 🍴 793
- goveralls - Go integration for Coveralls.io continuous code coverage tracking system. ⭐️ 263 🍴 49
- overalls - Multi-Package go project coverprofile for tools like goveralls ⭐️ 19 🍴 3
CSS Preprocessors
Libraries for preprocessing CSS files- c6 - High performance SASS compatible-implementation compiler written in Go ⭐️ 343 🍴 17
- gcss - Pure Go CSS Preprocessor. ⭐️ 342 🍴 18
- go-libsass - Go wrapper to the 100% Sass compatible libsass project. ⭐️ 28 🍴 3
Data Structures
Generic datastructures and algorithms in Go.- binpacker - Binary packer and unpacker helps user build custom binary stream. ⭐️ 14 🍴 1
- bitset - Go package implementing bitsets. ⭐️ 199 🍴 49
- bloom - Bloom filters implemented in Go. ⭐️ 83 🍴 10
- boomfilters - probabilistic data structures for processing continuous, unbounded streams ⭐️ 701 🍴 34
- count-min-log - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). ⭐️ 20 🍴 3
- cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. ⭐️ 150 🍴 8
- encoding - Integer Compression Libraries for Go. ⭐️ 42 🍴 7
- go-adaptive-radix-tree - A Go implementation of Adaptive Radix Tree. ⭐️ 1 🍴 1
- go-datastructures - a collection of useful, performant, and thread-safe data structures ⭐️ 2513 🍴 188
- go-geoindex - In-memory geo index. ⭐️ 174 🍴 18
- golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go. ⭐️ 376 🍴 54
- goskiplist - A skip list implementation in Go. ⭐️ 107 🍴 26
- mafsa - MA-FSA implementation with Minimal Perfect Hashing ⭐️ 207 🍴 12
- roaring - Go package implementing compressed bitsets. ⭐️ 125 🍴 19
- skiplist - Skiplist implementation in Go ⭐️ 29 🍴 7
- trie - Trie implementation in Go ⭐️ 123 🍴 15
- ttlcache - An in-memory LRU string-interface{} map with expiration for golang ⭐️ 26 🍴 5
- willf/bloom - Go package implementing Bloom filters. ⭐️ 236 🍴 45
Database
Databases implemented in Go.- bolt - A low-level key/value database for Go. ⭐️ 4236 🍴 328
- cache2go - An in-memory key:value cache which supports automatic invalidation based on timeouts. ⭐️ 76 🍴 31
- cockroach - A Scalable, Geo-Replicated, Transactional Datastore ⭐️ 7025 🍴 681
- couchcache - A RESTful caching micro-service backed by Couchbase server. ⭐️ 16 🍴 2
- dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database. ⭐️ 1258 🍴 49
- diskv - A home-grown disk-backed key-value store. ⭐️ 358 🍴 35
- forestdb - Go bindings for ForestDB. ⭐️ 19 🍴 3
- GCache - Cache library with support for expirable Cache, LFU, LRU and ARC. ⭐️ 97 🍴 11
- go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. ⭐️ 529 🍴 103
- goleveldb - An implementation of the LevelDB key/value database in the Go. ⭐️ 1070 🍴 141
- groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. ⭐️ 4535 🍴 465
- influxdb - Scalable datastore for metrics, events, and real-time analytics ⭐️ 8200 🍴 1122
- ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB. ⭐️ 1629 🍴 184
- levigo - Levigo is a Go wrapper for LevelDB. ⭐️ 270 🍴 59
- prometheus - Monitoring system and time series database. ⭐️ 4959 🍴 419
- rqlite - Replicated SQLite, using Raft consensus. ⭐️ 1631 🍴 84
- tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1. ⭐️ 4013 🍴 480
- tiedot - Your NoSQL database powered by Golang. ⭐️ 1544 🍴 131
- Tile38 - A geolocation DB with spatial index and realtime geofencing. ⭐️ 1128 🍴 42
- go-mysql - A go toolset to handle MySQL protocol and replication. ⭐️ 230 🍴 74
- go-mysql-elasticsearch - Sync your MySQL data into Elasticsearch automatically. ⭐️ 294 🍴 59
- goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. ⭐️ 9 🍴 0
- kingshard - kingshard is a high performance proxy for MySQL powered by Golang. ⭐️ 1763 🍴 349
- migrate - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. ⭐️ 626 🍴 107
- myreplication - MySql binary log replication listener. Support statement and row based replication. ⭐️ 50 🍴 16
- orchestrator - MySQL replication topology manager & visualizer ⭐️ 481 🍴 94
- pgweb - A web-based PostgreSQL database browser ⭐️ 3431 🍴 179
- pravasan - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., ⭐️ 11 🍴 3
- sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata. ⭐️ 466 🍴 32
- vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. ⭐️ 3494 🍴 450
- dat - Go Postgres Data Access Toolkit ⭐️ 310 🍴 18
- Dotsql - Go library that helps you keep sql files in one place and use it with ease. ⭐️ 227 🍴 12
- goqu - An idiomatic SQL builder and query library. ⭐️ 258 🍴 17
- igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax. ⭐️ 51 🍴 0
- ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities. ⭐️ 88 🍴 5
- scaneo - Generate Go code to convert database rows into arbitrary structs. ⭐️ 69 🍴 2
- sqrl - SQL query builder, fork of Squirrel with improved performance. ⭐️ 40 🍴 2
- Squirrel - Go library that helps you build SQL queries. ⭐️ 823 🍴 67
- xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. ⭐️ 465 🍴 24
Database Drivers
Libraries for connecting and operating databases.-
Relational Databases
- firebirdsql - Firebird RDBMS SQL driver for Go ⭐️ 43 🍴 10
- go-adodb - Microsoft ActiveX Object DataBase driver for go that using database/sql. ⭐️ 34 🍴 14
- go-bqstreamer - BigQuery fast and concurrent stream insert. ⭐️ 80 🍴 8
- go-mssqldb - Microsoft MSSQL driver prototype in go language. ⭐️ 329 🍴 71
- go-oci8 - Oracle driver for go that using database/sql. ⭐️ 134 🍴 89
- go-sql-driver/mysql - MySQL driver for Go. ⭐️ 2410 🍴 580
- go-sqlite3 - SQLite3 driver for go that using database/sql. ⭐️ 1247 🍴 306
- gofreetds Microsoft MSSQL driver. Go wrapper over FreeTDS. ⭐️ 36 🍴 18
- pgx - PostgreSQL driver supporting features beyond those exposed by database/sql. ⭐️ 575 🍴 78
- pq - Pure Go Postgres driver for database/sql. ⭐️ 2111 🍴 319
-
NoSQL Databases
- aerospike-client-go - Aerospike client in Go language. ⭐️ 168 🍴 58
- arangolite - Lightweight golang driver for ArangoDB. ⭐️ 28 🍴 5
- cayley - A graph database with support for multiple backends. ⭐️ 7526 🍴 649
- dynago - Dynago is a principle of least surprise client for DynamoDB ⭐️ 16 🍴 7
- go-couchbase - Couchbase client in Go ⭐️ 210 🍴 68
- go-couchdb - Yet another CouchDB HTTP API wrapper for Go ⭐️ 32 🍴 13
- gocb - Official Couchbase Go SDK ⭐️ 174 🍴 38
- gocql - A Go language driver for Apache Cassandra.
- gomemcache - memcache client library for the Go programming language. ⭐️ 620 🍴 176
- gorethink - Go language driver for RethinkDB ⭐️ 923 🍴 95
- mgo - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
- neo4j - Neo4j Rest API Bindings for Golang ⭐️ 15 🍴 2
- Neo4j-GO - Neo4j REST Client in golang. ⭐️ 63 🍴 14
- neoism - Neo4j client for Golang ⭐️ 255 🍴 52
- redigo - Redigo is a Go client for the Redis database. ⭐️ 2233 🍴 400
- redis - Redis client for Golang ⭐️ 881 🍴 147
- redis - A simple, powerful Redis client for Go. ⭐️ 503 🍴 171
- redis - Redis-protocol compatible TCP servers/services. ⭐️ 88 🍴 6
-
Search and Analytic Databases
- bleve - A modern text indexing library for go. ⭐️ 2530 🍴 216
- elastic - Elasticsearch client for Google Go. ⭐️ 659 🍴 161
- elastigo - A Elasticsearch client library. ⭐️ 757 🍴 211
- goes - A library to interact with Elasticsearch. ⭐️ 71 🍴 25
- skizze - A probabilistic data-structures service and storage. ⭐️ 20 🍴 4
Date & Time
Libraries for working with dates and times.- durafmt - A time duration formatting library for Go. ⭐️ 123 🍴 3
- go-persian-calendar - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). ⭐️ 7 🍴 0
- goweek - Library for working with week entity in golang. ⭐️ 7 🍴 1
- now - Now is a time toolkit for golang. ⭐️ 624 🍴 41
- NullTime - Nullable time.Time ⭐️ 1 🍴 1
- timeutil - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. ⭐️ 103 🍴 4
Distributed Systems
Packages that help with building Distributed Systems.- celeriac - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go ⭐️ 14 🍴 2
- flowgraph - MPI-style ready-send coordination layer. ⭐️ 14 🍴 0
- glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. ⭐️ 968 🍴 66
- go-jump - A port of Google's "Jump" Consistent Hash function. ⭐️ 71 🍴 7
- gorpc - Simple, fast and scalable RPC library for high load. ⭐️ 239 🍴 30
- grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC. ⭐️ 1813 🍴 277
- micro - A pluggable microservice toolkit and distributed systems platform. ⭐️ 2099 🍴 113
- NATS - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. ⭐️ 2140 🍴 249
- raft - Golang implementation of the Raft consensus protocol, by HashiCorp. ⭐️ 638 🍴 91
- torrent - BitTorrent client package. ⭐️ 1163 🍴 67
- dht - BitTorrent Kademlia DHT implementation. ⭐️ 1163 🍴 67
- go-peerflix - Video streaming torrent client. ⭐️ 161 🍴 25
- douceur - CSS inliner for your HTML emails. ⭐️ 51 🍴 5
- email - A robust and flexible email library for Go. ⭐️ 682 🍴 67
- go-dkim - A DKIM library, to sign & verify email. ⭐️ 16 🍴 5
- Gomail - Gomail is a very simple and powerful package to send emails. ⭐️ 904 🍴 64
- Hectane - Lightweight SMTP client providing an HTTP API ⭐️ 59 🍴 4
- MailHog - Email and SMTP testing with web and API interface ⭐️ 947 🍴 53
- SendGrid - SendGrid's Go library for sending email ⭐️ 195 🍴 49
- smtp - SMTP server protocol state machine ⭐️ 23 🍴 4
Embeddable Scripting Languages
Embedding other languages inside your go code- agora - Dynamically typed, embeddable programming language in Go ⭐️ 223 🍴 22
- anko - Scriptable interpreter written in Go ⭐️ 267 🍴 24
- gisp - Simple LISP in Go ⭐️ 325 🍴 22
- go-duktape - Duktape JavaScript engine bindings for Go ⭐️ 343 🍴 30
- go-lua - A port of the Lua 5.2 VM to pure Go ⭐️ 684 🍴 35
- go-php - PHP bindings for Go ⭐️ 130 🍴 16
- go-python - naive go bindings to the CPython C-API ⭐️ 377 🍴 37
- golua - Go bindings for Lua C API ⭐️ 271 🍴 65
- gopher-lua - a Lua 5.1 VM and compiler written in Go ⭐️ 1207 🍴 92
- otto - A JavaScript interpreter written in Go ⭐️ 2181 🍴 177
- purl - Perl 5.18.2 embedded in Go ⭐️ 11 🍴 0
Financial
Packages for accounting and finance- accounting - money and currency formatting for golang ⭐️ 205 🍴 7
- decimal - Arbitrary-precision fixed-point decimal numbers ⭐️ 289 🍴 49
Forms
Libraries for working with forms.- bind - Bind form data to any Go values ⭐️ 14 🍴 2
- binding - Binds form and JSON data from net/http Request to struct. ⭐️ 476 🍴 39
- conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. ⭐️ 17 🍴 1
- formam - decode form's values into a struct. ⭐️ 50 🍴 2
- forms - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. ⭐️ 60 🍴 3
- gorilla/csrf - CSRF protection for Go web applications & services. ⭐️ 117 🍴 16
- nosurf - A CSRF protection middleware for Go. ⭐️ 640 🍴 41
Game Development
Awesome game development libraries.- Ebiten - A simple SNES-like 2D game library in Go ⭐️ 113 🍴 8
- engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. ⭐️ 202 🍴 28
- GarageEngine - 2d game engine written in Go working on OpenGL. ⭐️ 230 🍴 18
- glm - A performance oriented vector, matrix, geometry library. ⭐️ 17 🍴 2
- glop - Glop (Game Library Of Power) is a fairly simple cross-platform game library. ⭐️ 70 🍴 7
- go-astar - Go implementation of the A* path finding algorithm ⭐️ 149 🍴 12
- go-collada - Go package for working with the Collada file format. ⭐️ 8 🍴 0
- go-sdl2 - Go bindings for the Simple DirectMedia Layer. ⭐️ 383 🍴 76
- go3d - A performance oriented 2D/3D math package for Go ⭐️ 106 🍴 12
- gonet - A game server skeleton implemented with golang ⭐️ 668 🍴 242
- Leaf - A lightweight game server framework ⭐️ 670 🍴 205
- lux - A 3D physically based rendering engine. ⭐️ 36 🍴 2
- math - A float32 native version of standard library math. ⭐️ 9 🍴 0
- termloop - Terminal-based game engine for Go, built on top of Termbox ⭐️ 623 🍴 29
- tornago - A 3D rigid body physics engine in pure Go. ⭐️ 22 🍴 1
Generation & Generics
Tools to enhance the language with features like generics via code generation- gen - Code generation tool for ‘generics’-like functionality. ⭐️ 685 🍴 44
- go-linq - .NET LINQ-like query methods for Go. ⭐️ 776 🍴 49
- interfaces - Command line tool for generating interface definitions. ⭐️ 70 🍴 1
- pkgreflect - A Go preprocessor for package scoped reflection. ⭐️ 32 🍴 5
Go Compilers
Tools for compiling Go to other languages- gopherjs - A compiler from Go to JavaScript. ⭐️ 3869 🍴 175
- llgo - LLVM-based compiler for Go. ⭐️ 743 🍴 59
- tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler. ⭐️ 309 🍴 15
Goroutines
Tools for managing and working with Goroutines- grpool - Lightweight Goroutine pool. ⭐️ 108 🍴 7
- pool - Go consumer goroutine pool for easy goroutine handling + time saving. ⭐️ 48 🍴 3
- tunny - A goroutine pool for golang. ⭐️ 318 🍴 24
GUI
Libraries for building GUI Applications- go-gtk - Go bindings for GTK
- go-qml - QML support for the Go language ⭐️ 1660 🍴 161
- goqt - Golang bindings to the Qt cross-platform application framework. ⭐️ 1013 🍴 70
- gosx-notifier - OSX Desktop Notifications library for Go. ⭐️ 294 🍴 22
- gotk3 - Go bindings for GTK3. ⭐️ 79 🍴 22
- sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. ⭐️ 275 🍴 30
- systray - Cross platform Go library to place an icon and menu in the notification area ⭐️ 80 🍴 12
- trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar. ⭐️ 41 🍴 5
- ui - Platform-native GUI library for Go. ⭐️ 2946 🍴 182
- walk - Windows application library kit for Go. ⭐️ 1319 🍴 258
Hardware
Libraries, tools, and tutorials for interacting with hardware.See go-hardware for a comprehensive list. ⭐️ 359 🍴 23
Images
Libraries for manipulating images.- bimg - Small package for fast and efficient image processing using libvips ⭐️ 170 🍴 32
- geopattern - Create beautiful generative image patterns from a string. ⭐️ 851 🍴 36
- gift - Package of image processing filters. ⭐️ 719 🍴 48
- go-cairo - Go binding for the cairo graphics library. ⭐️ 52 🍴 13
- go-gd - Go binding for GD library ⭐️ 39 🍴 12
- go-nude - Nudity detection with Go. ⭐️ 183 🍴 20
- go-opencv - Go bindings for OpenCV. ⭐️ 394 🍴 72
- go-webcolors - Port of webcolors library from Python to Go. ⭐️ 17 🍴 0
- imagick - Go binding to ImageMagick's MagickWand C API. ⭐️ 424 🍴 69
- imaginary - Fast and simple HTTP microservice for image resizing ⭐️ 764 🍴 53
- imaging - Simple Go image processing package. ⭐️ 832 🍴 95
- img - A selection of image manipulation tools. ⭐️ 76 🍴 2
- mpo - A decoder and conversion tool for MPO 3D Photos. ⭐️ 3 🍴 1
- picfit - An image resizing server written in Go ⭐️ 488 🍴 37
- resize - Image resizing for the Go with common interpolation methods. ⭐️ 1081 🍴 103
- rez - Image resizing in pure Go and SIMD. ⭐️ 117 🍴 6
- smartcrop - Finds good crops for arbitrary images and crop sizes ⭐️ 291 🍴 26
- svgo - Go Language Library for SVG generation. ⭐️ 738 🍴 63
- tga - Package tga is a TARGA image format decoder/encoder. ⭐️ 12 🍴 5
Logging
Libraries for generating and working with log files.- glog - Leveled execution logs for Go. ⭐️ 987 🍴 194
- go-log - Log lib supports level and multi handlers. ⭐️ 14 🍴 5
- go-log - A log4j implementation in Go. ⭐️ 19 🍴 7
- go-logger - Simple logger of Go Programs, with level handlers. ⭐️ 155 🍴 16
- gologger - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. ⭐️ 19 🍴 4
- log - Structured logging package for Go. ⭐️ 262 🍴 16
- log - Simple, configurable and scalable Structured Logging for Go. ⭐️ 165 🍴 6
- log-voyage - Full-featured logging saas written in golang. ⭐️ 59 🍴 6
- log15 - Simple, powerful logging for Go ⭐️ 448 🍴 56
- logex - An golang log lib, supports tracking and level, wrap by standard log lib ⭐️ 24 🍴 2
- logger - Minimalistic logging library for Go. ⭐️ 64 🍴 7
- logrus - a structured logger for Go. ⭐️ 2803 🍴 391
- logrusly - logrus plug-in to send errors to a Loggly. ⭐️ 6 🍴 4
- logutils - Utilities for slightly better logging in Go (Golang) extending the standard logger. ⭐️ 134 🍴 13
- logxi - A 12-factor app logger that is fast and makes you happy. ⭐️ 249 🍴 17
- lumberjack - Simple rolling logger, implements io.WriteCloser. ⭐️ 308 🍴 41
- mlog - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. ⭐️ 4 🍴 7
- ozzo-log - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). ⭐️ 44 🍴 8
- seelog - logging functionality with flexible dispatching, filtering, and formatting. ⭐️ 678 🍴 125
- slf - The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go) ⭐️ 27 🍴 1
- slog - The reference implementation of the Structured Logging Facade (SLF) for Go ⭐️ 20 🍴 1
- stdlog - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. ⭐️ 28 🍴 4
- tail - A Go package striving to emulate the features of the BSD tail program. ⭐️ 509 🍴 117
- xlog - A structured logger for
net/context
aware HTTP handlers with flexible dispatching. ⭐️ 76 🍴 4
Machine Learning
Libraries for Machine Learning.- bayesian - Naive Bayesian Classification for Golang. ⭐️ 316 🍴 43
- CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. ⭐️ 357 🍴 47
- gago - Multi-population, flexible, parallel genetic algorithm. ⭐️ 130 🍴 6
- go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library. ⭐️ 74 🍴 16
- go-galib - Genetic Algorithms library written in Go / golang ⭐️ 119 🍴 26
- go-pr - Pattern recognition package in Go lang. ⭐️ 36 🍴 8
- gobrain - Neural Networks written in go ⭐️ 94 🍴 14
- godist - Various probability distributions, and associated methods. ⭐️ 7 🍴 2
- goga - Genetic algorithm library for Go. ⭐️ 34 🍴 3
- GoLearn - General Machine Learning library for Go. ⭐️ 2847 🍴 316
- golinear - liblinear bindings for Go ⭐️ 26 🍴 6
- goml - On-line Machine Learning in Go ⭐️ 470 🍴 31
- goRecommend - Recommendation Algorithms library written in Go. ⭐️ 44 🍴 2
- libsvm - libsvm golang version derived work based on LIBSVM 3.14. ⭐️ 39 🍴 6
- mlgo - This project aims to provide minimalistic machine learning algorithms in Go. ⭐️ 0 🍴 0
- neural-go - A multilayer perceptron network implemented in Go, with training via backpropagation. ⭐️ 41 🍴 8
- probab - Probability distribution functions. Bayesian inference. Written in pure Go. ⭐️ 1 🍴 0
- regommend - Recommendation & collaborative filtering engine ⭐️ 109 🍴 10
- shield - Bayesian text classifier with flexible tokenizers and storage backends for Go ⭐️ 79 🍴 21
Messaging
Libraries that implement messaging systems- Centrifugo - Real-time messaging (Websockets or SockJS) server in Go. ⭐️ 1043 🍴 58
- dbus - Native Go bindings for D-Bus. ⭐️ 82 🍴 43
- emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. ⭐️ 61 🍴 3
- EventBus - The lightweight event bus with async compatibility. ⭐️ 144 🍴 18
- go-longpoll - PubSub with long polling. ⭐️ 7 🍴 0
- go-notify - Native implementation of the freedesktop notification spec. ⭐️ 12 🍴 5
- go-nsq - the official Go package for NSQ ⭐️ 596 🍴 140
- gopush-cluster - gopush-cluster is a go push server cluster. ⭐️ 1239 🍴 380
- gorush - A push notification server using APNs2 and google GCM. ⭐️ 122 🍴 9
- machinery - An asynchronous task queue/job queue based on distributed message passing. ⭐️ 841 🍴 82
- mangos - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. ⭐️ 867 🍴 67
- NATS Go Client - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. ⭐️ 717 🍴 111
- oplog - A generic oplog/replication system for REST APIs ⭐️ 68 🍴 10
- pubsub - A simple pubsub package for go. ⭐️ 87 🍴 12
- sarama - A Go library for Apache Kafka. ⭐️ 1053 🍴 188
- Uniqush-Push - A redis backed unified push service for server-side notifications to mobile devices. ⭐️ 827 🍴 130
- zmq4 - A Go interface to ZeroMQ version 4. Also available for version 3 and version 2. ⭐️ 388 🍴 60
Miscellaneous
These libraries were placed here because none of the other categories seemed to fit- afero - A FileSystem Abstraction System for Go. ⭐️ 600 🍴 51
- archiver - Library and command for making and extracting .zip and .tar.gz archives ⭐️ 100 🍴 6
- autoflags - Go package to automatically define command line flags from struct fields. ⭐️ 12 🍴 0
- banner - Add beautiful banners into your Go applications. ⭐️ 86 🍴 7
- browscap_go - GoLang Library for Browser Capabilities Project. ⭐️ 17 🍴 5
- datacounter - Go counters for readers/writer/http.ResponseWriter. ⭐️ 4 🍴 0
- go-chat-bot - IRC, Slack & Telegram bot written in Go. ⭐️ 76 🍴 16
- go-commons-pool - A generic object pool for Golang. ⭐️ 256 🍴 31
- go-multierror - A Go (golang) package for representing a list of errors as a single error. ⭐️ 194 🍴 10
- go-shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs. ⭐️ 63 🍴 1
- gopsutil - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). ⭐️ 1060 🍴 218
- gosms - Your own local SMS gateway in Go that can be used to send SMS ⭐️ 925 🍴 73
- gountries - A package that exposes country and subdivision data. ⭐️ 87 🍴 4
- health - A Easy to use, extensible health check library. ⭐️ 179 🍴 8
- jobs - A persistent and flexible background jobs library. ⭐️ 335 🍴 23
- margelet - A framework for building Telegram bots. ⭐️ 32 🍴 5
- notify - File system event notification library with simple API, similar to os/signal. ⭐️ 158 🍴 20
- secdl - Lighttpd ModSecDownload algorithm ported to go to secure download urls. ⭐️ 1 🍴 0
- stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... ⭐️ 19 🍴 4
- werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. ⭐️ 4 🍴 0
- xkg - X Keyboard Grabber ⭐️ 12 🍴 0
- xstrings - A collection of useful string functions ported from other languages. ⭐️ 322 🍴 24
Natural Language Processing
Libraries for working with human languages.- dpar - Transition-based statistical dependency parser. ⭐️ 17 🍴 2
- go-eco - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. ⭐️ 2 🍴 1
- go-i18n - A package and an accompanying tool to work with localized text. ⭐️ 265 🍴 46
- go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. ⭐️ 48 🍴 10
- go-stem - Implementation of the porter stemming algorithm. ⭐️ 38 🍴 10
- go2vec - Reader and utility functions for word2vec embeddings. ⭐️ 11 🍴 1
- gojieba - This is a Go implementation of jieba which a Chinese word splitting algorithm. ⭐️ 67 🍴 24
- golibstemmer - Go bindings for the snowball libstemmer library including porter 2 ⭐️ 10 🍴 4
- gounidecode - Unicode transliterator (also known as unidecode) for Go ⭐️ 38 🍴 17
- icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. ⭐️ 15 🍴 1
- libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. ⭐️ 8 🍴 6
- MMSEGO - This is a GO implementation of MMSEG which a Chinese word splitting algorithm. ⭐️ 49 🍴 10
- paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm ⭐️ 13 🍴 3
- porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. ⭐️ 2 🍴 0
- porter2 - Really fast Porter 2 stemmer. ⭐️ 22 🍴 3
- segment - A Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 ⭐️ 16 🍴 2
- sentences - A sentence tokenizer: converts text into a list of sentences. ⭐️ 129 🍴 7
- snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native. ⭐️ 13 🍴 0
- stemmer - Stemmer packages for Go programming language. Includes English and German stemmers. ⭐️ 29 🍴 1
- textcat - A Go package for n-gram based text categorization, with support for utf-8 and raw text ⭐️ 41 🍴 7
Networking
Libraries for working with various layers of the network- arp - Package arp implements the ARP protocol, as described in RFC 826. ⭐️ 36 🍴 7
- buffstreams - Streaming protocolbuffer data over TCP made easy ⭐️ 135 🍴 6
- canopus - CoAP Client/Server implementation (RFC 7252) ⭐️ 33 🍴 4
- dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. ⭐️ 9 🍴 5
- dns - Go library for working with DNS ⭐️ 1538 🍴 275
- ether - A cross-platform Go package for sending and receiving ethernet frames. ⭐️ 34 🍴 1
- ethernet - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. ⭐️ 11 🍴 2
- fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http ⭐️ 2428 🍴 179
- ftp - Package ftp implements a FTP client as described in RFC 959. ⭐️ 131 🍴 79
- go-getter - A Go library for downloading files or directories from various sources using a URL. ⭐️ 245 🍴 15
- go-stun - A go implementation of the STUN client (RFC 3489 and RFC 5389). ⭐️ 80 🍴 21
- golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data. ⭐️ 4 🍴 0
- gopacket - A Go library for packet processing with libpcap bindings ⭐️ 625 🍴 120
- gopcap - A Go wrapper for libpcap ⭐️ 214 🍴 93
- goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet. ⭐️ 2 🍴 0
- gosnmp - Native Go library for performing SNMP actions ⭐️ 111 🍴 40
- gotcp - A Go package for quickly writing tcp applications ⭐️ 163 🍴 72
- grab - Go package for managing file downloads ⭐️ 29 🍴 2
- graval - An experimental FTP server framework. ⭐️ 10 🍴 2
- kcp-go - KCP - A Fast and Reliable ARQ Protocol. ⭐️ 85 🍴 28
- linkio - Network link speed simulation for Reader/Writer interfaces ⭐️ 18 🍴 3
- 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. ⭐️ 1 🍴 0
- mdns - Simple mDNS (Multicast DNS) client/server library in Golang ⭐️ 238 🍴 55
- mqttPaho - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
- portproxy - Simple TCP proxy which adds CORS support to API's which don't support it. ⭐️ 22 🍴 0
- raw - Package raw enables reading and writing data at the device driver level for a network interface. ⭐️ 18 🍴 2
- sftp - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. ⭐️ 260 🍴 80
- sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. ⭐️ 63 🍴 1
- tcp_server - A Go library for building tcp servers faster. ⭐️ 44 🍴 21
- utp - Go uTP micro transport protocol implementation. ⭐️ 49 🍴 10
- winrm - A Go WinRM client to remotely execute commands on Windows machines ⭐️ 76 🍴 26
OpenGL
Libraries for using OpenGL in Go.- gl - Go bindings for OpenGL (generated via glow). ⭐️ 202 🍴 21
- glfw - Go bindings for GLFW 3. ⭐️ 234 🍴 39
- goxjs/gl - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android). ⭐️ 66 🍴 4
- goxjs/glfw - Go cross-platform glfw library for creating an OpenGL context and receiving events. ⭐️ 26 🍴 3
- mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM. ⭐️ 124 🍴 17
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques.- beego orm - A powerful orm framework for go. Support: pq/mysql/sqlite3. ⭐️ 7268 🍴 1811
- go-store - A simple and fast Redis backed key-value store library for Go. ⭐️ 73 🍴 5
- gomodel - A lightweight, fast, orm-like library helps interactive with database. ⭐️ 46 🍴 5
- GORM - The fantastic ORM library for Golang, aims to be developer friendly. ⭐️ 3837 🍴 446
- gorp - Go Relational Persistence, ORM-ish library for Go. ⭐️ 2091 🍴 262
- QBS - Stands for Query By Struct. A Go ORM. ⭐️ 394 🍴 76
- Storm - Simple and powerful ORM for BoltDB. ⭐️ 175 🍴 15
- upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. ⭐️ 339 🍴 37
- Xorm - Simple and powerful ORM for Go. ⭐️ 1243 🍴 224
- Zoom - A blazing-fast datastore and querying engine built on Redis. ⭐️ 135 🍴 6
Package Management
Libraries for package and dependency management.- gigo - PIP-like dependency tool for golang, with support for private repositories and hashes. ⭐️ 188 🍴 9
- glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. ⭐️ 2005 🍴 119
- godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. ⭐️ 3541 🍴 327
- gom - Go Manager - bundle for go. ⭐️ 1099 🍴 83
- goop - A simple dependency manager for Go (golang), inspired by Bundler. ⭐️ 764 🍴 45
- gopm - Go Package Manager ⭐️ 1003 🍴 97
- gpm - Barebones dependency manager for Go. ⭐️ 961 🍴 52
- johnny-deps - Minimal dependency version using Git ⭐️ 217 🍴 6
- nut - Vendor Go dependencies ⭐️ 246 🍴 12
- VenGO - create and manage exportable isolated go virtual environments ⭐️ 85 🍴 2
Query Language
- graphql - graphql parser + utilities. ⭐️ 36 🍴 8
- graphql - GraphQL implementation in go. ⭐️ 28 🍴 2
- graphql-go - An implementation of GraphQL for Go. ⭐️ 434 🍴 44
- jsonql - JSON query expression library in Golang. ⭐️ 53 🍴 3
Resource Embedding
- esc - Embeds files into Go programs and provides http.FileSystem interfaces to them. ⭐️ 126 🍴 21
- fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use. ⭐️ 51 🍴 3
- go-bindata - Package that converts any file into managable Go source code. ⭐️ 1859 🍴 139
- go-embed - Generates go code to embed resource files into your library or executable ⭐️ 2 🍴 0
- go-resources - Unfancy resources embedding with Go. ⭐️ 103 🍴 7
- go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. ⭐️ 729 🍴 41
- statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. ⭐️ 31 🍴 2
- vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem. ⭐️ 84 🍴 7
Science and Data Analysis
Libraries for scientific computing and data analyzing.- blas - Implementation of BLAS (Basic Linear Algebra Subprograms) ⭐️ 91 🍴 14
- chart - Simple Chart Plotting library for Go. Supports many graphs types. ⭐️ 321 🍴 46
- evaler - A simple floating point arithmetic expression evaluator ⭐️ 24 🍴 5
- ewma - Exponentially-weighted moving averages ⭐️ 153 🍴 12
- geom - 2D geometry for golang ⭐️ 33 🍴 13
- go-dsp - Digital Signal Processing for Go ⭐️ 387 🍴 27
- go-fn - Mathematical functions written in Go language, that are not covered by math pkg ⭐️ 2 🍴 0
- go-gt - Graph theory algorithms written in "Go" language ⭐️ 1 🍴 0
- go.matrix - linear algebra for go (has been stalled) ⭐️ 246 🍴 60
- gocomplex - A complex number library for the Go programming language. ⭐️ 1 🍴 0
- gofrac - A (goinstallable) fractions library for go with support for basic arithmetic. ⭐️ 6 🍴 3
- gohistogram - Approximate histograms for data streams ⭐️ 70 🍴 14
- gonum/mat64 - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. ⭐️ 260 🍴 37
- gonum/plot - gonum/plot provides an API for building and drawing plots in Go. ⭐️ 262 🍴 35
- goraph - A pure Go graph theory library(data structure, algorith visualization) ⭐️ 217 🍴 32
- gostat - A statistics library for the go language ⭐️ 9 🍴 1
- mudlark-go - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. ⭐️ 0 🍴 0
- pagerank - Weighted PageRank algorithm implemented in Go ⭐️ 13 🍴 4
- stats - A statistics package with common functions missing from the Golang standard library. ⭐️ 608 🍴 39
- streamtools - general purpose, graphical tool for dealing with streams of data. ⭐️ 1277 🍴 114
- vectormath - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) ⭐️ 52 🍴 8
Security
Libraries that are used to help make your application more secure.- acmetool — ACME (Let's Encrypt) client tool with automatic renewal. ⭐️ 836 🍴 30
- BadActor - An in-memory, application-driven jailer built in the spirit of fail2ban ⭐️ 172 🍴 4
- go-yara - Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)" ⭐️ 29 🍴 6
- lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) ⭐️ 1247 🍴 86
- passlib - Futureproof password hashing library. ⭐️ 96 🍴 5
- simple-scrypt - an scrypt package with a simple, obvious API and automatic cost calibration built-in. ⭐️ 64 🍴 6
Serialization
Libraries and tools for binary serialization- asn1 - Asn.1 BER and DER encoding library for golang ⭐️ 3 🍴 1
- colfer - Code generation for the Colfer binary format ⭐️ 14 🍴 1
- go-capnproto - Cap'n Proto library and parser for go ⭐️ 239 🍴 20
- bambam - generator for Cap'n Proto schemas from go. ⭐️ 53 🍴 7
- go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support ⭐️ 595 🍴 79
- gogoprotobuf - Protocol Buffers for Go with Gadgets ⭐️ 454 🍴 63
- goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. ⭐️ 961 🍴 206
- mapstructure - Go library for decoding generic map values into native Go structures. ⭐️ 607 🍴 75
- php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions ⭐️ 52 🍴 18
- structomap - Library to easily and dynamically generate maps from static structures. ⭐️ 32 🍴 2
Server Applications
- algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. ⭐️ 242 🍴 12
- Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. ⭐️ 6278 🍴 403
- consul - Consul is a tool for service discovery, monitoring and configuration.
- devd - A local webserver for developers ⭐️ 2101 🍴 72
- etcd - A highly-available key value store for shared configuration and service discovery. ⭐️ 9836 🍴 1645
- minio - Minio is a distributed object storage server. ⭐️ 1324 🍴 124
- nsq - A realtime distributed messaging platform
- yakvs - A small, networked, in-memory key-value store. ⭐️ 7 🍴 1
Template Engines
Libraries and tools for templating and lexing.- ace - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold. ⭐️ 474 🍴 26
- amber - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. ⭐️ 611 🍴 37
- damsel - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. ⭐️ 16 🍴 1
- ego - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. ⭐️ 252 🍴 21
- fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template. ⭐️ 69 🍴 8
- gofpdf - A PDF document generator with high level support for text, drawing and images. ⭐️ 256 🍴 48
- kasia.go - Templating system for HTML and other text documents - go implementation. ⭐️ 67 🍴 5
- mustache - A Go implementation of the Mustache template language. ⭐️ 787 🍴 116
- pongo2 - A Django-like template-engine for Go. ⭐️ 737 🍴 69
- quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it. ⭐️ 429 🍴 24
- raymond - A complete handlebars implementation in Go. ⭐️ 96 🍴 3
- Razor - Razor view engine for Golang. ⭐️ 521 🍴 65
- Soy - Closure templates (aka Soy templates) for Go, following the official spec ⭐️ 114 🍴 13
Testing
Libraries for testing codebases and generating test data.-
Testing Frameworks
- assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions ⭐️ 5 🍴 2
- assert - Asserts to Go testing ⭐️ 128 🍴 35
- badio - Extensions to Go's
testing/iotest
package ⭐️ 2 🍴 1 - bro - Watch files in directory and run tests for them ⭐️ 11 🍴 1
- frisby - a REST API testing framework ⭐️ 144 🍴 7
- ginkgo - BDD Testing Framework for Go
- go-carpet - Tool for viewing test coverage in terminal ⭐️ 142 🍴 2
- go-mutesting - Mutation testing for Go source code ⭐️ 62 🍴 3
- go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests ⭐️ 92 🍴 5
- goblin - Mocha like testing framework fo Go ⭐️ 285 🍴 16
- gocheck - A more advanced testing framework alternative to gotest.
- GoConvey - BDD-style framework with web UI and live reload ⭐️ 2197 🍴 175
- godog - Cucumber or Behat like BDD framework for Go. ⭐️ 65 🍴 5
- gofight - API Handler Testing for Golang Router framework. ⭐️ 38 🍴 1
- gomega - Rspec like matcher/assertion library.
- GoSpec - BDD-style testing framework for the Go programming language. ⭐️ 109 🍴 17
- gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. ⭐️ 51 🍴 4
- Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. ⭐️ 22 🍴 2
- restit - A Go micro framework to help writing RESTful API integration test. ⭐️ 26 🍴 0
- testfixtures - A helper for Rails' like test fixtures to test database applications. ⭐️ 51 🍴 0
- Testify - A sacred extension to the standard go testing package. ⭐️ 1951 🍴 221
-
Mock
- counterfeiter - Tool for generating self-contained mock objects ⭐️ 86 🍴 12
- go-sqlmock - Mock SQL driver for testing database interactions ⭐️ 228 🍴 39
- go-txdb - Single transaction based database driver mainly for testing purposes. ⭐️ 5 🍴 0
- gock - Versatile HTTP mocking made easy. ⭐️ 217 🍴 3
- gomock - Mocking framework for the Go programming language. ⭐️ 274 🍴 38
- mockhttp - Mock object for Go http.ResponseWriter ⭐️ 19 🍴 4
-
Fuzzing and delta-debugging/reducing/shrinking
- go-fuzz - A randomized testing system ⭐️ 1410 🍴 78
- gofuzz - A library for populating go objects with random values ⭐️ 235 🍴 14
- gogenerate - A Scalacheck-like library for Go ⭐️ %!f() 🍴 %!f()
- Tavor - A generic fuzzing and delta-debugging framework ⭐️ 144 🍴 4
Text Processing
Libraries for parsing and manipulating texts.- Specific Formats
- blackfriday - Markdown processor in Go ⭐️ 1858 🍴 259
- github_flavored_markdown - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. ⭐️ 32 🍴 4
- bluemonday - HTML Sanitizer ⭐️ 390 🍴 25
- enca - Minimal cgo bindings for libenca. ⭐️ 2 🍴 1
- genex - Count and expand Regular Expressions into all matching Strings ⭐️ 36 🍴 3
- go-humanize - Formatters for time, numbers, and memory size to human readable format. ⭐️ 699 🍴 65
- go-nmea - NMEA parser library for the Go language. ⭐️ 15 🍴 1
- go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. ⭐️ 268 🍴 72
- go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. ⭐️ 109 🍴 28
- go-runewidth - Functions to get fixed width of the character or string. ⭐️ 54 🍴 9
- gofeed - Parse RSS and Atom feeds in Go ⭐️ 448 🍴 14
- gographviz - Parses the Graphviz DOT language. ⭐️ 42 🍴 10
- gommon/bytes - Format bytes to string. ⭐️ 120 🍴 17
- gonameparts - Parses human names into individual name parts ⭐️ 19 🍴 1
- GoQuery - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. ⭐️ 2727 🍴 272
- goregen - A library for generating random strings from regular expressions. ⭐️ 16 🍴 3
- guesslanguage - Functions to determine the natural language of a unicode text. ⭐️ 21 🍴 4
- mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. ⭐️ 120 🍴 22
- slug - URL-friendly slugify with multiple languages support. ⭐️ 77 🍴 10
- Slugify - A Go slugify application that handles string. ⭐️ 11 🍴 0
- toml - TOML configuration format (encoder/decoder with reflection). ⭐️ 900 🍴 140
- blackfriday - Markdown processor in Go ⭐️ 1858 🍴 259
- Utility
- gotabulate - Easily pretty-print your tabular data with Go. ⭐️ 120 🍴 7
- kace - Common case conversions covering common initialisms. ⭐️ 2 🍴 0
- parseargs-go - A string argument parser that understands quotes and backslashes ⭐️ 3 🍴 0
- parth - URL path segmentation parsing. ⭐️ 6 🍴 0
- xurls - Extract urls from text ⭐️ 189 🍴 8
Third-party APIs
Libraries for accessing third party APIs.- anaconda - A Go client library for the Twitter 1.1 API ⭐️ 546 🍴 145
- aws-sdk-go - The official AWS SDK for the Go programming language. ⭐️ 2539 🍴 412
- brewerydb - Go library for accessing the BreweryDB API. ⭐️ 10 🍴 0
- clarifai - A Go client library for interfacing with the Clarifai API. ⭐️ 32 🍴 5
- discordgo - Go bindings for the Discord Chat API ⭐️ 95 🍴 22
- facebook - Go Library that supports the Facebook Graph API ⭐️ 312 🍴 78
- gads - Google Adwords Unofficial API ⭐️ 16 🍴 13
- gami - Go library for Asterisk Manager Interface. ⭐️ 15 🍴 7
- gcm - Go library for Google Cloud Messaging ⭐️ 28 🍴 2
- geo-golang - Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, HERE, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs. ⭐️ 122 🍴 11
- ghost - Go Library for accessing the Snapchat API. ⭐️ 16 🍴 1
- github - Go library for accessing the GitHub API. ⭐️ 1721 🍴 372
- go-imgur - Go client library for imgur ⭐️ 2 🍴 0
- go-jira - Go client library for Atlassian JIRA ⭐️ 23 🍴 13
- go-marathon - A Go library for interacting with Mesosphere's Marathon PAAS. ⭐️ 81 🍴 49
- go-trending - Go library for accessing trending repositories and developers at Github. ⭐️ 72 🍴 2
- go-twitter - Go client library for the Twitter v1.1 APIs. ⭐️ 70 🍴 7
- go-xkcd - Go client for the xkcd API. ⭐️ 14 🍴 0
- goamz - Popular fork of goamz which adds some missing API calls to certain packages. ⭐️ 626 🍴 228
- GoMusicBrainz - a Go MusicBrainz WS2 client library. ⭐️ 18 🍴 6
- google - Auto-generated Google APIs for Go. ⭐️ 666 🍴 148
- google-analytics - A simple wrapper for easy google analytics reporting. ⭐️ 4 🍴 0
- google-cloud - Google Cloud APIs Go Client Library. ⭐️ 315 🍴 79
- gostorm - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. ⭐️ 79 🍴 13
- hipchat - This project implements a golang client library for the Hipchat API. ⭐️ 98 🍴 23
- hipchat (xmpp) - A golang package to communicate with HipChat over XMPP. ⭐️ 92 🍴 27
- Medium - A Golang SDK for Medium's OAuth2 API. ⭐️ 45 🍴 9
- megos - A client library for accessing an Apache Mesos cluster ⭐️ 36 🍴 4
- minio-go - Minio Go Library for Amazon S3 compatible cloud storage. ⭐️ 102 🍴 36
- mixpanel - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. ⭐️ 13 🍴 2
- paypal - Wrapper for PayPal payment API ⭐️ 92 🍴 18
- playlyfe - The Playlyfe Rest API Go SDK ⭐️ 0 🍴 0
- pushover - Go wrapper for the Pushover API. ⭐️ 11 🍴 2
- rrdaclient - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. ⭐️ 3 🍴 0
- shopify - Go Library to make CRUD request to the Shopify API. ⭐️ 10 🍴 3
- slack - Slack API in Go. ⭐️ 528 🍴 104
- smite - Go package to wraps access to the Smite game API. ⭐️ 7 🍴 0
- spotify - Go Library to access Spotify WEB API. ⭐️ 7 🍴 1
- steam - Go Library to interact with Steam game servers. ⭐️ 8 🍴 0
- stripe - Go client for the Stripe API ⭐️ 405 🍴 94
- telebot - Telegram bot framework written in Go. ⭐️ 178 🍴 35
- telegram-bot-api - Simple and clean Telegram bot client. ⭐️ 224 🍴 36
- textbelt - Go client for the textbelt.com txt messaging API. ⭐️ 4 🍴 0
- TheMovieDb - A simple golang package to communicate with themoviedb.org ⭐️ 4 🍴 1
- translate - Go online translation package. ⭐️ 9 🍴 1
- tumblr - Go wrapper for the Tumblr v2 API. ⭐️ 0 🍴 1
- webhooks - Webhook reciever for GitHub and Bitbucket. ⭐️ 24 🍴 3
Utilities
General utilities and tools to make your life easier.- abutil - A collection of often-used Golang helpers. ⭐️ 6 🍴 0
- apm - A process manager for Golang applications with an HTTP API. ⭐️ 45 🍴 2
- boilr - A blazingly fast CLI tool for creating projects from boilerplate templates. ⭐️ 208 🍴 11
- command - Command pattern for Go with thread safe serial and parallel dispatcher ⭐️ 1 🍴 0
- coop - Cheat sheet for some of the common concurrent flows in Go. ⭐️ 1154 🍴 51
- Death - Managing go application shutdown with signals. ⭐️ 29 🍴 3
- Deepcopier - Simple struct copying for Go. ⭐️ 82 🍴 6
- delve - Go debugger. ⭐️ 3727 🍴 247
- fastlz - Wrap over FastLz (free, open-source, portable real-time compression library) for GoLang. ⭐️ 4 🍴 1
- filetype - Small package to infer the file type checking the magic numbers signature. ⭐️ 60 🍴 4
- fzf - A command-line fuzzy finder written in Go ⭐️ 5034 🍴 211
- generate - runs go generate recursively on a specified path or environment variable and can filter by regex. ⭐️ 1 🍴 1
- gentleman - Full-featured plugin-driven HTTP client library. ⭐️ 280 🍴 2
- go-cron - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. ⭐️ 116 🍴 8
- go-debug - Conditional debug logging for Golang libraries & applications. ⭐️ 313 🍴 26
- go-dry - DRY (don't repeat yourself) package for Go. ⭐️ 152 🍴 15
- go-rate - A timed rate limiter for Go. ⭐️ 192 🍴 8
- go-sitemap-generator - XML Sitemap generator written in Go. ⭐️ 12 🍴 3
- go-trigger - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project. ⭐️ 51 🍴 11
- go-underscore - A useful collection of helpfully functional Go collection utilities. ⭐️ 846 🍴 41
- goback - Go simple exponential backoff package. ⭐️ 25 🍴 1
- godaemon - Utility to write daemons. ⭐️ 262 🍴 15
- godotenv - A Go port of Ruby's dotenv library (Loads environment variables from
.env
.) ⭐️ 296 🍴 22 - godropbox - Common libraries for writing Go services/applications from Dropbox. ⭐️ 3058 🍴 270
- gohper - Various tools/modules help for development. ⭐️ 209 🍴 42
- gojq - JSON query in Golang. ⭐️ 39 🍴 1
- golarm - Fire alarms with system events. ⭐️ 19 🍴 1
- golog - Easy and lightweight CLI tool to time track your tasks. ⭐️ 16 🍴 4
- gopencils - Small and simple package to easily consume REST APIs. ⭐️ 346 🍴 25
- goplaceholder - a small golang lib to generate placeholder images. ⭐️ 10 🍴 5
- goreq - Minimal and simple request library for Go language. ⭐️ 469 🍴 70
- goreq - An enhanced simplified HTTP client based on gorequest. ⭐️ 21 🍴 6
- gorequest - Simplified HTTP client with rich features for Go. ⭐️ 727 🍴 92
- gotenv - Load environment variables from
.env
or anyio.Reader
in Go ⭐️ 49 🍴 4 - grequests - An elegant and simple
net/http
wrapper that follows Python's requests library ⭐️ 721 🍴 32 - htcat - Parallel and Pipelined HTTP GET Utility ⭐️ 420 🍴 23
- httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries. ⭐️ 405 🍴 26
- hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. ⭐️ 408 🍴 39
- JobRunner - Smart and featureful cron job scheduler with job queuing and live monitoring built in. ⭐️ 275 🍴 9
- jsonf - Console tool for highlighted formatting and struct query fetching JSON. ⭐️ 26 🍴 4
- jsongo - Fluent API to make it easier to create Json objects. ⭐️ 51 🍴 1
- lrserver - LiveReload server for Go ⭐️ 67 🍴 4
- mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. ⭐️ 243 🍴 31
- mergo - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. ⭐️ 142 🍴 41
- moldova - A utility for generating random data based on an input template. ⭐️ 117 🍴 3
- mp - A simple cli email parser. It currently takes stdin and outputs JSON. ⭐️ 11 🍴 0
- multitick - Multiplexor for aligned tickers. ⭐️ 44 🍴 0
- netbug - Easy remote profiling of your services. ⭐️ 36 🍴 2
- ngrok - Introspected tunnels to localhost. ⭐️ 7242 🍴 895
- okrun - go run error steamroller. ⭐️ 11 🍴 2
- panicparse - Groups similar goroutines and colorizes stack dump. ⭐️ 1266 🍴 24
- peco - Simplistic interactive filtering tool. ⭐️ 3006 🍴 98
- pester - Go HTTP client calls with retries, backoff, and concurrency. ⭐️ 76 🍴 12
- pm - Process (i.e. goroutine) manager with an HTTP API. ⭐️ 38 🍴 5
- profile - Simple profiling support package for Go. ⭐️ 426 🍴 23
- request - Go HTTP Requests for Humans™. ⭐️ 129 🍴 12
- rerun - Recompiling and rerunning go apps when source changes. ⭐️ 104 🍴 4
- resty - Simple HTTP and REST client for Go inspired by Ruby rest-client. ⭐️ 296 🍴 14
- robustly - Runs functions resiliently, catching and restarting panics. ⭐️ 105 🍴 5
- scheduler - Cronjobs scheduling made easy. ⭐️ 95 🍴 7
- sling - Go HTTP requests builder for API clients. ⭐️ 321 🍴 19
- spinner - Go package to easily provide a terminal spinner with options. ⭐️ 233 🍴 12
- sqlx - provides a set of extensions on top of the excellent built-in database/sql package. ⭐️ 1808 🍴 156
- ugo - ugo is slice toolbox with concise syntax for Go. ⭐️ 8 🍴 1
- xferspdy - Xferspdy provides binary diff and patch library in golang ⭐️ 6 🍴 0
- xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. ⭐️ 1003 🍴 248
Validation
Libraries for validation.- govalidator - Validators and sanitizers for strings, numerics, slices and structs. ⭐️ 1096 🍴 107
- validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. ⭐️ 506 🍴 37
Version Control
Libraries for version control.- gh - Scriptable server and net/http middleware for GitHub Webhooks. ⭐️ 38 🍴 4
- git2go - Go bindings for libgit2. ⭐️ 808 🍴 131
- go-vcs - manipulate and inspect VCS repositories in Go. ⭐️ 42 🍴 11
- hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. ⭐️ 8 🍴 2
Video
Libraries for manipulating video.- aac/h264 - Golang aac/h264 encoder and decoder. ⭐️ 173 🍴 40
- gmf - Go bindings for FFmpeg av* libraries. ⭐️ 195 🍴 42
- goav - Comphrensive Go bindings for FFmpeg. ⭐️ 148 🍴 37
- gst - Go bindings for GStreamer. ⭐️ 110 🍴 24
Web Frameworks
Full stack web frameworks.- Beego - beego is an open-source, high-performance web framework for the Go programming language. ⭐️ 7268 🍴 1811
- Bone - Lightning Fast HTTP Multiplexer. ⭐️ 906 🍴 58
- chi - Small, fast and expressive HTTP router built on net/context. ⭐️ 328 🍴 24
- Echo - A fast and unfancy micro web framework for Go. ⭐️ 4503 🍴 337
- Gin - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. ⭐️ 6757 🍴 735
- Gizmo - Microservice toolkit used by the New York Times. ⭐️ 1416 🍴 74
- Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io). ⭐️ 164 🍴 9
- go-json-rest - A quick and easy way to setup a RESTful JSON API. ⭐️ 2359 🍴 247
- go-kit - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. ⭐️ 4484 🍴 337
- go-relax - A framework of pluggable components to build RESTful API's. ⭐️ 122 🍴 4
- go-rest - A small and evil REST framework for Go. ⭐️ 90 🍴 9
- go-socket.io - socket.io library for golang, a realtime application framework. ⭐️ 1193 🍴 170
- goa - Framework for developing microservices based on the design of Ruby's Praxis. ⭐️ 791 🍴 75
- Goat - A minimalistic REST API server in Go. ⭐️ 91 🍴 9
- gocraft/web - A mux and middleware package in Go. ⭐️ 1065 🍴 79
- Goji - Goji is a minimalistic and flexible HTTP request multiplexer with support for
net/context
. ⭐️ 195 🍴 12 - Golf - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. ⭐️ 170 🍴 10
- golongpoll - HTTP longpoll server library that makes web pub-sub simple. ⭐️ 282 🍴 12
- Gondola - The web framework for writing faster sites, faster ⭐️ 297 🍴 20
- goose - Server Sent Events in Go ⭐️ 20 🍴 4
- Gorilla - Gorilla is a web toolkit for the Go programming language.
- httprouter - A high performance router. Use this and the standard http handlers to form a very high performance web framework. ⭐️ 3210 🍴 287
- httptreemux - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. ⭐️ 153 🍴 17
- Iris - A very minimal but flexible and high-performance golang web application framework, providing a robust set of features for building web applications.
- lars - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. ⭐️ 286 🍴 12
- Macaron - Macaron is a high productive and modular design web framework in Go. ⭐️ 1120 🍴 116
- mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. ⭐️ 297 🍴 31
- medeina - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. ⭐️ 15 🍴 1
- mux - A powerful URL router and dispatcher for golang. ⭐️ 2444 🍴 385
- neo - Neo is minimal and fast Go Web Framework with extremely simple API. ⭐️ 259 🍴 19
- ozzo-routing - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application. ⭐️ 77 🍴 9
- pat - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. ⭐️ 953 🍴 96
- Resoursea - A REST framework for quickly writing resource based services. ⭐️ 24 🍴 2
- REST Layer - A framework to build REST/GraphQL API on top of databases with mostly configuration over code.
- Revel - A high-productivity web framework for the Go language. ⭐️ 6870 🍴 972
- rex - Rex is a library for modular development built upon gorilla/mux, fully compatible with
net/http
. ⭐️ 10 🍴 1 - sawsij - lightweight, open-source web framework for building high-performance, data-driven web applications.
- Siesta - Composable framework to write middleware and handlers ⭐️ 338 🍴 12
- tango - Micro & pluggable web framework for Go. ⭐️ 417 🍴 59
- tigertonic - A Go framework for building JSON web services inspired by Dropwizard ⭐️ 936 🍴 74
- traffic - Sinatra inspired regexp/pattern mux and web framework for Go. ⭐️ 477 🍴 19
- VarHandler - Generate boilerplate http input and ouput handling. ⭐️ 2 🍴 0
- vestigo - A performant, stand-alone, HTTP compliant URL Router for go web applications. ⭐️ 39 🍴 6
- Volatile - Minimalist middleware stack promoting flexibility, good practices and clean code. ⭐️ 79 🍴 1
- xmux - A high performance muxer based on
httprouter
withnet/context
support. ⭐️ 54 🍴 8 - Zerver - Zerver is an expressive, modular, feature completed RESTful framework. ⭐️ 131 🍴 19
- zeus - A very simple and fast HTTP router for Go. ⭐️ 94 🍴 9
Middlewares
Actual middlewares
- CORS - Easily add CORS capabilities to your API. ⭐️ 330 🍴 34
- formjson - Transparently handle JSON input as a standard form POST. ⭐️ 19 🍴 0
- Limiter - Dead simple rate limit middleware for Go. ⭐️ 217 🍴 15
- Tollbooth - Rate limit HTTP request handler. ⭐️ 386 🍴 29
- XFF - Handle
X-Forwarded-For
header and friends. ⭐️ 48 🍴 7
Libraries for creating HTTP middlewares
- alice - Painless middleware chaining for Go. ⭐️ 909 🍴 52
- catena - http.Handler wrapper catenation (same API as "chain"). ⭐️ 6 🍴 0
- chain - Handler wrapper chaining with scoped data (net/context-based "middleware"). ⭐️ 48 🍴 0
- go-wrap - Small middlewares package for net/http. ⭐️ 50 🍴 2
- gores - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. ⭐️ 39 🍴 0
- httpware - Stackable middleware (using net/context) with easy chaining. ⭐️ 15 🍴 0
- interpose - Minimalist net/http middleware for golang. ⭐️ 249 🍴 13
- muxchain - Lightweight middleware for net/http. ⭐️ 198 🍴 6
- negroni - Idiomatic HTTP middleware for Golang. ⭐️ 3684 🍴 273
- render - Go package for easily rendering JSON, XML, and HTML template responses. ⭐️ 681 🍴 57
- stats - A Go middleware that stores various information about your web application. ⭐️ 345 🍴 23
Tools
Go software and plugins.Code Analysis
- dupl - A tool for code clone detection. ⭐️ 53 🍴 2
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs. ⭐️ 574 🍴 33
- gcvis - Visualise Go program GC trace data in real time. ⭐️ 532 🍴 36
- Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. ⭐️ 972 🍴 58
- go-checkstyle checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments. ⭐️ 29 🍴 9
- go-outdated - Console application that displays outdated packages. ⭐️ 23 🍴 0
- goast-viewer - Web based Golang AST visualizer. ⭐️ 137 🍴 12
- GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
- goimports - Tool to fix (add, remove) your Go imports automatically.
- GoLint - Golint is a linter for Go source code. ⭐️ 1373 🍴 147
- Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- goreturns - Adds zero-value return statements to match the func return types.
- gostatus - A command line tool, shows the status of repositories that contain Go packages. ⭐️ 160 🍴 7
- interfacer - A linter that suggests interface types. ⭐️ 475 🍴 7
- validate - Automatically validates struct fields with tags. ⭐️ 58 🍴 10
Editor Plugins
- go-lang-idea-plugin Go plugin for IntelliJ IDEA. ⭐️ 3418 🍴 401
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting ⭐️ 884 🍴 77
- Goclipse - An Eclipse plugin for Go. ⭐️ 543 🍴 161
- gocode - An autocompletion daemon for the Go programming language. ⭐️ 3127 🍴 362
- GoSublime - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. ⭐️ 2277 🍴 208
- velour - An IRC client for the acme editor. ⭐️ 13 🍴 2
- vim-compiler-go - A Vim plugin to highlight syntax errors on save. ⭐️ 66 🍴 16
- vim-go - Go development plugin for Vim. ⭐️ 4857 🍴 444
- Watch - Runs a command in an acme win on file changes. ⭐️ 111 🍴 14
Go Tools
- colorgo - A wrapper around
go
command for colorizedgo build
output. ⭐️ 64 🍴 7 - gb - An easy to use project based build tool for the Go programming language.
- go-pkg-complete - Bash completion for go and wgo. ⭐️ 29 🍴 4
- rts - RTS: response to struct. Generates Go structs from server responses. ⭐️ 101 🍴 4
Software Packages
Software written in Go.DevOps Tools
- aptly - aptly is a Debian repository management tool. ⭐️ 1067 🍴 126
- awsenv - a small binary that loads Amazon (AWS) environment variables for a profile. ⭐️ 8 🍴 3
- Banshee - Anomalies detection system for periodic metrics. ⭐️ 251 🍴 28
- Boom - Boom is a tiny program that sends some load to a web application. ⭐️ 4350 🍴 320
- bosun - Time Series Alerting Framework. ⭐️ 1823 🍴 257
- dogo - Monitoring changes in the source file and automatically compile and run (restart). ⭐️ 107 🍴 13
- Dropship - A tool for deploying code via cdn. ⭐️ 22 🍴 2
- EasySSH - Golang package for easy remote execution through SSH and SCP downloading. ⭐️ 104 🍴 39
- Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. ⭐️ 1235 🍴 221
- go-selfupdate - Enable your Go applications to self update. ⭐️ 371 🍴 32
- gobrew - gobrew lets you easily switch between multiple versions of go. ⭐️ 153 🍴 16
- godbg - Web-based gdb front-end application. ⭐️ 188 🍴 18
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. ⭐️ 234 🍴 23
- gox - A dead simple, no frills Go cross compile tool. ⭐️ 1607 🍴 99
- goxc - build tool for Go, with a focus on cross-compiling and packaging. ⭐️ 1297 🍴 63
- GVM - GVM provides an interface to manage Go versions. ⭐️ 2062 🍴 143
- kala - Simplistic, modern, and performant job scheduler. ⭐️ 816 🍴 34
- kubernetes - Container Cluster Manager from Google. ⭐️ 14782 🍴 4542
- Mora - REST server for accessing MongoDB documents and meta data. ⭐️ 151 🍴 27
- ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB. ⭐️ 67 🍴 4
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. ⭐️ 5381 🍴 1255
- Rodent - Rodent helps you manage Go versions, projects and track dependencies. ⭐️ 30 🍴 2
- s3gof3r - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. ⭐️ 681 🍴 82
- Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker). ⭐️ 135 🍴 18
- [ Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! ⭐️ 3959 🍴 207
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. ⭐️ 403 🍴 54
- Wide - A Web-based IDE for Teams using Golang.
- winrm-cli - A cli tool to remotely execute commands on Windows machines ⭐️ 2 🍴 1
Other Software
- boxed - Dropbox based blog engine ⭐️ 48 🍴 5
- Cherry - A tiny webchat server in Go. ⭐️ 92 🍴 9
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. ⭐️ 1302 🍴 106
- Comcast - Simulate bad network connections. ⭐️ 4321 🍴 156
- confd - Manage local application configuration files using templates and data from etcd or consul. ⭐️ 2728 🍴 371
- Docker - An open platform for distributed applications for developers and sysadmins.
- fleet - A Distributed init System. ⭐️ 2209 🍴 278
- Go Package Store - An app that displays updates for the Go packages in your GOPATH. ⭐️ 655 🍴 15
- gocc - Gocc is a compiler kit for Go written in Go. ⭐️ 42 🍴 5
- GoDocTooltip - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. ⭐️ 8 🍴 0
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. ⭐️ 5654 🍴 462
- heka - universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API. ⭐️ 3117 🍴 478
- hsync - A filesystem hierarchy synchronizer.
- hugo - A Fast and Modern Static Website Engine.
- ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO. ⭐️ 150 🍴 10
- Juju - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
- limetext Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
- LiteIDE LiteIDE is a simple, open source, cross-platform Go IDE. ⭐️ 2887 🍴 422
- mockingjay Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests. ⭐️ 243 🍴 23
- naclpipe - A simple NaCL EC25519 based crypto pipe tool written in Go. ⭐️ 5 🍴 0
- nes - A Nintendo Entertainment System (NES) emulator written in Go. ⭐️ 2284 🍴 180
- orange-cat - A Markdown previewer written in Go. ⭐️ 140 🍴 4
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. ⭐️ 295 🍴 44
- Postman - Command-line utility for batch-sending email. ⭐️ 638 🍴 36
- restic - De-duplicating backup program. ⭐️ 666 🍴 59
- rkt - An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. ⭐️ 5563 🍴 519
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek. ⭐️ 2516 🍴 350
- shell2http - Executing shell commands via http server (for prototyping or remote control). ⭐️ 45 🍴 3
- snap - A powerful telemetry framework. ⭐️ 746 🍴 91
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. ⭐️ 930 🍴 27
- syncthing - An open, decentralized file synchronization tool and protocol.
- Tenyks - Service oriented IRC bot using Redis and JSON for messaging. ⭐️ 153 🍴 15
- toto - A simple proxy server written in Go language, can be used together with browser. ⭐️ 7 🍴 1
- toxiproxy - Proxy to simulate network and system conditions for automated tests. ⭐️ 1264 🍴 59
- tsuru - An extensible and open source Platform as a Service software.
- websysd - Web based process manager (like Marathon or Upstart). ⭐️ 23 🍴 4
- wellington - Sass project management tool, extends the language with sprite functions (like Compass). ⭐️ 188 🍴 10
Resources
Where to discover new Go libraries.Benchmarks
- autobench - Framework to compare the performance between different Go versions. ⭐️ 83 🍴 25
- go-benchmarks - A few miscellaneous Go microbenchmarks. Compare some language features to alternative aproaches. ⭐️ 33 🍴 4
- go-http-routing-benchmark - Go HTTP request router benchmark and comparison. ⭐️ 710 🍴 97
- go-type-assertion-benchmark - Naive performance test of two ways to do type assertion in Go. ⭐️ 3 🍴 0
- go_serialization_benchmarks - Benchmarks of Go serialization methods. ⭐️ 338 🍴 47
- gocostmodel - Benchmarks of common basic operations for the Go language. ⭐️ 47 🍴 2
- golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. ⭐️ 5 🍴 0
- golang-sql-benchmark - A collection of benchmarks for popular Go database/SQL utilities. ⭐️ 21 🍴 1
- gospeed - Go micro-benchmarks for calculating the speed of language constructs. ⭐️ 53 🍴 2
- kvbench - Key/Value database benchmark. ⭐️ 11 🍴 0
- skynet - Skynet 1M threads microbenchmark. ⭐️ 617 🍴 93
- speedtest-resize - Compare various Image resize algorithms for the Go language. ⭐️ 71 🍴 6
Conferences
- dotGo - Paris, France
- GoCon - Tokyo, Japan
- GolangUK - London, UK
- GopherChina - Shanghai, China
- GopherCon - Denver, USA
- GopherCon Dubai - Dubai, UAE
- GopherCon India - Bengaluru, India
- GothamGo - New York City, USA
E-Books
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- Go Bootcamp
- GoBooks - A curated list of Go books ⭐️ 2193 🍴 238
- Learning Go
- Network Programming With Go
- The Go Programming Language
Websites
- Awesome Remote Job - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. ⭐️ 5577 🍴 521
- awesome-awesomeness - List of other amazingly awesome lists. ⭐️ 16383 🍴 1986
- Flipboard - Go Magazine - A collection of Go articles and tutorials.
- Go Blog - The official Go blog.
- Go Forum - Forum to discuss Go.
- Go Projects - List of projects on the Go community wiki. ⭐️ 17443 🍴 2197
- godoc.org - Documentation for open source Go packages.
- golang-graphics - A collection of Go images, graphics, and art. ⭐️ 78 🍴 3
- golang-nuts - Go mailing list.
- Google Plus Community - The Google+ community for #golang enthusiasts.
- gowalker.org - Go Project API documentation.
- r/Golang - News about Go.
- Trending Go repositories on GitHub today - Good place to find new Go libraries.
Tutorials
- A Tour of Go - Interactive tour of Go.
- Go By Example - A hands-on introduction to Go using annotated example programs.
- Go database/sql tutorial - Introduction to database/sql.
- Working with Go - An intro to go for experienced programmers. ⭐️ 515 🍴 44
Windows
from https://github.com/hvnsweeting/fucking-awesome-go---------
使用restic备份vps数据
Restic是一个用Go开发的跨平台数据备份神器,支持众多后端存储服务,例如Local/SFTP/GoogleCloudStorage等等。并且所有备份数据都经过加密,非常安全。
本文将介绍使用SFTP的方式备份一个WordPress博客的站点文件+数据库。
生产机器:157.245.202.243/备份机器:157.245.194.243
首先在生产机器上安装Restic:
wget https://github.com/restic/restic/releases/download/v0.9.5/restic_0.9.5_linux_amd64.bz2 bzip2 -d restic_0.9.5_linux_amd64.bz2 mv restic_0.9.5_linux_amd64 /usr/bin/restic chmod +x /usr/bin/restic生成SSH密匙对(一路回车即可):
ssh-keygen -b 4096将公钥拷贝到备份机器:
ssh-copy-id root@157.245.194.243创建两个存储库(一个用于备份站点文件,一个用于备份数据库)
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress init restic -r sftp:157.245.194.243:/opt/restic-repo/wpsql init将存储库密码写到文件(例如我的两个存储库密码分别是wordpress/wpsql):
echo "wordpress" > ~/restic-password-wordpress echo "wpsql" > ~/restic-password-wpsql注意:一定要妥善保管Restic存储库的密码,忘记这个密码你将无法恢复任何备份。
现在手动备份一次看看是不是正常的,备份网站文件:
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress -p ~/restic-password-wordpress backup /var/www/wordpress备份数据库:
mysqldump --databases wordpress -u -p | restic -r sftp:157.245.194.243:/opt/restic-repo/wpsql -p ~/restic-password-wpsql backup --stdin --stdin-filename wordpress.sql注:
1.restic的-p参数指定对应存储库的密码文件,尤其是在使用mysqldump备份数据库的时候必须指定这个参数,否则无法正常工作。
2.mysqldump的–databases指定你要备份的数据库名。
3.mysqldump的-u指定你的数据库用户名,-p指定你的数据库用户密码,都不要带空格。
查看备份快照:
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress snapshots restic -r sftp:157.245.194.243:/opt/restic-repo/wpsql snapshots从指定快照恢复备份:
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress -p ~/restic-password-wordpress restore 9b678a80 --target /tmp/wordpress直接从最后一次快照恢复备份:
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress -p ~/restic-password-wordpress restore latest --target /tmp/wordpress恢复数据库(同理):
restic -r sftp:157.245.194.243:/opt/restic-repo/wpsql -p ~/restic-password-wpsql restore latest --target /tmp然后使用mysql命令行或者phpmyadmin等工具创建一个同名的空数据库,之后使用下面的命令即可导入数据库:
mysql -uroot -p wordpress < /tmp/wordpress.sql删除快照:
restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress -p ~/restic-password-wordpress forget 9b678a80自动备份,这里可以借助crontab完成:
crontab -e例如每24小时备份一次:
0 0 * * * restic -r sftp:157.245.194.243:/opt/restic-repo/wordpress -p /root/restic-password-wordpress backup /var/www/wordpress 0 0 * * * mysqldump --databases wordpress -u -p | restic -r sftp:157.245.194.243:/opt/restic-repo/wpsql -p /root/restic-password-wpsql backup --stdin --stdin-filename wordpress.sql更多用法可以参考官方的文档:
https://restic.readthedocs.io/en/latest/index.html