This is a processed copy of https://raw.githubusercontent.com/avelino/awesome-go/master/README.md. Updated 2018-07-09
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.
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!
-
- Audio and Music
- Authentication and OAuth
- Command Line
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Structures
- Database
- Database Drivers
- Date and Time
- Distributed Systems
- Embeddable Scripting Languages
- Files
- Financial
- Forms
- Game Development
- Generation and Generics
- Geographic
- Go Compilers
- Goroutines
- GUI
- Hardware
- Images
- IoT
- 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
- XML
Libraries for manipulating audio.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
211 | 14 | 2 | 2 years ago | * waveform - Go package capable of generating waveform images from audio streams. |
198 | 17 | 6 | 26 days ago | * music-theory - Music theory models in Go. |
196 | 38 | 4 | 11 months ago | * PortAudio - Go bindings for the PortAudio audio I/O library. |
169 | 42 | 11 | 11 months ago | * portmidi - Go bindings for PortMidi. |
81 | 14 | 11 | 1 year, 14 days ago | * mix - Sequence-based Go-native audio mixer for music apps. |
77 | 8 | 2 | 9 months ago | * flac - Native Go FLAC decoder. |
73 | 9 | 0 | 1 year, 2 months ago | * mp3 - Native Go MP3 decoder. |
71 | 17 | 6 | 22 days ago | * go-sox - libsox bindings for go. |
64 | 15 | 6 | a month ago | * flac - Native Go FLAC decoder. |
64 | 12 | 6 | a month ago | * id3v2 - Fast and stable ID3 parsing and writing library for Go. |
55 | 16 | 3 | 2 years ago | * taglib - Go bindings for taglib. |
42 | 3 | 4 | 4 months ago | * gaad - Native Go AAC bitstream parser. |
27 | 5 | 0 | 4 days ago | * malgo - Mini audio library. |
20 | 5 | 3 | 8 months ago | * vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). |
17 | 6 | 2 | 2 years ago | * go_mediainfo - libmediainfo bindings for go. |
9 | 0 | 2 | 2 months ago | * minimp3 - Lightweight MP3 decoder library. |
9 | 1 | 0 | 3 months ago | * EasyMIDI - EasyMidi is a simple and reliable library for working with standard midi file (SMF). |
6 | 1 | 0 | a month ago | * gosamplerate - libsamplerate bindings for go. |
Libraries for implementing authentications schemes.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3764 | 373 | 46 | 4 months ago | * jwt-go - Golang implementation of JSON Web Tokens (JWT). |
2573 | 272 | 17 | 5 days ago | * casbin - Authorization library that supports access control models like ACL, RBAC, ABAC. |
1768 | 202 | 32 | 2 days ago | * goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box. |
1674 | 417 | 58 | 18 days ago | * oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. |
1461 | 97 | 5 | a month ago | * authboss - Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. |
1433 | 291 | 47 | a month ago | * osin - Golang OAuth2 server library. |
893 | 117 | 19 | a month ago | * go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. |
878 | 118 | 9 | 29 days ago | * go-oauth2-server - Standalone, specification-compliant, OAuth2 server written in Golang. |
852 | 46 | 0 | a month ago | * gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers. |
740 | 109 | 3 | 8 months ago | * gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang. |
603 | 51 | 16 | a month ago | * loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam. |
269 | 21 | 0 | 15 days ago | * permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. |
207 | 53 | 18 | a month ago | * Go-AWS-Auth - AWS (Amazon Web Services) request signing library. |
147 | 16 | 2 | 2 years ago | * httpauth - HTTP Authentication middleware. |
126 | 6 | 2 | a month ago | * paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO) |
118 | 14 | 0 | 5 months ago | * jwt-auth - JWT middleware for Golang http servers with many configuration options. |
89 | 11 | 3 | 4 years ago | * yubigo - Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. |
62 | 6 | 4 | 3 months ago | * session - Go session management for web servers (including support for Google App Engine - GAE). |
44 | 9 | 7 | 4 months ago | * jwt - Clean and easy to use implementation of JSON Web Tokens (JWT). |
30 | 0 | 1 | 7 months ago | * sessions - Dead simple, highly performant, highly customizable sessions service for go http servers. |
19 | 3 | 2 | 10 days ago | * securecookie - Efficient secure cookie encoding/decoding. |
5 | 0 | 0 | 4 months ago | * sessiongate-go - Go session management using the SessionGate Redis module. |
5 | 0 | 0 | a day ago | * jwt - Lightweight JSON Web Token (JWT) library. |
5 | 0 | 0 | 4 months ago | * signedvalue - Signed and timestamped strings compatible with Tornado's create_signed_value , decode_signed_value , and therefore set_secure_cookie and get_secure_cookie . |
1 | 0 | 0 | 8 months ago | * cookiestxt - provides parser of cookies.txt file format. |
Libraries for building standard or basic Command Line applications.
- climax - Alternative CLI with "human face", in spirit of Go command.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
8450 | 742 | 120 | 4 months ago | * urfave/cli - Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). |
8059 | 661 | 132 | 10 days ago | * cobra - Commander for modern Go CLI interactions. |
4189 | 315 | 215 | 5 days ago | * drive - Google Drive client for the commandline. |
1923 | 147 | 15 | 3 months ago | * kingpin - Command line and flag parser supporting sub commands. |
1175 | 100 | 41 | a month ago | * readline - Pure golang implementation that provides most features in GNU-Readline under MIT license. |
1072 | 140 | 21 | 3 months ago | * go-flags - go command line option parser. |
954 | 76 | 18 | 5 months ago | * docopt.go - Command-line arguments parser that will make you smile. |
830 | 69 | 9 | 2 months ago | * mitchellh/cli - Go library for implementing command-line interfaces. |
826 | 71 | 21 | 1 year, 5 months ago | * cli-init - The easy way to start building Golang command line applications. |
527 | 41 | 9 | a month ago | * mow.cli - Go library for building CLI applications with sophisticated flag and argument parsing and validation. |
503 | 28 | 2 | a month ago | * go-arg - Struct-based argument parsing in Go. |
468 | 27 | 1 | 2 months ago | * complete - Write bash completions in Go + Go command bash completion. |
452 | 64 | 0 | 20 days ago | * liner - Go readline-like library for command-line interfaces. |
425 | 120 | 23 | a month ago | * pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. |
383 | 31 | 16 | 1 year, 3 months ago | * cli - Feature-rich and easy to use command-line package based on golang struct tags. |
86 | 10 | 5 | 2 years ago | * ukautz/clif - Small command line interface framework. |
76 | 1 | 4 | 11 months ago | * flag - Simple but powerful command line option parsing library for Go supporting subcommand. |
62 | 2 | 1 | 5 months ago | * commandeer - Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags. |
58 | 5 | 4 | 5 months ago | * sflags - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries. |
50 | 7 | 1 | 6 months ago | * wmenu - Easy to use menu structure for cli applications that prompts users to make choices. |
33 | 5 | 5 | a month ago | * argparse - Command line argument parser inspired by Python's argparse module. |
31 | 2 | 1 | 3 days ago | * cli - Simple and complete API for building command line interfaces in Go. |
25 | 1 | 0 | 23 days ago | * env - Tag-based environment configuration for structs. |
25 | 2 | 0 | 11 months ago | * wlog - Simple logging interface that supports cross-platform color and concurrency. |
20 | 0 | 0 | a month ago | * flagvar - A collection of flag argument types for Go's standard flag package. |
18 | 0 | 0 | 4 months ago | * strumt - Library to create prompt chain. |
14 | 0 | 2 | 3 months ago | * gocmd - Go library for building command line applications. |
9 | 1 | 1 | 1 year, 4 months ago | * argv - Go library to split command line string as arguments array using the bash syntax. |
Libraries for building Console Applications and Console User Interfaces.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
7555 | 435 | 85 | 25 days ago | * termui - Go terminal dashboard based on termbox-go and inspired by blessed-contrib. |
2866 | 240 | 44 | 26 days ago | * termbox-go - Termbox is a library for creating cross-platform text-based interfaces. |
2515 | 162 | 29 | 2 months ago | * gocui - Minimalist Go library aimed at creating Console User Interfaces. |
2506 | 205 | 8 | a month ago | * color - Versatile package for colored terminal output. |
1599 | 57 | 12 | 10 days ago | * go-prompt - Library for building a powerful interactive prompt, inspired by python-prompt-toolkit. |
1362 | 76 | 21 | 27 days ago | * tui-go - Go UI library for building rich terminal applications. |
1135 | 68 | 18 | 1 year, 4 months ago | * uiprogress - Flexible library to render progress bars in terminal applications. |
658 | 31 | 12 | 1 year, 3 months ago | * uilive - Library for updating terminal output in realtime. |
436 | 16 | 2 | 2 years ago | * uitable - Library to improve readability in terminal apps using tabular data. |
306 | 11 | 1 | 2 months ago | * aurora - ANSI terminal colors that supports fmt.Printf/Sprintf. |
291 | 12 | 2 | 3 days ago | * progressbar - Basic thread-safe progress bar that works in every OS. |
283 | 41 | 3 | 3 months ago | * go-colorable - Colorable writer for windows. |
255 | 12 | 2 | 2 years ago | * chalk - Intuitive package for prettifying terminal/console output. |
246 | 29 | 0 | 8 months ago | * go-isatty - isatty for golang. |
241 | 25 | 0 | 21 hours ago | * mpb - Multi progress bar for terminal applications. |
177 | 14 | 7 | 1 year, 3 months ago | * termtables - Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output. |
174 | 14 | 2 | 2 months ago | * go-colortext - Go library for color output in terminals. |
40 | 3 | 0 | 3 months ago | * cfmt - Contextual fmt inspired by bootstrap color classes. |
13 | 2 | 0 | 2 years ago | * colourize - Go library for ANSI colour text in terminals. |
8 | 0 | 0 | a month ago | * tabular - Print ASCII tables from command line utilities without the need to pass large sets of data to the API. |
6 | 1 | 0 | 9 months ago | * go-ataman - Go library for rendering ANSI colored text templates in terminals. |
0 | 0 | 0 | Unknown | * gommon/color - Style terminal text. |
Libraries for configuration parsing.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5670 | 548 | 253 | 2 months ago | * viper - Go configuration with fangs. |
1726 | 154 | 16 | a month ago | * kelseyhightower/envconfig - Go library for managing configuration data from environment variables. |
1275 | 80 | 11 | 3 months ago | * godotenv - Go port of Ruby's dotenv library (Loads environment variables from .env ). |
995 | 146 | 8 | 24 days ago | * ini - Go package to read and write INI files. |
510 | 49 | 3 | 6 days ago | * env - Parse environment variables to Go structs (with defaults). |
224 | 12 | 2 | 10 months ago | * store - Lightweight configuration manager for Go. |
191 | 8 | 0 | 1 year, 2 months ago | * joshbetz/config - Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. |
164 | 31 | 3 | 14 days ago | * config - JSON or YAML configuration wrapper with environment variables and flags parsing. |
145 | 5 | 4 | 11 days ago | * confita - Load configuration in cascade from multiple backends into a struct. |
130 | 12 | 2 | 5 months ago | * hjson - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. |
119 | 10 | 0 | 1 year, 4 months ago | * envconfig - Read your configuration from environment variables. |
90 | 20 | 2 | a month ago | * gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections. |
87 | 7 | 0 | 1 year, 20 days ago | * envcfg - Un-marshaling environment variables to Go structs. |
85 | 0 | 0 | 6 months ago | * envh - Helpers to manage environment variables. |
73 | 10 | 4 | 2 months ago | * goConfig - Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. |
52 | 7 | 0 | 1 year, 2 months ago | * gofigure - Go application configuration made easy. |
39 | 6 | 2 | 1 year, 12 days ago | * configure - Provides configuration through multiple sources, including JSON, flags and environment variables. |
18 | 1 | 0 | 1 year, 3 months ago | * ingo - Flags persisted in an ini-like config file. |
17 | 4 | 1 | 1 year, 6 months ago | * mini - Golang package for parsing ini-style configuration files. |
13 | 0 | 1 | a month ago | * go-up - A simple configuration library with recursive placeholders resolution and no magic. |
6 | 2 | 0 | 3 years ago | * envconf - Configuration from environment. |
5 | 0 | 1 | 11 months ago | * xdg - Cross platform package that follows the XDG Standard. |
0 | 0 | 0 | Unknown | * gone/jconf - Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization. |
Tools for help with continuous integration.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
14863 | 1546 | 119 | 2 months ago | * drone - Drone is a Continuous Integration platform built on Docker, written in Go. |
488 | 78 | 13 | 7 days ago | * goveralls - Go integration for Coveralls.io continuous code coverage tracking system. |
91 | 21 | 1 | 5 months ago | * overalls - Multi-Package go project coverprofile for tools like goveralls. |
9 | 0 | 0 | 7 months ago | * roveralls - Recursive coverage testing tool. |
6 | 0 | 1 | 13 days ago | * gomason - Test, Build, Sign, and Publish your go binaries from a clean workspace. |
Libraries for preprocessing CSS files.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
407 | 26 | 47 | 11 months ago | * c6 - High performance SASS compatible-implementation compiler written in Go. |
405 | 25 | 9 | 3 years ago | * gcss - Pure Go CSS Preprocessor. |
89 | 16 | 8 | 14 days ago | * go-libsass - Go wrapper to the 100% Sass compatible libsass project. |
Generic datastructures and algorithms in Go.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
4316 | 424 | 16 | 21 days ago | * gods - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. |
4237 | 452 | 15 | 27 days ago | * go-datastructures - Collection of useful, performant, and thread-safe data structures. |
948 | 57 | 6 | 2 months ago | * boomfilters - Probabilistic data structures for processing continuous, unbounded streams. |
778 | 87 | 4 | a month ago | * golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go. |
589 | 28 | 0 | 3 months ago | * hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction. |
560 | 61 | 29 | 8 months ago | * gota - Implementation of dataframes, series, and data wrangling methods for Go. |
486 | 78 | 5 | 1 year, 2 months ago | * willf/bloom - Go package implementing Bloom filters. |
427 | 42 | 42 | 9 days ago | * roaring - Go package implementing compressed bitsets. |
372 | 70 | 4 | 2 months ago | * bitset - Go package implementing bitsets. |
324 | 20 | 4 | 5 months ago | * cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. |
279 | 32 | 3 | 2 years ago | * go-geoindex - In-memory geo index. |
276 | 37 | 8 | 4 months ago | * trie - Trie implementation in Go. |
265 | 16 | 5 | 2 years ago | * mafsa - MA-FSA implementation with Minimal Perfect Hashing. |
161 | 34 | 2 | 3 years ago | * goskiplist - Skip list implementation in Go. |
131 | 21 | 2 | 7 months ago | * hilbert - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. |
114 | 9 | 1 | 2 years ago | * bloom - Bloom filters implemented in Go. |
85 | 13 | 1 | 8 months ago | * binpacker - Binary packer and unpacker helps user build custom binary stream. |
83 | 8 | 1 | 6 months ago | * encoding - Integer Compression Libraries for Go. |
79 | 1 | 0 | 21 days ago | * go-rquad - Region quadtrees with efficient point location and neighbour finding. |
70 | 10 | 1 | 4 months ago | * merkletree - Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures. |
57 | 5 | 1 | 3 months ago | * ttlcache - In-memory LRU string-interface{} map with expiration for golang. |
55 | 10 | 1 | 3 years ago | * skiplist - Skiplist implementation in Go. |
37 | 3 | 0 | 1 year, 4 months ago | * count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). |
35 | 4 | 1 | 6 months ago | * conjungo - A small, powerful and flexible merge library. |
34 | 7 | 0 | 1 year, 3 months ago | * go-adaptive-radix-tree - Go implementation of Adaptive Radix Tree. |
34 | 7 | 0 | a month ago | * algorithms - Algorithms and data structures.CLRS study. |
20 | 4 | 0 | 3 months ago | * bit - Golang set data structure with bonus bit-twiddling functions. |
17 | 1 | 0 | 4 months ago | * levenshtein - Implementation to calculate levenshtein distance in Go. |
12 | 0 | 0 | 1 year, 4 months ago | * levenshtein - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. |
9 | 1 | 0 | 2 months ago | * go-mcache - Fast in-memory key:value store/cache library. Pointer caches. |
6 | 0 | 0 | 9 months ago | * go-ef - A Go implementation of the Elias-Fano encoding. |
6 | 2 | 0 | 10 months ago | * goset - A useful Set collection implementation for Go. |
6 | 0 | 0 | 7 months ago | * concurrent-writer - Highly concurrent drop-in replacement for bufio.Writer . |
5 | 3 | 0 | 1 year, 1 month ago | * bloom - Golang Bloom filter implementation. |
2 | 1 | 0 | a month ago | * deque - Fast ring-buffer deque (double-ended queue). |
1 | 0 | 0 | a month ago | * mspm - Multi-String Pattern Matching Algorithm for information retrieval. |
Databases implemented in Go.
Database schema migration.
Database tools.
SQL query builder, libraries for building and using SQL.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
17418 | 2265 | 294 | 2 days ago | * prometheus - Monitoring system and time series database. |
13958 | 1904 | 454 | 6 hours ago | * tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1. |
13772 | 1434 | 1909 | 8 hours ago | * cockroach - Scalable, Geo-Replicated, Transactional Datastore. |
13766 | 1996 | 764 | 16 hours ago | * influxdb - Scalable datastore for metrics, events, and real-time analytics. |
8731 | 762 | 84 | 4 months ago | * bolt - Low-level key/value database for Go. |
6553 | 769 | 12 | a month ago | * groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. |
6239 | 808 | 211 | 11 hours ago | * vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. |
5885 | 396 | 165 | 3 days ago | * dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database. |
5130 | 368 | 33 | 12 days ago | * pgweb - Web-based PostgreSQL database browser. |
5068 | 408 | 194 | 17 hours ago | * jaeger - A distributed tracing system. |
3944 | 227 | 20 | 19 days ago | * badger - Fast key-value store in Go. |
3861 | 203 | 50 | 4 days ago | * rqlite - The lightweight, distributed, relational database built on SQLite. |
3594 | 728 | 66 | a month ago | * kingshard - kingshard is a high performance proxy for MySQL powered by Golang. |
2602 | 307 | 96 | 2 months ago | * ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB. |
2336 | 306 | 31 | a day ago | * goleveldb - Implementation of the LevelDB key/value database in Go. |
2091 | 200 | 19 | 6 months ago | * tiedot - Your NoSQL database powered by Golang. |
1939 | 137 | 2 | 2 months ago | * buntdb - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. |
1753 | 283 | 34 | a month ago | * go-cache - In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. |
1738 | 85 | 58 | 9 days ago | * pREST - Serve a RESTful API from any PostgreSQL database. |
1677 | 145 | 58 | 15 days ago | * xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. |
1577 | 135 | 45 | 18 days ago | * Squirrel - Go library that helps you build SQL queries. |
1548 | 120 | 10 | 2 months ago | * BigCache - Efficient key/value cache for gigabytes of data. |
1507 | 309 | 112 | 21 days ago | * go-mysql-elasticsearch - Sync your MySQL data into Elasticsearch automatically. |
1438 | 213 | 120 | a day ago | * orchestrator - MySQL replication topology manager & visualizer. |
1105 | 286 | 52 | 13 hours ago | * go-mysql - Go toolset to handle MySQL protocol and replication. |
978 | 106 | 42 | 5 days ago | * sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata. |
608 | 52 | 5 | 3 months ago | * diskv - Home-grown disk-backed key-value store. |
557 | 223 | 4 | 2 months ago | * cache2go - In-memory key:value cache which supports automatic invalidation based on timeouts. |
518 | 26 | 41 | 7 days ago | * moss - Moss is a simple LSM key-value storage engine written in 100% Go. |
518 | 51 | 28 | 1 year, 3 months ago | * dat - Go Postgres Data Access Toolkit. |
485 | 18 | 2 | 9 months ago | * eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. |
451 | 54 | 13 | 8 months ago | * GCache - Cache library with support for expirable Cache, LFU, LRU and ARC. |
427 | 44 | 16 | 6 months ago | * goqu - Idiomatic SQL builder and query library. |
373 | 46 | 23 | 3 days ago | * migrate - Database migrations. CLI and Golang library. |
359 | 21 | 3 | 2 years ago | * Dotsql - Go library that helps you keep sql files in one place and use them with ease. |
340 | 38 | 0 | 12 days ago | * gendry - Non-invasive SQL builder and powerful data binder. |
333 | 71 | 3 | 1 year, 7 months ago | * levigo - Levigo is a Go wrapper for LevelDB. |
241 | 34 | 15 | 23 days ago | * ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities. |
164 | 15 | 3 | a month ago | * gormigrate - Database schema migration helper for Gorm ORM. |
160 | 17 | 9 | 3 months ago | * piladb - Lightweight RESTful database engine based on stack data structures. |
135 | 9 | 0 | 26 days ago | * chproxy - HTTP proxy for ClickHouse database. |
132 | 12 | 6 | 2 years ago | * scaneo - Generate Go code to convert database rows into arbitrary structs. |
117 | 14 | 3 | a month ago | * sqrl - SQL query builder, fork of Squirrel with improved performance. |
105 | 34 | 4 | 3 years ago | * myreplication - MySql binary log replication listener. Supports statement and row based replication. |
79 | 1 | 1 | 2 months ago | * Vasto - A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption. |
76 | 9 | 5 | 1 year, 11 months ago | * goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. |
67 | 14 | 2 | 2 months ago | * clickhouse-bulk - Collects small insterts and sends big requests to ClickHouse servers. |
66 | 2 | 0 | 8 days ago | * igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax. |
60 | 7 | 1 | 1 year, 4 months ago | * darwin - Database schema evolution library for Go. |
45 | 25 | 0 | 2 months ago | * godbal - Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily. |
35 | 2 | 0 | 17 days ago | * slowpoke - Key-value store with persistence. |
33 | 1 | 0 | 8 months ago | * couchcache - RESTful caching micro-service backed by Couchbase server. |
29 | 3 | 7 | 1 year, 6 months ago | * forestdb - Go bindings for ForestDB. |
23 | 1 | 1 | 5 months ago | * clusteredBigCache - BigCache with clustering support and individual item expiration. |
21 | 2 | 30 | 3 years ago | * pravasan - Simple Migration tool - currently for MySQL but planning to soon support Postgres, SQLite, MongoDB, etc. |
19 | 1 | 0 | 6 months ago | * prep - Use prepared SQL statements without changing your code. |
17 | 0 | 3 | 3 days ago | * gondolier - Gondolier is a library to auto migrate database schemas using structs. |
14 | 4 | 0 | a month ago | * go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library. |
11 | 1 | 0 | 4 months ago | * tempdb - Key-value store for temporary items. |
8 | 0 | 0 | 7 months ago | * rwdb - rwdb provides read replica capability for multiple database servers setup. |
4 | 0 | 0 | 5 months ago | * gorocksdb - Gorocksdb is a wrapper for RocksDB written in Go. |
0 | 0 | 0 | a month ago | * Scribble - Tiny flat file JSON store. |
0 | 0 | 0 | Unknown | * soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. |
Libraries for connecting and operating databases.
-
Relational Databases
-
NoSQL Databases
- gocql - Go language driver for Apache Cassandra.
-
Search and Analytic Databases.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
11489 | 1010 | 72 | 5 days ago | * cayley - Graph database with support for multiple backends. |
5686 | 1137 | 59 | 21 days ago | * go-sql-driver/mysql - MySQL driver for Go. |
4620 | 700 | 7 | 12 days ago | * redigo - Redigo is a Go client for the Redis database. |
4461 | 355 | 130 | 11 days ago | * bleve - Modern text indexing library for go. |
3997 | 539 | 174 | a month ago | * pq - Pure Go Postgres driver for database/sql. |
3648 | 168 | 18 | 4 days ago | * riot - Go Open Source, Distributed, Simple and efficient Search Engine |
3646 | 528 | 22 | 10 days ago | * redis - Redis client for Golang. |
2700 | 555 | 11 | 6 days ago | * elastic - Elasticsearch client for Go. |
2574 | 532 | 20 | 8 days ago | * go-sqlite3 - SQLite3 driver for go that uses database/sql. |
1422 | 160 | 68 | 30 days ago | * pgx - PostgreSQL driver supporting features beyond those exposed by database/sql. |
1340 | 148 | 14 | 6 months ago | * gorethink - Go language driver for RethinkDB. |
909 | 253 | 78 | 1 year, 5 months ago | * elastigo - Elasticsearch client library. |
834 | 83 | 10 | 24 days ago | * 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 |
762 | 180 | 64 | a day ago | * go-mssqldb - Microsoft MSSQL driver for Go. |
603 | 49 | 7 | 9 days ago | * mongo-go-driver - Official MongoDB driver for the Go language. |
564 | 209 | 17 | 1 year, 11 months ago | * redis - Simple, powerful Redis client for Go. |
336 | 53 | 17 | 1 year, 4 months ago | * neoism - Neo4j client for Golang. |
302 | 152 | 70 | a month ago | * go-oci8 - Oracle driver for go that uses database/sql. |
276 | 82 | 36 | 2 months ago | * go-couchbase - Couchbase client in Go. |
265 | 110 | 17 | 27 days ago | * aerospike-client-go - Aerospike client in Go language. |
254 | 72 | 2 | 5 days ago | * gocb - Official Couchbase Go SDK. |
208 | 17 | 0 | 2 months ago | * redis - Redis-protocol compatible TCP servers/services. |
188 | 40 | 4 | 6 months ago | * elasticsql - Convert sql to elasticsearch dsl in Go. |
101 | 19 | 7 | 6 days ago | * goracle - Oracle driver for Go, using the ODPI-C driver |
81 | 23 | 11 | a month ago | * firebirdsql - Firebird RDBMS SQL driver for Go. |
75 | 23 | 9 | a month ago | * go-adodb - Microsoft ActiveX Object DataBase driver for go that uses database/sql. |
67 | 13 | 0 | 19 days ago | * Neo4j-GO - Neo4j REST Client in golang. |
67 | 35 | 12 | 2 months ago | * gofreetds - Microsoft MSSQL driver. Go wrapper over FreeTDS. |
60 | 15 | 4 | 9 months ago | * arangolite - Lightweight golang driver for ArangoDB. |
57 | 12 | 2 | 1 year, 3 months ago | * dynago - Dynago is a principle of least surprise client for DynamoDB. |
51 | 7 | 0 | 2 years ago | * skizze - probabilistic data-structures service and storage. |
46 | 32 | 16 | 4 years ago | * go-couchdb - Yet another CouchDB HTTP API wrapper for Go. |
23 | 8 | 3 | 1 year, 4 months ago | * goes - Library to interact with Elasticsearch. |
22 | 2 | 4 | 7 months ago | * goriak - Go language driver for Riak KV. |
22 | 3 | 8 | 3 years ago | * neo4j - Neo4j Rest API Bindings for Golang. |
13 | 6 | 0 | 16 days ago | * avatica - Apache Avatica/Phoenix SQL driver for database/sql. |
7 | 2 | 0 | a month ago | * bgc - Datastore Connectivity for BigQuery for go. |
7 | 1 | 0 | a month ago | * xredis - Typesafe, customizable, clean & easy to use Redis client. |
5 | 2 | 0 | 18 days ago | * dsc - Datastore connectivity for SQL, NoSQL, structured files. |
3 | 1 | 0 | a month ago | * asc - Datastore Connectivity for Aerospike for go. |
2 | 2 | 0 | a month ago | * godscache - A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached. |
0 | 0 | 0 | Unknown | * gomemcache - memcache client library for the Go programming language. |
Libraries for working with dates and times.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1733 | 91 | 4 | a month ago | * now - Now is a time toolkit for golang. |
646 | 26 | 7 | 8 days ago | * dateparse - Parse date's without knowing format in advance. |
210 | 19 | 5 | 14 days ago | * carbon - Simple Time extension with a lot of util methods, ported from PHP Carbon library. |
182 | 17 | 0 | a month ago | * durafmt - Time duration formatting library for Go. |
143 | 5 | 0 | 2 years ago | * timeutil - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. |
49 | 5 | 2 | 2 years ago | * timespan - For interacting with intervals of time, defined as a start time and a duration. |
33 | 4 | 0 | 1 year, 11 months ago | * go-persian-calendar - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). |
15 | 3 | 0 | 4 months ago | * date - Augments Time for working with dates, date ranges, time spans, periods, and time-of-day. |
14 | 6 | 0 | 1 year, 6 months ago | * goweek - Library for working with week entity in golang. |
13 | 2 | 1 | a month ago | * feiertage - Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving... |
6 | 2 | 0 | 1 year, 3 months ago | * NullTime - Nullable time.Time . |
5 | 1 | 1 | 10 months ago | * tuesday - Ruby-compatible Strftime function. |
4 | 1 | 0 | 7 months ago | * go-sunrise - Calculate the sunrise and sunset times for a given location. |
1 | 0 | 0 | 4 months ago | * strftime - C99-compatible strftime formatter. |
Packages that help with building Distributed Systems.
* [dht](https://godoc.org/github.com/anacrolix/dht) - BitTorrent Kademlia DHT implementation.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
10491 | 1088 | 43 | 19 days ago | * go-kit - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. |
5910 | 1135 | 101 | 2 days ago | * grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC. |
4618 | 360 | 1 | 2 days ago | * micro - Pluggable microservice toolkit and distributed systems platform. |
4308 | 473 | 39 | 3 days ago | * NATS - Lightweight, high performance messaging system for microservices, IoT, and cloud native systems. |
2507 | 437 | 5 | 7 hours ago | * rpcx - Distributed pluggable RPC service framework like alibaba Dubbo. |
2301 | 254 | 17 | 2 days ago | * torrent - BitTorrent client package. |
2105 | 170 | 9 | 11 months ago | * glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. |
1995 | 435 | 264 | 4 days ago | * tendermint - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. |
1959 | 246 | 84 | 4 months ago | * raft - Golang implementation of the Raft consensus protocol, by HashiCorp. |
1427 | 129 | 18 | 2 months ago | * gleam - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed. |
1256 | 91 | 14 | a month ago | * emitter-io - High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love. |
782 | 150 | 12 | a month ago | * hprose - Very newbility RPC Library, support 25+ languages now. |
559 | 57 | 8 | a day ago | * KrakenD - Ultra performant API Gateway framework with middlewares. |
521 | 33 | 11 | 27 days ago | * heimdall - An enchanced http client with retry and hystrix capabilities. |
472 | 56 | 13 | 2 years ago | * gorpc - Simple, fast and scalable RPC library for high load. |
469 | 33 | 26 | 24 days ago | * ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. |
321 | 51 | 8 | 1 year, 11 months ago | * go-peerflix - Video streaming torrent client. |
270 | 16 | 0 | 3 months ago | * sleuth - Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ). |
217 | 22 | 13 | 8 months ago | * digota - grpc ecommerce microservice. |
194 | 11 | 4 | a month ago | * go-health - Library for enabling asynchronous dependency health checks in your service. |
192 | 13 | 1 | 1 year, 2 months ago | * go-jump - Port of Google's "Jump" Consistent Hash function. |
108 | 3 | 1 | 2 months ago | * consistent - Consistent hashing with bounded loads. |
69 | 3 | 1 | 3 months ago | * jsonrpc - The jsonrpc package helps implement of JSON-RPC 2.0. |
64 | 22 | 1 | a month ago | * redis-lock - Simplified distributed locking implementation using Redis. |
46 | 21 | 0 | 2 months ago | * jsonrpc - JSON-RPC 2.0 HTTP client implementation. |
37 | 3 | 0 | 4 months ago | * celeriac - Library for adding support for interacting and monitoring Celery workers, tasks and events in Go. |
36 | 2 | 0 | 7 months ago | * flowgraph - MPI-style ready-send coordination layer. |
20 | 13 | 1 | a month ago | * drmaa - Job submission library for cluster schedulers based on the DRMAA standard. |
0 | 0 | 0 | Unknown | * raft - Go implementation of the Raft consensus protocol, by CoreOS. |
Libraries and tools that implement email creation and sending.
- chasquid - SMTP server written in Go.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3586 | 227 | 94 | 1 year, 2 months ago | * MailHog - Email and SMTP testing with web and API interface. |
1275 | 59 | 10 | 5 months ago | * hermes - Golang package that generates clean, responsive HTML e-mails. |
903 | 112 | 17 | 5 months ago | * email - A robust and flexible email library for Go. |
447 | 57 | 24 | a month ago | * go-imap - IMAP library for clients and servers. |
363 | 131 | 60 | 4 months ago | * SendGrid - SendGrid's Go library for sending email. |
144 | 17 | 10 | 2 months ago | * Hectane - Lightweight SMTP client providing an HTTP API. |
121 | 22 | 8 | 3 months ago | * douceur - CSS inliner for your HTML emails. |
52 | 14 | 4 | 3 months ago | * go-message - Streaming library for the Internet Message Format and mail messages. |
44 | 7 | 3 | 1 year, 7 months ago | * smtp - SMTP server protocol state machine. |
38 | 15 | 1 | 7 months ago | * go-dkim - DKIM library, to sign & verify email. |
0 | 0 | 0 | Unknown | * Gomail - Gomail is a very simple and powerful package to send emails. |
Embedding other languages inside your go code.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3877 | 347 | 85 | 22 days ago | * otto - JavaScript interpreter written in Go. |
2198 | 224 | 21 | 9 days ago | * gopher-lua - Lua 5.1 VM and compiler written in Go. |
1274 | 86 | 30 | a month ago | * go-lua - Port of the Lua 5.2 VM to pure Go. |
693 | 58 | 22 | 5 days ago | * anko - Scriptable interpreter written in Go. |
689 | 75 | 19 | 3 months ago | * go-python - naive go bindings to the CPython C-API. |
583 | 66 | 6 | 4 months ago | * go-duktape - Duktape JavaScript engine bindings for Go. |
491 | 65 | 9 | 21 days ago | * go-php - PHP bindings for Go. |
394 | 118 | 10 | 4 months ago | * golua - Go bindings for Lua C API. |
393 | 26 | 2 | 4 years ago | * gisp - Simple LISP in Go. |
298 | 30 | 20 | 3 years ago | * agora - Dynamically typed, embeddable programming language in Go. |
22 | 2 | 2 | 3 years ago | * purl - Perl 5.18.2 embedded in Go. |
16 | 2 | 1 | 1 year, 3 months ago | * binder - Go to Lua binding library, based on gopher-lua. |
13 | 1 | 1 | a month ago | * ngaro - Embeddable Ngaro VM implementation enabling scripting in Retro. |
Libraries for handling files and file systems.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1543 | 158 | 49 | a month ago | * afero - FileSystem Abstraction System for Go. |
361 | 41 | 28 | 13 days ago | * notify - File system event notification library with simple API, similar to os/signal. |
31 | 3 | 0 | 11 months ago | * skywalker - Package to allow one to concurrently go through a filesystem with ease. |
24 | 9 | 0 | 17 days ago | * go-csv-tag - Load csv file using tag. |
23 | 1 | 0 | 1 year, 3 months ago | * tarfs - Implementation of the FileSystem interface for tar files. |
5 | 4 | 1 | 7 months ago | * go-gtfs - Load gtfs files in go. |
Packages for accounting and finance.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
995 | 158 | 28 | a month ago | * decimal - Arbitrary-precision fixed-point decimal numbers. |
546 | 45 | 4 | 4 months ago | * go-finance - Comprehensive financial markets data in Go. |
443 | 28 | 2 | 6 days ago | * go-money - Implementation of Fowler's Money pattern. |
385 | 23 | 2 | 6 days ago | * accounting - money and currency formatting for golang. |
48 | 4 | 0 | 2 months ago | * techan - Technical analysis library with advanced market analysis and trading strategies. |
43 | 3 | 3 | a month ago | * vat - VAT number validation & EU VAT rates. |
39 | 2 | 0 | 2 months ago | * ofxgo - Query OFX servers and/or parse the responses (with example command-line client). |
21 | 2 | 0 | 4 months ago | * transaction - Embedded transactional database of accounts, running in multithreaded mode. |
16 | 4 | 0 | 2 months ago | * go-finance - Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. |
Libraries for working with forms.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
868 | 57 | 5 | 8 months ago | * nosurf - CSRF protection middleware for Go. |
676 | 58 | 8 | 9 months ago | * binding - Binds form and JSON data from net/http Request to struct. |
289 | 46 | 5 | 18 days ago | * gorilla/csrf - CSRF protection for Go web applications & services. |
273 | 12 | 4 | 2 months ago | * form - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. |
128 | 13 | 1 | 23 days ago | * conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. |
100 | 5 | 2 | 10 months ago | * formam - decode form's values into a struct. |
87 | 7 | 2 | 1 year, 4 months ago | * forms - Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. |
19 | 3 | 0 | 3 years ago | * bind - Bind form data to any Go values. |
Awesome game development libraries.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2211 | 634 | 7 | 13 days ago | * Leaf - Lightweight game server framework. |
1455 | 77 | 22 | 13 days ago | * Pixel - Hand-crafted 2D game library in Go. |
935 | 285 | 0 | 1 year, 1 month ago | * gonet - Game server skeleton implemented with golang. |
917 | 73 | 111 | 2 days ago | * Ebiten - dead simple 2D game library in Go. |
908 | 108 | 16 | 21 days ago | * go-sdl2 - Go bindings for the Simple DirectMedia Layer. |
875 | 52 | 7 | 8 months ago | * termloop - Terminal-based game engine for Go, built on top of Termbox. |
806 | 72 | 29 | 29 days ago | * engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. |
693 | 120 | 11 | 2 days ago | * goworld - Scalable game server engine, featuring space-entity framework and hot-swapping |
610 | 84 | 3 | 2 days ago | * nano - Lightweight, facility, high performance golang based game server framework |
493 | 19 | 18 | 4 months ago | * Oak - Pure Go game engine. |
373 | 25 | 78 | 14 days ago | * Azul3D - 3D game engine written in Go. |
295 | 24 | 4 | 4 years ago | * GarageEngine - 2d game engine written in Go working on OpenGL. |
257 | 26 | 0 | 8 months ago | * go-astar - Go implementation of the A* path finding algorithm. |
236 | 17 | 8 | 6 days ago | * raylib-go - Go bindings for raylib, a simple and easy-to-use library to learn videogames programming. |
138 | 16 | 0 | 2 months ago | * go3d - Performance oriented 2D/3D math package for Go. |
77 | 7 | 3 | 2 years ago | * glop - Glop (Game Library Of Power) is a fairly simple cross-platform game library. |
12 | 0 | 1 | 4 years ago | * go-collada - Go package for working with the Collada file format. |
Tools to enhance the language with features like generics via code generation.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1462 | 92 | 0 | 1 year, 4 months ago | * go-linq - .NET LINQ-like query methods for Go. |
895 | 65 | 29 | 27 days ago | * gen - Code generation tool for ‘generics’-like functionality. |
742 | 36 | 0 | 18 days ago | * jennifer - Generate arbitrary Go code without templates. |
580 | 19 | 15 | 4 days ago | * goderive - Derives functions from input types. |
139 | 5 | 1 | 1 year, 25 days ago | * interfaces - Command line tool for generating interface definitions. |
66 | 9 | 0 | 10 months ago | * pkgreflect - Go preprocessor for package scoped reflection. |
48 | 4 | 1 | 30 days ago | * go-enum - Code generation for enums from code comments. |
32 | 6 | 1 | 8 months ago | * efaceconv - Code generation tool for high performance conversion from interface{} to immutable type without allocations. |
Geographic tools and servers
stars | forks | issues | last_commit | description |
---|---|---|---|---|
4746 | 237 | 67 | 22 days ago | * Tile38 - Geolocation DB with spatial index and realtime geofencing. |
649 | 69 | 0 | 2 months ago | * S2 geometry - S2 geometry library in Go. |
85 | 2 | 0 | 2 years ago | * geocache - In-memory cache that is suitable for geolocation based applications. |
11 | 0 | 0 | a month ago | * osm - Library for reading, writing and working with OpenStreetMap data and APIs. |
6 | 0 | 0 | a month ago | * geoserver - geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API. |
6 | 0 | 0 | 6 months ago | * pbf - OpenStreetMap PBF golang encoder/decoder. |
Tools for compiling Go to other languages.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
7037 | 326 | 189 | 10 days ago | * gopherjs - Compiler from Go to JavaScript. |
898 | 71 | 22 | 3 years ago | * llgo - LLVM-based compiler for Go. |
367 | 23 | 3 | 1 year, 7 months ago | * tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler. |
16 | 5 | 19 | 6 days ago | * c4go - Transpile C code to Go code. |
Tools for managing and working with Goroutines.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1983 | 170 | 24 | 1 year, 3 months ago | * goworker - goworker is a Go-based background worker. |
819 | 65 | 1 | 4 months ago | * tunny - Goroutine pool for golang. |
375 | 29 | 0 | 1 year, 10 months ago | * pool - Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. |
370 | 41 | 2 | 11 months ago | * grpool - Lightweight Goroutine pool. |
141 | 6 | 1 | 5 months ago | * go-floc - Orchestrate goroutines with ease. |
80 | 10 | 0 | 9 months ago | * go-flow - Control goroutines execution order. |
35 | 0 | 0 | 5 months ago | * semaphore - Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations). |
30 | 4 | 19 | 4 months ago | * semaphore - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context. |
28 | 1 | 1 | 2 days ago | * GoSlaves - Simple and Asynchronous Goroutine pool library. |
26 | 6 | 0 | 18 days ago | * workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued. |
15 | 1 | 0 | 6 months ago | * parallel-fn - Run functions in parallel. |
13 | 0 | 0 | 5 months ago | * cyclicbarrier - CyclicBarrier for golang. |
11 | 3 | 0 | 3 months ago | * worker-pool - goworker is a Go simple async worker pool. |
1 | 0 | 0 | a month ago | * go-trylock - TryLock support on read-write lock for Golang. |
Libraries for building GUI Applications.
Toolkits
- go-gtk - Go bindings for GTK.
Interaction
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5538 | 372 | 73 | 3 months ago | * ui - Platform-native GUI library for Go. Cross platform. |
4132 | 276 | 122 | 13 days ago | * qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi). |
2953 | 250 | 29 | 2 days ago | * robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other. |
2701 | 426 | 145 | a month ago | * walk - Windows application library kit for Go. |
2248 | 81 | 6 | a day ago | * app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress. |
2150 | 132 | 79 | 6 days ago | * webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux). |
1698 | 89 | 10 | 2 days ago | * go-astilectron - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron). |
1051 | 121 | 29 | 2 months ago | * go-sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform. |
462 | 62 | 22 | 7 hours ago | * systray - Cross platform Go library to place an icon and menu in the notification area. |
448 | 84 | 32 | 29 days ago | * gotk3 - Go bindings for GTK3. |
434 | 29 | 5 | 5 months ago | * gosx-notifier - OSX Desktop Notifications library for Go. |
128 | 11 | 6 | 1 year, 4 months ago | * trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar. |
126 | 21 | 0 | 25 days ago | * gowd - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform. |
Libraries, tools, and tutorials for interacting with hardware.
See go-hardware for a comprehensive list.
Libraries for manipulating images.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2221 | 68 | 9 | 1 year, 4 months ago | * ln - 3D line art rendering in Go. |
1840 | 175 | 6 | 4 months ago | * resize - Image resizing for Go with common interpolation methods. |
1832 | 184 | 40 | 14 days ago | * imaginary - Fast and simple HTTP microservice for image resizing. |
1752 | 79 | 8 | 2 months ago | * bild - Collection of image processing algorithms in pure Go. |
1693 | 164 | 0 | a month ago | * imaging - Simple Go image processing package. |
1570 | 76 | 4 | 1 year, 20 days ago | * pt - Path tracing engine written in Go. |
1374 | 86 | 12 | 3 months ago | * gg - 2D rendering in pure Go. |
1123 | 58 | 5 | 4 months ago | * smartcrop - Finds good crops for arbitrary images and crop sizes. |
1107 | 150 | 20 | 4 days ago | * gocv - Go package for computer vision using OpenCV 3.3+. |
1074 | 71 | 1 | 8 months ago | * gift - Package of image processing filters. |
1071 | 86 | 6 | 4 months ago | * svgo - Go Language Library for SVG generation. |
960 | 154 | 38 | 10 months ago | * go-opencv - Go bindings for OpenCV. |
953 | 42 | 2 | 1 year, 1 month ago | * geopattern - Create beautiful generative image patterns from a string. |
860 | 78 | 19 | 4 days ago | * picfit - An image resizing server written in Go. |
750 | 100 | 10 | 3 months ago | * imagick - Go binding to ImageMagick's MagickWand C API. |
557 | 106 | 64 | 4 months ago | * bimg - Small package for fast and efficient image processing using libvips. |
255 | 26 | 1 | 3 years ago | * go-nude - Nudity detection with Go. |
255 | 4 | 7 | 2 days ago | * mort - Storage and image processing server written in Go. |
243 | 7 | 6 | 2 months ago | * govatar - Library and CMD tool for generating funny avatars. |
151 | 10 | 1 | 11 months ago | * rez - Image resizing in pure Go and SIMD. |
120 | 5 | 1 | 3 years ago | * img - Selection of image manipulation tools. |
101 | 11 | 3 | a month ago | * goimagehash - Go Perceptual image hashing package. |
72 | 18 | 2 | 2 months ago | * go-cairo - Go binding for the cairo graphics library. |
43 | 11 | 0 | 2 months ago | * go-gd - Go binding for GD library. |
24 | 1 | 0 | 2 years ago | * go-webcolors - Port of webcolors library from Python to Go. |
17 | 9 | 1 | 3 years ago | * tga - Package tga is a TARGA image format decoder/encoder. |
5 | 0 | 0 | 27 days ago | * cameron - An avatar generator for Go. |
4 | 0 | 1 | 8 months ago | * mpo - Decoder and conversion tool for MPO 3D Photos. |
Libraries for programming devices of the IoT.
- periph - Peripherals I/O to interface with low-level board facilities.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
670 | 166 | 41 | 2 years ago | * gatt - Gatt is a Go package for building Bluetooth Low Energy peripherals. |
661 | 93 | 74 | 3 days ago | * flogo - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration. |
205 | 14 | 9 | 2 years ago | * devices - Suite of libraries for IoT devices, experimental for x/exp/io. |
143 | 23 | 38 | 6 months ago | * sensorbee - Lightweight stream processing engine for IoT. |
108 | 10 | 16 | 2 months ago | * connectordb - Open-Source Platform for Quantified Self & IoT. |
52 | 25 | 20 | 7 days ago | * mainflux - Industrial IoT Messaging and Device Management Server. |
18 | 3 | 9 | 1 year, 2 months ago | * eywa - Project Eywa is essentially a connection manager that keeps track of connected devices. |
0 | 0 | 0 | Unknown | * gobot - Gobot is a framework for robotics, physical computing, and the Internet of Things. |
0 | 0 | 0 | Unknown | * iot - IoT is a simple framework for implementing a Google IoT Core device. |
Libraries for generating and working with log files.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
7839 | 1001 | 170 | 7 days ago | * logrus - Structured logger for Go. |
4141 | 281 | 22 | 11 days ago | * zap - Fast, structured, leveled logging in Go. |
2437 | 156 | 19 | 4 months ago | * spew - Implements a deep pretty printer for Go data structures to aid in debugging. |
1851 | 406 | 0 | 2 years ago | * glog - Leveled execution logs for Go. |
1191 | 65 | 11 | 6 days ago | * zerolog - Zero-allocation JSON logger. |
1148 | 195 | 33 | 1 year, 5 months ago | * seelog - Logging functionality with flexible dispatching, filtering, and formatting. |
1124 | 241 | 40 | a month ago | * tail - Go package striving to emulate the features of the BSD tail program. |
890 | 122 | 15 | 9 months ago | * lumberjack - Simple rolling logger, implements io.WriteCloser. |
755 | 92 | 41 | 1 year, 7 months ago | * log15 - Simple, powerful logging for Go. |
555 | 56 | 19 | 7 days ago | * log - Structured logging package for Go. |
326 | 33 | 22 | 1 year, 8 months ago | * logxi - 12-factor app logger that is fast and makes you happy. |
263 | 7 | 0 | 30 days ago | * onelog - Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenario. Also, it is one of the logger with the lowest allocation. |
252 | 17 | 1 | 10 days ago | * log - Simple, configurable and scalable Structured Logging for Go. |
219 | 20 | 2 | 3 years ago | * logutils - Utilities for slightly better logging in Go (Golang) extending the standard logger. |
184 | 27 | 5 | 4 months ago | * go-logger - Simple logger of Go Programs, with level handlers. |
123 | 9 | 2 | 6 months ago | * xlog - Structured logger for net/context aware HTTP handlers with flexible dispatching. |
116 | 13 | 0 | 8 days ago | * logger - Minimalistic logging library for Go. |
90 | 22 | 8 | 2 years ago | * ozzo-log - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). |
79 | 9 | 9 | 1 year, 1 month ago | * log-voyage - Full-featured logging saas written in golang. |
44 | 3 | 1 | 2 years ago | * stdlog - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. |
37 | 6 | 1 | 5 months ago | * gologger - Simple easy to use log lib for go, logs in Colored Console, Simple Console, File or Elasticsearch. |
33 | 6 | 0 | 1 year, 3 months ago | * logex - Golang log lib, supports tracking and level, wrap by standard log lib. |
28 | 11 | 3 | 2 years ago | * go-log - Log4j implementation in Go. |
22 | 12 | 1 | 3 months ago | * logrusly - logrus plug-in to send errors to a Loggly. |
18 | 0 | 0 | 7 months ago | * log - Structured log interface for Go cleanly separates logging facade from its implementation. |
17 | 4 | 0 | 15 hours ago | * glg - glg is simple and fast leveled logging library for Go. |
16 | 9 | 1 | 3 years ago | * go-log - Log lib supports level and multi handlers. |
15 | 11 | 1 | 2 years ago | * mlog - Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. |
12 | 0 | 0 | 4 months ago | * go-cronowriter - Simple writer that rotate log files automatically based on current date and time, like cronolog. |
12 | 0 | 4 | a month ago | * gomol - Multiple-output, structured logging for Go with extensible logging outputs. |
12 | 4 | 0 | 30 days ago | * distillog - distilled levelled logging (think of it as stdlib + log levels). |
7 | 1 | 0 | 3 months ago | * logdump - Package for multi-level logging. |
7 | 1 | 0 | 7 months ago | * journald - Go implementation of systemd Journal's native API for logging. |
5 | 3 | 0 | a month ago | * go-log - Simple and configurable Logging in Go, with level, formatters and writers. |
3 | 0 | 0 | 8 months ago | * logo - Golang logger to different configurable writers. |
3 | 0 | 0 | 1 year, 5 months ago | * xlog - Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format. |
0 | 0 | 0 | Unknown | * gone/log - Fast, extendable, full-featured, std-lib source compatible log library. |
Libraries for Machine Learning.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5722 | 727 | 49 | 7 days ago | * GoLearn - General Machine Learning library for Go. |
1984 | 183 | 42 | 7 days ago | * gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. |
883 | 71 | 5 | 1 year, 8 months ago | * goml - On-line Machine Learning in Go. |
881 | 51 | 0 | 2 months ago | * tfgo - Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python. |
599 | 71 | 33 | 1 year, 7 months ago | * CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. |
556 | 87 | 9 | 1 year, 6 months ago | * bayesian - Naive Bayesian Classification for Golang. |
538 | 75 | 4 | 21 days ago | * gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library. |
497 | 33 | 0 | a month ago | * gago - Multi-population, flexible, parallel genetic algorithm. |
252 | 37 | 5 | 1 year, 2 months ago | * gobrain - Neural Networks written in go. |
215 | 13 | 0 | 3 months ago | * regommend - Recommendation & collaborative filtering engine. |
174 | 7 | 1 | 4 months ago | * go-deep - A feature-rich neural network library in Go. |
157 | 38 | 0 | 2 years ago | * go-galib - Genetic Algorithms library written in Go / golang. |
116 | 11 | 1 | 3 years ago | * goRecommend - Recommendation Algorithms library written in Go. |
114 | 22 | 5 | 5 years ago | * shield - Bayesian text classifier with flexible tokenizers and storage backends for Go. |
95 | 22 | 2 | 3 years ago | * go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library. |
64 | 4 | 0 | 2 years ago | * goga - Genetic algorithm library for Go. |
57 | 9 | 1 | 4 years ago | * neural-go - Multilayer perceptron network implemented in Go, with training via backpropagation. |
55 | 8 | 1 | 2 years ago | * libsvm - libsvm golang version derived work based on LIBSVM 3.14. |
51 | 10 | 0 | 5 years ago | * go-pr - Pattern recognition package in Go lang. |
41 | 5 | 4 | a month ago | * neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT). |
34 | 9 | 0 | 1 year, 2 months ago | * golinear - liblinear bindings for Go. |
18 | 2 | 0 | 3 years ago | * godist - Various probability distributions, and associated methods. |
15 | 7 | 2 | 3 months ago | * goscore - Go Scoring API for PMML. |
14 | 3 | 0 | 2 months ago | * fonet - A Deep Neural Network library written in Go. |
10 | 0 | 0 | 7 months ago | * go-cluster - Go implementation of the k-modes and k-prototypes clustering algorithms. |
10 | 1 | 0 | 6 months ago | * Varis - Golang Neural Network. |
8 | 2 | 4 | 4 years ago | * probab - Probability distribution functions. Bayesian inference. Written in pure Go. |
3 | 0 | 0 | 2 years ago | * mlgo - This project aims to provide minimalistic machine learning algorithms in Go. |
Libraries that implement messaging systems.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3131 | 585 | 32 | 5 days ago | * sarama - Go library for Apache Kafka. |
2709 | 228 | 7 | 2 days ago | * Centrifugo - Real-time messaging (Websockets or SockJS) server in Go. |
2705 | 257 | 22 | 12 days ago | * gorush - Push notification server using APNs2 and google GCM. |
2275 | 283 | 29 | 14 days ago | * machinery - Asynchronous task queue/job queue based on distributed message passing. |
2240 | 360 | 66 | 28 days ago | * go-socket.io - socket.io library for golang, a realtime application framework. |
1730 | 232 | 12 | 6 days ago | * NATS Go Client - Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. |
1708 | 503 | 4 | 1 year, 1 month ago | * gopush-cluster - gopush-cluster is a go push server cluster. |
1413 | 129 | 24 | 7 days ago | * mangos - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. |
1110 | 232 | 13 | 25 days ago | * go-nsq - the official Go package for NSQ. |
1027 | 107 | 7 | 4 months ago | * melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling. |
980 | 159 | 55 | 28 days ago | * Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices. |
654 | 105 | 23 | 2 months ago | * zmq4 - Go interface to ZeroMQ version 4. Also available for version 3 and version 2. |
608 | 52 | 21 | 11 days ago | * Gollum - A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations. |
384 | 44 | 5 | 3 months ago | * EventBus - The lightweight event bus with async compatibility. |
374 | 28 | 6 | 1 year, 10 months ago | * golongpoll - HTTP longpoll server library that makes web pub-sub simple. |
285 | 18 | 5 | 8 months ago | * Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io). |
276 | 12 | 1 | 6 hours ago | * Benthos - A message streaming bridge between a range of protocols. |
255 | 70 | 22 | 11 days ago | * dbus - Native Go bindings for D-Bus. |
215 | 21 | 2 | 6 months ago | * emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. |
199 | 32 | 3 | 17 days ago | * pubsub - Simple pubsub package for go. |
125 | 17 | 5 | 8 months ago | * guble - Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. |
87 | 10 | 2 | 2 years ago | * oplog - Generic oplog/replication system for REST APIs. |
48 | 9 | 0 | 12 days ago | * drone-line - Sending Line notifications using a binary, docker or Drone CI. |
40 | 3 | 0 | 7 months ago | * RapidMQ - RapidMQ is a lightweight and reliable library for managing of the local messages queue. |
40 | 11 | 5 | 2 months ago | * rabbus - A tiny wrapper over amqp exchanges and queues. |
34 | 7 | 0 | 2 years ago | * go-notify - Native implementation of the freedesktop notification spec. |
32 | 4 | 0 | 3 years ago | * goose - Server Sent Events in Go. |
31 | 7 | 2 | 4 months ago | * nsq-event-bus - A tiny wrapper around NSQ topic and channel. |
20 | 0 | 0 | a month ago | * rabtap - RabbitMQ swiss army knife cli app. |
18 | 1 | 0 | 3 months ago | * messagebus - messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD. |
13 | 1 | 0 | 4 months ago | * event - Implementation of the pattern observer. |
7 | 0 | 1 | 15 days ago | * go-vitotrol - Client library to Viessmann Vitotrol web service. |
6 | 1 | 1 | 1 year, 6 days ago | * gaurun-client - Gaurun Client written in Go. |
5 | 1 | 0 | 2 months ago | * hub - A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges. |
These libraries were placed here because none of the other categories seemed to fit.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3136 | 187 | 37 | 3 months ago | * errors - Package that provides simple error handling primitives. |
2741 | 549 | 69 | 4 days ago | * gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). |
2176 | 294 | 23 | 6 months ago | * go.uuid - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. |
1136 | 99 | 7 | 1 year, 2 days ago | * gosms - Your own local SMS gateway in Go that can be used to send SMS. |
913 | 94 | 33 | 2 months ago | * archiver - Library and command for making and extracting .zip and .tar.gz archives. |
640 | 52 | 2 | 3 months ago | * go-resiliency - Resiliency patterns for golang. |
506 | 71 | 4 | 18 days ago | * go-commons-pool - Generic object pool for Golang. |
472 | 34 | 0 | 23 days ago | * xstrings - Collection of useful string functions ported from other languages. |
467 | 33 | 7 | 7 months ago | * go-multierror - Go (golang) package for representing a list of errors as a single error. |
426 | 30 | 18 | 6 months ago | * jobs - Persistent and flexible background jobs library. |
358 | 83 | 2 | 26 days ago | * base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha. |
331 | 87 | 6 | a month ago | * go-chat-bot - IRC, Slack & Telegram bot written in Go. |
322 | 8 | 0 | 1 year, 1 month ago | * conv - Package conv provides fast and intuitive conversions across Go types. |
297 | 22 | 0 | 1 year, 6 months ago | * health - Easy to use, extensible health check library. |
275 | 21 | 1 | 8 months ago | * shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs. |
188 | 28 | 4 | a month ago | * slacker - Easy to use framework to create Slack bots. |
173 | 14 | 0 | 10 days ago | * wuid - An extremely fast unique number generator, 10-135 times faster than UUID. |
167 | 9 | 0 | 1 year, 7 months ago | * banner - Add beautiful banners into your Go applications. |
166 | 16 | 5 | 8 months ago | * gountries - Package that exposes country and subdivision data. |
143 | 10 | 0 | a month ago | * gofakeit - Random data generator written in go. |
101 | 13 | 1 | 1 year, 10 months ago | * stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... |
95 | 1 | 1 | 16 days ago | * go-sarah - Framework to build bot for desired chat services including LINE, Slack, Gitter and more. |
91 | 4 | 3 | 1 year, 1 month ago | * battery - Cross-platform, normalized battery information library. |
91 | 23 | 0 | 6 months ago | * antch - A fast, powerful and extensible web crawling & scraping framework. |
59 | 5 | 0 | 1 year, 1 month ago | * hanu - Framework for writing Slack bots. |
57 | 4 | 0 | 4 months ago | * lk - A simple licensing library for golang. |
55 | 7 | 2 | 4 months ago | * bitio - Highly optimized bit-level Reader and Writer for Go. |
47 | 3 | 2 | 9 months ago | * turtle - Emojis for Go. |
47 | 7 | 0 | 1 year, 9 months ago | * margelet - Framework for building Telegram bots. |
44 | 11 | 1 | 4 months ago | * healthcheck - An opinionated and concurrent health-check HTTP handler for RESTful services. |
38 | 3 | 0 | 3 months ago | * indigo - Distributed unique ID generator of using Sonyflake and encoded by Base58. |
33 | 6 | 0 | 6 days ago | * go-unarr - Decompression library for RAR, TAR, ZIP and 7z archives. |
33 | 4 | 1 | 3 years ago | * xkg - X Keyboard Grabber. |
26 | 15 | 4 | 1 year, 9 months ago | * browscap_go - GoLang Library for Browser Capabilities Project. |
22 | 3 | 1 | 8 months ago | * datacounter - Go counters for readers/writer/http.ResponseWriter. |
21 | 0 | 0 | 1 year, 4 months ago | * autoflags - Go package to automatically define command line flags from struct fields. |
19 | 1 | 0 | 27 days ago | * captcha - Package captcha provides an easy to use, unopinionated API for captcha generation. |
18 | 2 | 0 | 1 year, 2 months ago | * alice - Additive dependency injection container for Golang. |
14 | 1 | 1 | 7 months ago | * persian - Some utilities for Persian language in go. |
12 | 1 | 0 | 1 year, 1 month ago | * goid - Generate and Parse RFC4122 compliant V4 UUIDs. |
11 | 1 | 0 | 4 months ago | * pdfgen - HTTP service to generate PDF from Json requests. |
9 | 2 | 5 | 25 days ago | * ghorg - Clone all repos from a GitHub org into a single directory. |
8 | 1 | 0 | a month ago | * gosh - Provide Go Statistics Handler, Struct, Measure Method. |
6 | 0 | 0 | 11 months ago | * avgRating - Calculate average score and rating based on Wilson Score Equation. |
5 | 1 | 0 | 2 years ago | * werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. |
5 | 1 | 0 | 1 year, 17 days ago | * uuid - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. |
5 | 0 | 0 | 5 months ago | * anagent - Minimalistic, pluggable Golang evloop/timer handler with dependency-injection. |
3 | 0 | 0 | 30 days ago | * url-shortener - A modern, powerful, and robust URL shortener microservice with mysql support. |
3 | 0 | 0 | 9 months ago | * hostutils - A golang library for packing and unpacking FQDNs list. |
1 | 0 | 0 | 9 months ago | * shellwords - A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell. |
1 | 0 | 0 | 27 days ago | * sandid - Every grain of sand on earth has its own ID. |
0 | 0 | 0 | Unknown | * VarHandler - Generate boilerplate http input and ouput handling. |
0 | 0 | 0 | Unknown | * secdl - Lighttpd ModSecDownload algorithm ported to go to secure download urls. |
0 | 0 | 0 | Unknown | * go-openapi - Collection of packages to parse and utilize open-api schemas. |
Libraries for working with human languages.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
866 | 32 | 4 | 8 months ago | * when - Natural EN and RU language date/time parser with pluggable rules. |
597 | 32 | 5 | 16 days ago | * prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. |
561 | 105 | 24 | 11 months ago | * gojieba - This is a Go implementation of jieba which a Chinese word splitting algorithm. |
411 | 31 | 0 | 3 days ago | * gse - Go efficient text segmentation; support english, chinese, japanese and other. |
342 | 22 | 4 | 9 months ago | * nlp - Extract values from strings and fill your structs with nlp. |
284 | 16 | 2 | 2 months ago | * whatlanggo - Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc). |
234 | 18 | 3 | 10 months ago | * sentences - Sentence tokenizer: converts text into a list of sentences. |
142 | 16 | 0 | 11 days ago | * nlp - Go Natural Language Processing library supporting LSA (Latent Semantic Analysis). |
74 | 10 | 0 | 6 years ago | * go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. |
57 | 17 | 2 | 3 years ago | * gounidecode - Unicode transliterator (also known as unidecode) for Go. |
56 | 8 | 0 | 1 year, 7 months ago | * textcat - Go package for n-gram based text categorization, with support for utf-8 and raw text. |
54 | 11 | 0 | 6 years ago | * MMSEGO - This is a GO implementation of MMSEG which a Chinese word splitting algorithm. |
45 | 14 | 1 | 3 years ago | * go-stem - Implementation of the porter stemming algorithm. |
40 | 2 | 0 | 1 year, 7 months ago | * stemmer - Stemmer packages for Go programming language. Includes English and German stemmers. |
38 | 6 | 3 | 1 year, 9 months ago | * segment - Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 |
31 | 2 | 0 | 2 years ago | * porter2 - Really fast Porter 2 stemmer. |
30 | 3 | 2 | 11 months ago | * RAKE.go - Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE). |
28 | 2 | 0 | 1 year, 1 month ago | * go2vec - Reader and utility functions for word2vec embeddings. |
24 | 5 | 1 | 1 year, 8 months ago | * go-unidecode - ASCII transliterations of Unicode text. |
22 | 4 | 2 | 5 years ago | * paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm. |
19 | 1 | 1 | 5 years ago | * snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native. |
16 | 1 | 2 | 5 years ago | * icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. |
15 | 1 | 0 | 1 year, 9 months ago | * go-mystem - CGo bindings to Yandex.Mystem - russian morphology analyzer. |
14 | 4 | 0 | 4 years ago | * golibstemmer - Go bindings for the snowball libstemmer library including porter 2. |
13 | 2 | 0 | 3 months ago | * getlang - Fast natural language detection package. |
11 | 0 | 0 | 8 months ago | * petrovich - Petrovich is the library which inflects Russian names to given grammatical case. |
9 | 6 | 0 | 5 years ago | * libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. |
8 | 0 | 0 | 7 months ago | * shamoji - The shamoji is word filtering package written in Go. |
7 | 0 | 0 | 4 years ago | * porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. |
3 | 1 | 2 | 4 years ago | * go-eco - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. |
0 | 0 | 0 | Unknown | * go-i18n - Package and an accompanying tool to work with localized text. |
Libraries for working with various layers of the network.
- mqttPaho - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
8313 | 1671 | 103 | 11 days ago | * kcptun - Extremely simple & fast udp tunnel based on KCP protocol. |
6512 | 588 | 164 | 7 months ago | * fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http. |
3059 | 92 | 11 | 2 months ago | * HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses. |
2923 | 520 | 25 | 7 days ago | * dns - Go library for working with DNS. |
2004 | 386 | 79 | a month ago | * gopacket - Go library for packet processing with libpcap bindings. |
1545 | 170 | 78 | 3 days ago | * quic-go - An implementation of the QUIC protocol in pure Go. |
1329 | 246 | 50 | 3 days ago | * gobgp - BGP implemented in the Go Programming Language. |
1299 | 287 | 21 | 5 months ago | * kcp-go - KCP - Fast and Reliable ARQ Protocol. |
775 | 76 | 17 | 2 months ago | * ssh - Higher-level API for building SSH servers (wraps crypto/ssh). |
526 | 166 | 15 | 28 days ago | * sftp - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. |
514 | 51 | 36 | 2 months ago | * go-getter - Go library for downloading files or directories from various sources using a URL. |
465 | 42 | 28 | 13 days ago | * NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF). |
440 | 103 | 9 | 2 months ago | * water - Simple TUN/TAP library. |
423 | 85 | 31 | 1 year, 4 months ago | * mdns - Simple mDNS (Multicast DNS) client/server library in Golang. |
418 | 82 | 3 | 3 months ago | * lhttp - Powerful websocket framework, build your IM server more easily. |
368 | 29 | 50 | 10 days ago | * fortio - Load testing library and command line tool and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. |
365 | 144 | 16 | 3 months ago | * ftp - Package ftp implements a FTP client as described in RFC 959. |
343 | 35 | 9 | a month ago | * grab - Go package for managing file downloads. |
337 | 132 | 6 | 1 year, 2 months ago | * gotcp - Go package for quickly writing tcp applications. |
323 | 100 | 6 | 4 days ago | * gosnmp - Native Go library for performing SNMP actions. |
315 | 121 | 7 | 2 years ago | * gopcap - Go wrapper for libpcap. |
278 | 14 | 1 | 4 months ago | * cidranger - Fast IP to CIDR lookup for Go. |
275 | 8 | 1 | 2 months ago | * peerdiscovery - Pure Go library for cross-platform local peer discovery using UDP multicast |
246 | 40 | 7 | 7 months ago | * go-stun - Go implementation of the STUN client (RFC 3489 and RFC 5389). |
208 | 26 | 5 | 26 days ago | * raw - Package raw enables reading and writing data at the device driver level for a network interface. |
198 | 21 | 1 | 2 years ago | * buffstreams - Streaming protocolbuffer data over TCP made easy. |
194 | 74 | 2 | 1 year, 1 month ago | * tcp_server - Go library for building tcp servers faster. |
160 | 54 | 14 | 7 days ago | * winrm - Go WinRM client to remotely execute commands on Windows machines. |
145 | 11 | 0 | a month ago | * ethernet - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. |
137 | 22 | 3 | 4 months ago | * utp - Go uTP micro transport protocol implementation. |
134 | 23 | 0 | 6 months ago | * arp - Package arp implements the ARP protocol, as described in RFC 826. |
109 | 30 | 39 | 4 months ago | * canopus - CoAP Client/Server implementation (RFC 7252). |
106 | 12 | 5 | 10 days ago | * stun - Go implementation of RFC 5389 STUN protocol. |
103 | 14 | 9 | 3 months ago | * sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. |
83 | 7 | 3 | 5 months ago | * jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple network devices. |
53 | 1 | 0 | 2 years ago | * ether - Cross-platform Go package for sending and receiving ethernet frames. |
48 | 12 | 2 | 6 months ago | * dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. |
42 | 7 | 0 | a month ago | * xtcp - TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol. |
35 | 6 | 0 | 3 years ago | * portproxy - Simple TCP proxy which adds CORS support to API's which don't support it. |
34 | 3 | 0 | 10 months ago | * linkio - Network link speed simulation for Reader/Writer interfaces. |
19 | 5 | 0 | 8 months ago | * graval - Experimental FTP server framework. |
15 | 2 | 0 | 1 year, 6 months ago | * publicip - Package publicip returns your public facing IPv4 address (internet egress). |
12 | 2 | 0 | 8 months ago | * golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data. |
6 | 2 | 0 | 8 months ago | * goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet. |
6 | 0 | 0 | 2 years ago | * 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. |
2 | 0 | 0 | 8 days ago | * packet - Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed. |
Libraries for using OpenGL in Go.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
488 | 36 | 8 | 3 months ago | * gl - Go bindings for OpenGL (generated via glow). |
477 | 64 | 6 | 2 months ago | * glfw - Go bindings for GLFW 3. |
230 | 31 | 10 | 3 months ago | * mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM. |
122 | 10 | 5 | 7 months ago | * goxjs/gl - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android). |
53 | 11 | 7 | 8 months ago | * goxjs/glfw - Go cross-platform glfw library for creating an OpenGL context and receiving events. |
Libraries that implement Object-Relational Mapping or datamapping techniques.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
9500 | 1108 | 171 | 14 days ago | * GORM - The fantastic ORM library for Golang, aims to be developer friendly. |
3491 | 456 | 181 | 16 days ago | * Xorm - Simple and powerful ORM for Go. |
2806 | 328 | 116 | 13 days ago | * gorp - Go Relational Persistence, ORM-ish library for Go. |
1829 | 128 | 17 | 7 days ago | * go-pg - PostgreSQL ORM with focus on PostgreSQL specific features and performance. |
1274 | 113 | 20 | 12 days ago | * SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. |
1262 | 103 | 60 | a month ago | * upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. |
660 | 29 | 54 | 7 months ago | * reform - Better ORM for Go, based on non-empty interfaces and code generation. |
569 | 110 | 0 | 2 months ago | * pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. |
504 | 95 | 9 | 1 year, 2 months ago | * QBS - Stands for Query By Struct. A Go ORM. |
325 | 17 | 8 | 16 days ago | * go-queryset - 100% type-safe ORM with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support based on GORM. |
210 | 14 | 2 | 3 months ago | * Zoom - Blazing-fast datastore and querying engine built on Redis. |
87 | 8 | 0 | 1 year, 4 months ago | * go-store - Simple and fast Redis backed key-value store library for Go. |
58 | 7 | 1 | 1 year, 7 days ago | * gomodel - Lightweight, fast, orm-like library helps interactive with database. |
57 | 10 | 0 | 12 days ago | * go-sqlbuilder - A flexible and powerful SQL string builder library plus a zero-config ORM. |
28 | 1 | 3 | 13 days ago | * Marlow - Generated ORM from project structs for compile time safety assurances. |
10 | 3 | 0 | 10 days ago | * grimoire - Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3). |
3 | 1 | 0 | 8 months ago | * lore - Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go. |
0 | 0 | 0 | Unknown | * beego orm - Powerful orm framework for go. Support: pq/mysql/sqlite3. |
Libraries for package and dependency management.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
9614 | 711 | 408 | 4 days ago | * dep - Go dependency tool. |
6845 | 453 | 384 | 6 months ago | * glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. |
5398 | 475 | 80 | 5 months ago | * godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. |
3585 | 273 | 116 | 2 months ago | * govendor - Go Package Manager. Go vendor tool that works with the standard vendor file. |
1823 | 149 | 44 | 11 months ago | * gopm - Go Package Manager. |
1318 | 92 | 14 | a month ago | * gom - Go Manager - bundle for go. |
1199 | 54 | 14 | 9 months ago | * gpm - Barebones dependency manager for Go. |
770 | 46 | 30 | 3 years ago | * goop - Simple dependency manager for Go (golang), inspired by Bundler. |
745 | 80 | 45 | 1 year, 7 months ago | * gvt - gvt is a simple vendoring tool made for Go native vendoring (aka GO15VENDOREXPERIMENT), based on gb-vendor. |
247 | 10 | 14 | 3 years ago | * nut - Vendor Go dependencies. |
212 | 6 | 3 | 3 years ago | * johnny-deps - Minimal dependency version using Git. |
194 | 10 | 4 | 2 years ago | * gigo - PIP-like dependency tool for golang, with support for private repositories and hashes. |
109 | 7 | 3 | 2 years ago | * VenGO - create and manage exportable isolated go virtual environments. |
42 | 7 | 10 | 10 days ago | * gop - Build and manage your Go applications out of GOPATH |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3252 | 300 | 89 | 6 days ago | * graphql-go - Implementation of GraphQL for Go. |
1683 | 162 | 83 | 30 days ago | * graphql - GraphQL server with a focus on ease of use. |
369 | 14 | 3 | 22 hours ago | * gojsonq - A simple Go package to Query over JSON Data. |
161 | 20 | 2 | a month ago | * jsonql - JSON query expression library in Golang. |
52 | 2 | 4 | 29 days ago | * rql - Resource Query Language for REST API. |
45 | 5 | 2 | 1 year, 1 month ago | * graphql - graphql parser + utilities. |
34 | 1 | 2 | 2 years ago | * graphql - GraphQL implementation in go. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1353 | 75 | 13 | a month ago | * statik - Embeds static files into a Go executable. |
1330 | 81 | 36 | 1 year, 2 months ago | * go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. |
1038 | 29 | 13 | 29 days ago | * packr - The simple and easy way to embed static files into Go binaries. |
320 | 46 | 6 | 10 months ago | * esc - Embeds files into Go programs and provides http.FileSystem interfaces to them. |
317 | 18 | 7 | 2 months ago | * vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem. |
244 | 24 | 2 | 25 days ago | * fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use. |
145 | 12 | 0 | 8 months ago | * go-resources - Unfancy resources embedding with Go. |
47 | 3 | 0 | 1 year, 9 months ago | * statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. |
12 | 2 | 0 | 2 years ago | * go-embed - Generates go code to embed resource files into your library or executable. |
12 | 2 | 2 | 10 months ago | * templify - Embed external template files into Go code to create single file binaries. |
Libraries for scientific computing and data analyzing.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1307 | 112 | 49 | 3 years ago | * streamtools - general purpose, graphical tool for dealing with streams of data. |
1094 | 73 | 2 | 11 days ago | * gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more. |
902 | 65 | 8 | 7 months ago | * stats - Statistics package with common functions missing from the Golang standard library. |
883 | 79 | 80 | 26 days ago | * gonum/plot - gonum/plot provides an API for building and drawing plots in Go. |
533 | 47 | 6 | 2 months ago | * go-dsp - Digital Signal Processing for Go. |
505 | 68 | 3 | 9 months ago | * goraph - Pure Go graph theory library(data structure, algorith visualization). |
488 | 77 | 4 | 2 years ago | * chart - Simple Chart Plotting library for Go. Supports many graphs types. |
461 | 51 | 20 | 5 months ago | * gonum/mat64 - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. |
302 | 64 | 12 | 5 years ago | * go.matrix - linear algebra for go (has been stalled). |
227 | 17 | 2 | 11 months ago | * ewma - Exponentially-weighted moving averages. |
142 | 6 | 0 | 9 months ago | * graph - Library of basic graph algorithms. |
118 | 18 | 1 | 4 years ago | * blas - Implementation of BLAS (Basic Linear Algebra Subprograms). |
106 | 20 | 3 | 1 year, 10 months ago | * gohistogram - Approximate histograms for data streams. |
59 | 8 | 2 | 5 years ago | * 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). |
38 | 10 | 1 | 2 years ago | * pagerank - Weighted PageRank algorithm implemented in Go. |
35 | 12 | 1 | 6 months ago | * geom - 2D geometry for golang. |
32 | 6 | 0 | 2 days ago | * sparse - Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries. |
31 | 8 | 8 | 2 years ago | * evaler - Simple floating point arithmetic expression evaluator. |
24 | 10 | 4 | 5 months ago | * gostat - Statistics library for the go language. |
24 | 7 | 0 | a month ago | * orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support. |
11 | 3 | 0 | 3 months ago | * TextRank - TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support. |
7 | 1 | 5 | 5 years ago | * go-fn - Mathematical functions written in Go language, that are not covered by math pkg. |
6 | 3 | 0 | 2 years ago | * gofrac - (goinstallable) fractions library for go with support for basic arithmetic. |
6 | 1 | 0 | 3 days ago | * goent - GO Implementation of Entropy Measures |
5 | 0 | 1 | 1 year, 5 months ago | * ode - Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions. |
3 | 0 | 0 | 9 months ago | * PiHex - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi. |
3 | 0 | 0 | 8 years ago | * gocomplex - Complex number library for the Go programming language. |
3 | 0 | 3 | 5 years ago | * go-gt - Graph theory algorithms written in "Go" language. |
Libraries that are used to help make your application more secure.
- autocert - Auto provision Let's Encrypt certificates and start a TLS server.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2669 | 323 | 106 | 6 days ago | * lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt). |
1546 | 80 | 48 | 4 months ago | * acmetool - ACME (Let's Encrypt) client tool with automatic renewal. |
1338 | 145 | 6 | 6 days ago | * Cameradar - Tool and library to remotely hack RTSP streams from surveillance cameras. |
967 | 50 | 1 | 21 days ago | * secure - HTTP middleware for Go that facilitates some quick security wins. |
788 | 24 | 2 | 27 days ago | * memguard - A pure Go library for handling sensitive values in memory. |
361 | 17 | 2 | 2 months ago | * nacl - Go implementation of the NaCL set of API's. |
222 | 5 | 0 | 1 year, 1 month ago | * BadActor - In-memory, application-driven jailer built in the spirit of fail2ban. |
191 | 13 | 0 | a month ago | * passlib - Futureproof password hashing library. |
152 | 14 | 6 | a month ago | * ssh-vault - encrypt/decrypt using ssh keys. |
133 | 15 | 1 | a month ago | * simple-scrypt - Scrypt package with a simple, obvious API and automatic cost calibration built-in. |
85 | 31 | 3 | 18 days ago | * go-yara - Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)". |
60 | 1 | 0 | 3 months ago | * argon2pw - Argon2 password hash generation with constant-time password comparison. |
17 | 5 | 0 | a month ago | * goSecretBoxPassword - A probably paranoid package for securely hashing and encrypting passwords. |
3 | 0 | 0 | a month ago | * goArgonPass - Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations. |
Libraries and tools for binary serialization.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
3136 | 701 | 62 | 2 days ago | * goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. |
3108 | 276 | 9 | 8 days ago | * jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json". |
2261 | 191 | 23 | 5 months ago | * structs - Library with support for converting structs to maps, struct keys/values to slices, and more. |
1786 | 250 | 62 | a month ago | * gogoprotobuf - Protocol Buffers for Go with Gadgets. |
1507 | 195 | 32 | a month ago | * mapstructure - Go library for decoding generic map values into native Go structures. |
966 | 151 | 2 | 11 days ago | * go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support. |
377 | 30 | 11 | 11 days ago | * colfer - Code generation for the Colfer binary format. |
262 | 19 | 0 | 1 year, 5 months ago | * go-capnproto - Cap'n Proto library and parser for go. |
221 | 8 | 0 | a month ago | * csvutil - High Performance, idiomatic CSV record encoding and decoding to native Go structures. |
89 | 31 | 2 | 1 year, 5 months ago | * php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions. |
75 | 7 | 0 | 3 years ago | * structomap - Library to easily and dynamically generate maps from static structures. |
58 | 8 | 3 | 1 year, 8 months ago | * bambam - generator for Cap'n Proto schemas from go. |
27 | 9 | 7 | 2 years ago | * asn1 - Asn.1 BER and DER encoding library for golang. |
3 | 0 | 0 | 5 months ago | * fwencoder - Fixed width file parser (encoding and decoding library) for Go. |
- consul - Consul is a tool for service discovery, monitoring and configuration.
- nsq - A realtime distributed messaging platform.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
19118 | 3799 | 267 | 2 days ago | * etcd - Highly-available key value store for shared configuration and service discovery. |
17679 | 1345 | 116 | 11 days ago | * Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. |
12035 | 1046 | 138 | 7 hours ago | * minio - Minio is a distributed object storage server. |
2557 | 110 | 10 | 2 months ago | * devd - Local webserver for developers. |
459 | 20 | 8 | 2 days ago | * jackal - An XMPP server written in Go. |
451 | 29 | 0 | 9 days ago | * algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. |
382 | 18 | 1 | 2 days ago | * Flagr - Flagr is an open-source feature flagging and A/B testing service. |
330 | 31 | 13 | 3 days ago | * Fider - Fider is an open platform to collect and organize customer feedback. |
0 | 0 | 0 | Unknown | * yakvs - Small, networked, in-memory key-value store. |
Libraries and tools for templating and lexing.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2420 | 192 | 30 | 23 days ago | * gofpdf - PDF document generator with high level support for text, drawing and images. |
1240 | 120 | 44 | 28 days ago | * pongo2 - Django-like template-engine for Go. |
1032 | 63 | 14 | 1 year, 3 days ago | * quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it. |
994 | 60 | 20 | 3 months ago | * hero - Hero is a handy, fast and powerful go template engine. |
930 | 144 | 33 | 1 year, 11 months ago | * mustache - Go implementation of the Mustache template language. |
786 | 47 | 18 | 8 months ago | * amber - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. |
718 | 34 | 31 | 22 days ago | * ace - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold. |
631 | 78 | 10 | 2 months ago | * Razor - Razor view engine for Golang. |
474 | 32 | 19 | 4 days ago | * jet - Jet template engine. |
370 | 26 | 10 | 15 days ago | * ego - Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. |
270 | 32 | 9 | 3 months ago | * raymond - Complete handlebars implementation in Go. |
196 | 29 | 3 | 1 year, 4 months ago | * fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template. |
125 | 23 | 5 | 5 days ago | * Soy - Closure templates (aka Soy templates) for Go, following the official spec. |
76 | 2 | 3 | 8 months ago | * grender - small wrapper around html/template for file-based templates that support extending other template files. |
69 | 4 | 2 | 2 years ago | * kasia.go - Templating system for HTML and other text documents - go implementation. |
60 | 6 | 6 | a month ago | * liquid - Go implementation of Shopify Liquid templates. |
58 | 3 | 2 | 1 year, 3 months ago | * velvet - Complete handlebars implementation in Go. |
19 | 2 | 1 | 2 years ago | * damsel - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. |
Libraries for testing codebases and generating test data.
-
Testing Frameworks
-
Mock
-
Fuzzing and delta-debugging/reducing/shrinking.
-
Selenium and browser control tools.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5280 | 520 | 118 | 2 months ago | * Testify - Sacred extension to the standard go testing package. |
2263 | 126 | 22 | 6 days ago | * go-fuzz - Randomized testing system. |
2116 | 138 | 42 | 5 days ago | * chromedp - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol. |
1461 | 179 | 45 | 2 months ago | * gomock - Mocking framework for the Go programming language. |
912 | 107 | 6 | 4 months ago | * go-sqlmock - Mock SQL driver for testing database interactions. |
885 | 57 | 10 | 10 months ago | * httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing. |
579 | 23 | 15 | 3 months ago | * go-cmp - Package for comparing Go values in tests |
514 | 41 | 9 | 14 days ago | * goblin - Mocha like testing framework fo Go. |
502 | 14 | 4 | 7 months ago | * baloo - Expressive and versatile end-to-end HTTP API testing made easy. |
497 | 22 | 8 | 25 days ago | * gock - Versatile HTTP mocking made easy. |
430 | 38 | 5 | 1 year, 26 days ago | * gofuzz - Library for populating go objects with random values. |
408 | 43 | 15 | 3 months ago | * godog - Cucumber or Behat like BDD framework for Go. |
243 | 40 | 24 | 4 months ago | * counterfeiter - Tool for generating self-contained mock objects. |
229 | 19 | 11 | 1 year, 1 month ago | * frisby - REST API testing framework. |
207 | 17 | 4 | a month ago | * go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests. |
186 | 8 | 53 | 7 months ago | * Tavor - Generic fuzzing and delta-debugging framework. |
182 | 15 | 5 | 2 days ago | * testfixtures - A helper for Rails' like test fixtures to test database applications. |
179 | 4 | 0 | 2 months ago | * go-carpet - Tool for viewing test coverage in terminal. |
172 | 12 | 4 | 18 days ago | * gofight - API Handler Testing for Golang Router framework. |
146 | 8 | 19 | 8 months ago | * go-mutesting - Mutation testing for Go source code. |
144 | 28 | 12 | a month ago | * ggr - a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs. |
134 | 8 | 11 | 22 hours ago | * cdp - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it. |
128 | 5 | 0 | a month ago | * minimock - Mock generator for Go interfaces. |
109 | 17 | 4 | 3 years ago | * GoSpec - BDD-style testing framework for the Go programming language. |
64 | 5 | 2 | a month ago | * go-txdb - Single transaction based database driver mainly for testing purposes. |
49 | 5 | 1 | 7 years ago | * gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. |
49 | 1 | 7 | a month ago | * cupaloy - Simple snapshot testing addon for your test framework. |
45 | 2 | 4 | 1 year, 5 months ago | * restit - Go micro framework to help writing RESTful API integration test. |
38 | 5 | 1 | 4 months ago | * wstest - Websocket client for unit-testing a websocket http.Handler. |
37 | 4 | 0 | 8 days ago | * dbcleaner - Clean database for testing purpose, inspired by database_cleaner in Ruby. |
35 | 7 | 0 | 10 days ago | * endly - Declarative end to end functional testing. |
32 | 4 | 0 | 2 months ago | * govcr - HTTP mock for Golang: record and replay HTTP interactions for offline testing. |
24 | 3 | 1 | 7 years ago | * Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. |
20 | 4 | 0 | 1 year, 8 months ago | * bro - Watch files in directory and run tests for them. |
20 | 5 | 0 | 3 years ago | * mockhttp - Mock object for Go http.ResponseWriter. |
17 | 2 | 0 | 16 days ago | * dsunit - Datastore testing for SQL, NoSQL, structured files. |
9 | 2 | 0 | 2 years ago | * assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions. |
7 | 0 | 0 | a month ago | * selenoid - alternative Selenium hub server that launches browsers within containers. |
7 | 1 | 0 | 2 years ago | * badio - Extensions to Go's testing/iotest package. |
6 | 0 | 0 | 5 months ago | * gocrest - Composable hamcrest-like matchers for Go assertions. |
6 | 2 | 4 | 4 months ago | * gogiven - YATSPEC-like BDD testing framework for Go. |
5 | 3 | 1 | 1 year, 8 months ago | * gosuite - Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests. |
2 | 0 | 0 | a month ago | * biff - Bifurcation testing framework, BDD compatible. |
1 | 0 | 0 | 14 days ago | * Tt - Simple and colorful test tools. |
0 | 0 | 0 | Unknown | * GoConvey - BDD-style framework with web UI and live reload. |
Libraries for parsing and manipulating texts.
- Specific Formats
- github_flavored_markdown - GitHub Flavored Markdown renderer (using blackfriday) with fenced code block highlighting, clickable header anchor links.
- Utility
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5910 | 528 | 5 | a month ago | * GoQuery - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. |
5220 | 306 | 11 | 5 days ago | * colly - Fast and Elegant Scraping Framework for Gophers |
3108 | 401 | 122 | 2 months ago | * blackfriday - Markdown processor in Go. |
2093 | 264 | 42 | 1 year, 13 days ago | * toml - TOML configuration format (encoder/decoder with reflection). |
1509 | 107 | 15 | 2 months ago | * go-humanize - Formatters for time, numbers, and memory size to human readable format. |
1240 | 53 | 10 | 23 hours ago | * sh - Shell parser and formatter. |
935 | 65 | 8 | 17 days ago | * bluemonday - HTML Sanitizer. |
927 | 63 | 6 | 3 days ago | * inject - Package inject provides a reflect based injector. |
862 | 63 | 20 | 2 months ago | * gofeed - Parse RSS and Atom feeds in Go. |
492 | 32 | 0 | 2 months ago | * commonregex - A collection of common regular expressions for Go |
347 | 29 | 0 | 3 months ago | * xurls - Extract urls from text. |
265 | 57 | 0 | a month ago | * mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. |
209 | 24 | 0 | 10 months ago | * slug - URL-friendly slugify with multiple languages support. |
194 | 32 | 10 | 5 days ago | * gographviz - Parses the Graphviz DOT language. |
172 | 11 | 2 | 1 year, 3 months ago | * gotabulate - Easily pretty-print your tabular data with Go. |
166 | 16 | 1 | 4 days ago | * gotext - GNU gettext utilities for Go. |
134 | 22 | 1 | 3 months ago | * go-runewidth - Functions to get fixed width of the character or string. |
94 | 6 | 2 | a month ago | * goq - Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery). |
54 | 14 | 0 | 19 days ago | * go-nmea - NMEA parser library for the Go language. |
52 | 1 | 0 | 4 months ago | * radix - fast string sorting algorithm. |
45 | 4 | 0 | 2 years ago | * genex - Count and expand Regular Expressions into all matching Strings. |
38 | 1 | 0 | 9 months ago | * align - A general purpose application that aligns text. |
38 | 2 | 1 | 3 years ago | * guesslanguage - Functions to determine the natural language of a unicode text. |
29 | 1 | 0 | 1 year, 8 months ago | * allot - Placeholder and wildcard text parsing for CLI tools and bots. |
29 | 2 | 2 | 2 years ago | * goregen - Library for generating random strings from regular expressions. |
25 | 1 | 1 | 1 year, 1 month ago | * gonameparts - Parses human names into individual name parts. |
22 | 1 | 0 | 2 months ago | * Slugify - Go slugify application that handles string. |
20 | 9 | 3 | 1 year, 10 months ago | * editorconfig-core-go - Editorconfig file parser and manipulator for Go. |
18 | 1 | 0 | 2 months ago | * parth - URL path segmentation parsing. |
16 | 3 | 0 | 1 year, 10 months ago | * go-slugify - Make pretty slug with multiple languages support. |
11 | 1 | 0 | 2 months ago | * go-fixedwidth - Fixed-width text formatting (encoder/decoder with reflection). |
10 | 1 | 1 | 7 months ago | * xj2go - Convert xml or json to go struct. |
7 | 5 | 1 | 9 months ago | * go-vcard - Parse and format vCard. |
6 | 1 | 0 | 9 months ago | * kace - Common case conversions covering common initialisms. |
4 | 2 | 0 | 2 years ago | * enca - Minimal cgo bindings for libenca. |
4 | 0 | 1 | 1 year, 5 months ago | * parseargs-go - string argument parser that understands quotes and backslashes. |
3 | 0 | 0 | 1 year, 9 months ago | * bbConvert - Converts bbCode to HTML that allows you to add support for custom bbCode tags. |
2 | 1 | 0 | 3 months ago | * syndfeed - A syndication feed for Atom 1.0 and RSS 2.0. |
2 | 1 | 1 | 9 days ago | * encdec - Package provides a generic interface to encoders and decodersa. |
0 | 0 | 0 | 10 months ago | * doi - Document object identifier (doi) parser in Go. |
0 | 0 | 0 | Unknown | * gommon/bytes - Format bytes to string. |
Libraries for accessing third party APIs.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
4050 | 931 | 112 | 2 days ago | * aws-sdk-go - The official AWS SDK for the Go programming language. |
3696 | 858 | 86 | 5 days ago | * github - Go library for accessing the GitHub REST API v3. |
1684 | 364 | 62 | 5 days ago | * slack - Slack API in Go. |
1456 | 386 | 14 | 6 days ago | * google - Auto-generated Google APIs for Go. |
1157 | 370 | 70 | 2 days ago | * google-cloud - Google Cloud APIs Go Client Library. |
1104 | 189 | 29 | a month ago | * telegram-bot-api - Simple and clean Telegram bot client. |
897 | 225 | 58 | 4 months ago | * anaconda - Go client library for the Twitter 1.1 API. |
724 | 199 | 16 | 3 days ago | * stripe - Go client for the Stripe API. |
676 | 239 | 96 | 3 years ago | * goamz - Popular fork of goamz which adds some missing API calls to certain packages. |
656 | 101 | 15 | a month ago | * telebot - Telegram bot framework written in Go. |
644 | 198 | 0 | 20 days ago | * facebook - Go Library that supports the Facebook Graph API. |
611 | 143 | 50 | 3 months ago | * discordgo - Go bindings for the Discord Chat API. |
494 | 163 | 4 | 3 days ago | * minio-go - Minio Go Library for Amazon S3 compatible cloud storage. |
477 | 101 | 23 | 8 hours ago | * go-twitter - Go client library for the Twitter v1.1 APIs. |
288 | 131 | 11 | 2 days ago | * go-jira - Go client library for Atlassian JIRA |
279 | 7 | 8 | 2 months ago | * githubql - Go library for accessing the GitHub GraphQL API v4. |
238 | 25 | 2 | 19 days ago | * geo-golang - Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs. |
229 | 58 | 4 | 2 months ago | * paypal - Wrapper for PayPal payment API. |
193 | 35 | 4 | 10 days ago | * webhooks - Webhook receiver for GitHub and Bitbucket. |
178 | 112 | 22 | 3 days ago | * go-marathon - Go library for interacting with Mesosphere's Marathon PAAS. |
155 | 20 | 2 | 27 days ago | * tbot - Telegram bot server with API similar to net/http. |
111 | 38 | 3 | 1 year, 1 month ago | * hipchat (xmpp) - A golang package to communicate with HipChat over XMPP. |
107 | 19 | 4 | 8 months ago | * 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. |
106 | 19 | 0 | 2 years ago | * hipchat - This project implements a golang client library for the Hipchat API. |
100 | 12 | 2 | 6 months ago | * Medium - Golang SDK for Medium's OAuth2 API. |
97 | 37 | 7 | a month ago | * ethrpc - Go bindings for Ethereum JSON RPC API. |
91 | 9 | 1 | 3 months ago | * go-trending - Go library for accessing trending repositories and developers at Github. |
72 | 3 | 1 | 14 days ago | * go-tgbot - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. |
55 | 13 | 8 | 10 months ago | * clarifai - Go client library for interfacing with the Clarifai API. |
53 | 22 | 1 | 18 days ago | * Trello - Go wrapper for the Trello API. |
50 | 8 | 0 | 3 months ago | * cachet - Go client library for Cachet (open source status page system). |
50 | 10 | 0 | 2 months ago | * megos - Client library for accessing an Apache Mesos cluster. |
47 | 2 | 0 | a month ago | * go-telegraph - Telegraph publishing platform API client. |
39 | 4 | 0 | 4 months ago | * pushover - Go wrapper for the Pushover API. |
33 | 31 | 5 | 2 years ago | * gads - Google Adwords Unofficial API. |
32 | 2 | 1 | 2 years ago | * go-xkcd - Go client for the xkcd API. |
30 | 13 | 6 | 1 year, 7 months ago | * amazon-product-advertising-api - Go Client Library for Amazon Product Advertising API. |
29 | 3 | 0 | 2 years ago | * gcm - Go library for Google Cloud Messaging. |
26 | 23 | 2 | 10 days ago | * circleci - Go client library for interacting with CircleCI's API. |
25 | 9 | 1 | 1 year, 1 month ago | * fcm - Go library for Firebase Cloud Messaging. |
25 | 10 | 3 | 1 year, 2 months ago | * GoMusicBrainz - Go MusicBrainz WS2 client library. |
24 | 4 | 0 | 2 years ago | * translate - Go online translation package. |
24 | 9 | 0 | 2 months ago | * mixpanel - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. |
22 | 16 | 1 | 1 year, 29 days ago | * gami - Go library for Asterisk Manager Interface. |
22 | 2 | 0 | 9 days ago | * golyrics - Golyrics is a Go library to fetch music lyrics data from the Wikia website. |
18 | 4 | 2 | 3 years ago | * shopify - Go Library to make CRUD request to the Shopify API. |
16 | 1 | 3 | 5 months ago | * govkbot - Simple Go VK bot library. |
15 | 1 | 0 | 5 months ago | * igdb - Go client for the Internet Game Database API. |
14 | 1 | 0 | 8 months ago | * spotify - Go Library to access Spotify WEB API. |
14 | 3 | 0 | a month ago | * codeship-go - Go client library for interacting with Codeship's API v2. |
13 | 0 | 5 | 3 years ago | * brewerydb - Go library for accessing the BreweryDB API. |
13 | 1 | 0 | 1 year, 3 months ago | * go-myanimelist - Go client library for accessing the MyAnimeList API. |
12 | 3 | 6 | 10 months ago | * go-twitch - Go client for interacting with the Twitch v3 API. |
11 | 0 | 0 | 2 years ago | * textbelt - Go client for the textbelt.com txt messaging API. |
11 | 1 | 0 | a month ago | * patreon-go - Go library for Patreon API. |
10 | 1 | 0 | 2 years ago | * TheMovieDb - Simple golang package to communicate with themoviedb.org. |
9 | 3 | 7 | 28 days ago | * go-unsplash - Go client library for the Unsplash.com API. |
8 | 0 | 0 | 3 years ago | * smite - Go package to wraps access to the Smite game API. |
8 | 3 | 0 | 3 months ago | * steam - Go Library to interact with Steam game servers. |
8 | 1 | 0 | 2 years ago | * go-imgur - Go client library for imgur |
8 | 1 | 0 | 3 years ago | * google-analytics - Simple wrapper for easy google analytics reporting. |
6 | 2 | 0 | 4 months ago | * micha - Go Library for Telegram bot api. |
6 | 0 | 0 | 3 years ago | * rrdaclient - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. |
5 | 0 | 0 | 10 months ago | * go-hacknews - Tiny Go client for HackerNews API. |
5 | 5 | 0 | 1 year, 8 months ago | * tumblr - Go wrapper for the Tumblr v2 API. |
4 | 0 | 0 | 9 months ago | * go-sptrans - Go client library for the SPTrans Olho Vivo API. |
4 | 4 | 0 | 1 year, 8 months ago | * google-email-audit-api - Go client library for Google G Suite Email Audit API. |
2 | 4 | 0 | a month ago | * zooz - Go client for the Zooz API. |
1 | 1 | 0 | 5 months ago | * go-chronos - Go library for interacting with the Chronos Job Scheduler |
0 | 0 | 0 | 2 years ago | * playlyfe - The Playlyfe Rest API Go SDK. |
General utilities and tools to make your life easier.
- clockwerk - Go package to schedule periodic jobs using a simple, fluent syntax.
- gubrak - Golang utility library with syntactic sugar. It's like lodash, but for golang.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
15217 | 605 | 88 | 3 days ago | * fzf - Command-line fuzzy finder written in Go. |
13183 | 1309 | 194 | 2 days ago | * hub - wrap git commands with additional functionality to interact with github from the terminal. |
8630 | 703 | 103 | 7 days ago | * delve - Go debugger. |
7454 | 253 | 25 | a month ago | * wuzz - Interactive cli tool for HTTP inspection. |
7191 | 252 | 24 | 9 days ago | * ctop - Top-like interface (e.g. htop) for container metrics. |
4670 | 155 | 21 | 3 months ago | * peco - Simplistic interactive filtering tool. |
4573 | 392 | 128 | 24 days ago | * sqlx - provides a set of extensions on top of the excellent built-in database/sql package. |
4248 | 130 | 14 | 5 days ago | * usql - usql is a universal command-line interface for SQL databases. |
3564 | 340 | 1 | a month ago | * godropbox - Common libraries for writing Go services/applications from Dropbox. |
3095 | 188 | 0 | 17 days ago | * GJSON - Get a JSON value with one line of code. |
3046 | 154 | 9 | 11 months ago | * go-torch - Stochastic flame graph profiler for Go programs. |
2997 | 155 | 27 | 13 hours ago | * goreleaser - Deliver Go binaries as fast and easily as possible. |
2502 | 462 | 86 | 2 months ago | * xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. |
2295 | 105 | 17 | 10 days ago | * realize - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. |
2213 | 234 | 89 | 2 days ago | * excelize - Golang library for reading and writing Microsoft Excel™ (XLSX) files. |
2082 | 136 | 12 | a month ago | * goreporter - Golang tool that does static analysis, unit testing, code review and generate code quality report. |
1766 | 236 | 66 | 8 months ago | * gorequest - Simplified HTTP client with rich features for Go. |
1744 | 53 | 7 | 3 months ago | * panicparse - Groups similar goroutines and colorizes stack dump. |
1716 | 110 | 33 | 5 months ago | * gojson - Automatically generate Go (golang) struct definitions from example JSON. |
1488 | 87 | 9 | 11 hours ago | * minify - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. |
1402 | 34 | 11 | 5 months ago | * mmake - Modern Make. |
1203 | 47 | 5 | 2 years ago | * coop - Cheat sheet for some of the common concurrent flows in Go. |
1165 | 139 | 35 | 2 months ago | * hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. |
1096 | 53 | 22 | 8 months ago | * grequests - Elegant and simple net/http wrapper that follows Python's requests library. |
1026 | 55 | 38 | 2 months ago | * Storm - Simple and powerful toolkit for BoltDB. |
960 | 49 | 3 | 3 years ago | * go-underscore - Useful collection of helpfully functional Go collection utilities. |
952 | 110 | 4 | 4 days ago | * resty - Simple HTTP and REST client for Go inspired by Ruby rest-client. |
921 | 31 | 13 | 15 days ago | * Task - simple "Make" alternative. |
772 | 128 | 12 | 2 days ago | * mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. |
758 | 47 | 3 | 1 year, 2 months ago | * profile - Simple profiling support package for Go. |
735 | 58 | 38 | 11 months ago | * boilr - Blazingly fast CLI tool for creating projects from boilerplate templates. |
706 | 64 | 0 | 5 months ago | * sling - Go HTTP requests builder for API clients. |
680 | 96 | 25 | 7 months ago | * goreq - Minimal and simple request library for Go language. |
642 | 63 | 14 | 1 year, 3 months ago | * circuitbreaker - Circuit Breakers in Go. |
581 | 30 | 30 | 4 days ago | * git-time-metric - Simple, seamless, lightweight time tracking for Git. |
538 | 23 | 9 | 7 months ago | * gentleman - Full-featured plugin-driven HTTP client library. |
528 | 38 | 5 | 12 days ago | * spinner - Go package to easily provide a terminal spinner with options. |
516 | 20 | 2 | 2 years ago | * gron - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly. |
510 | 101 | 8 | a month ago | * mergo - Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. |
503 | 19 | 2 | a month ago | * immortal - *nix cross-platform (OS agnostic) supervisor. |
475 | 27 | 0 | 3 years ago | * httpcontrol - Package httpcontrol allows for HTTP transport level control around timeouts and retries. |
458 | 31 | 1 | 1 year, 8 months ago | * JobRunner - Smart and featureful cron job scheduler with job queuing and live monitoring built in. |
452 | 22 | 5 | 3 years ago | * htcat - Parallel and Pipelined HTTP GET Utility. |
431 | 30 | 6 | 7 days ago | * go-funk - Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...). |
409 | 34 | 5 | 1 year, 7 months ago | * gopencils - Small and simple package to easily consume REST APIs. |
404 | 29 | 0 | 2 months ago | * go-dry - DRY (don't repeat yourself) package for Go. |
365 | 34 | 5 | 2 years ago | * godaemon - Utility to write daemons. |
312 | 39 | 9 | 5 months ago | * filetype - Small package to infer the file type checking the magic numbers signature. |
306 | 24 | 5 | 8 months ago | * request - Go HTTP Requests for Humans™. |
262 | 27 | 1 | 2 months ago | * pester - Go HTTP client calls with retries, backoff, and concurrency. |
262 | 19 | 1 | 3 months ago | * go-rate - Timed rate limiter for Go. |
242 | 45 | 0 | 10 months ago | * gohper - Various tools/modules help for development. |
221 | 33 | 6 | 1 year, 5 months ago | * scheduler - Cronjobs scheduling made easy. |
196 | 27 | 14 | 2 months ago | * ergo - The management of multiple local services running over different ports made easy. |
160 | 9 | 0 | 5 years ago | * go-cron - 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. |
160 | 19 | 2 | 8 months ago | * Deepcopier - Simple struct copying for Go. |
157 | 5 | 0 | 10 months ago | * go-bind-plugin - go:generate tool for wrapping symbols exported by golang plugins (1.8 only). |
147 | 8 | 2 | 1 year, 3 months ago | * rerun - Recompiling and rerunning go apps when source changes. |
145 | 3 | 0 | 10 months ago | * moldova - Utility for generating random data based on an input template. |
141 | 22 | 1 | 1 year, 3 months ago | * go-trigger - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project. |
129 | 6 | 1 | 3 months ago | * robustly - Runs functions resiliently, catching and restarting panics. |
118 | 10 | 1 | 2 years ago | * gojq - JSON query in Golang. |
112 | 25 | 8 | 1 year, 7 months ago | * apm - Process manager for Golang applications with an HTTP API. |
98 | 12 | 1 | 10 days ago | * Death - Managing go application shutdown with signals. |
96 | 11 | 1 | a month ago | * gotenv - Load environment variables from .env or any io.Reader in Go. |
94 | 9 | 1 | 7 months ago | * lrserver - LiveReload server for Go. |
88 | 2 | 0 | a month ago | * chyle - Changelog generator using a git repository with multiple configuration possibilities. |
84 | 21 | 6 | a month ago | * kazaam - API for arbitrary transformation of JSON documents. |
78 | 3 | 1 | 1 year, 6 months ago | * jsongo - Fluent API to make it easier to create Json objects. |
78 | 20 | 6 | 2 months ago | * go-sitemap-generator - XML Sitemap generator written in Go. |
76 | 4 | 1 | 3 months ago | * onecache - Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc). |
72 | 26 | 1 | 14 days ago | * goreq - Enhanced simplified HTTP client based on gorequest. |
70 | 12 | 0 | a month ago | * util - Collection of useful utility functions. (strings, concurrency, manipulations, ...). |
66 | 3 | 2 | 1 year, 2 months ago | * UNIS - Common Architecture™ for String Utilities in Go. |
62 | 3 | 0 | 2 years ago | * netbug - Easy remote profiling of your services. |
59 | 6 | 2 | 3 months ago | * pm - Process (i.e. goroutine) manager with an HTTP API. |
57 | 2 | 3 | 1 year, 10 months ago | * xferspdy - Xferspdy provides binary diff and patch library in golang. |
56 | 1 | 2 | 1 year, 10 months ago | * multitick - Multiplexor for aligned tickers. |
53 | 2 | 1 | 25 days ago | * go-health - Health package simplifies the way you add health check to your services. |
49 | 5 | 17 | 4 months ago | * retry - Functional mechanism based on context to perform actions repetitively until successful. |
49 | 5 | 0 | 2 years ago | * jsonf - Console tool for highlighted formatting and struct query fetching JSON. |
46 | 0 | 0 | 2 years ago | * abutil - Collection of often-used Golang helpers. |
46 | 2 | 0 | 2 months ago | * repeat - Go implementation of different backoff strategies useful for retrying operations and heartbeating. |
44 | 2 | 0 | 3 months ago | * mssqlx - Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind. |
39 | 9 | 12 | 2 years ago | * golog - Easy and lightweight CLI tool to time track your tasks. |
38 | 2 | 5 | 3 years ago | * goback - Go simple exponential backoff package. |
37 | 12 | 1 | 15 days ago | * minquery - MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off). |
35 | 1 | 6 | 12 days ago | * circuit - An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern. |
35 | 4 | 0 | 2 months ago | * go-astitodo - Parse TODOs in your GO code. |
31 | 2 | 0 | 2 years ago | * golarm - Fire alarms with system events. |
27 | 5 | 0 | a month ago | * toolbox - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. |
27 | 7 | 1 | 2 months ago | * myhttp - Simple API to make HTTP GET requests with timeout support. |
26 | 1 | 1 | 1 year, 17 days ago | * intrinsic - Use x86 SIMD without writing any assembly code. |
26 | 1 | 1 | 2 years ago | * mp - Simple cli email parser. It currently takes stdin and outputs JSON. |
26 | 1 | 8 | 11 months ago | * copy-pasta - Universal multi-workstation clipboard that uses S3 like backend for the storage. |
25 | 2 | 0 | 6 hours ago | * go-excel - A simple and light reader to read a relate-db-like excel as a table. |
23 | 4 | 0 | a month ago | * clockwork - Simple and intuitive job scheduling library in Go. |
22 | 0 | 0 | 1 year, 1 month ago | * gpath - Library to simplify access struct fields with Go's expression in reflection. |
22 | 2 | 1 | 6 months ago | * retry-go - Retrying made simple and easy for golang. |
20 | 3 | 2 | 1 year, 16 days ago | * rclient - Readable, flexible, simple-to-use client for REST APIs. |
20 | 1 | 1 | 4 months ago | * rq - A nicer interface for golang stdlib HTTP client. |
19 | 4 | 1 | 2 years ago | * goplaceholder - a small golang lib to generate placeholder images. |
18 | 4 | 0 | 2 years ago | * ugo - ugo is slice toolbox with concise syntax for Go. |
18 | 1 | 0 | 3 months ago | * retry - Simple and easy retry mechanism package for Go. |
14 | 1 | 0 | 1 year, 11 days ago | * go-httpheader - Go library for encoding structs into Header fields. |
14 | 0 | 0 | 11 months ago | * dlog - Compile-time controlled logger to make your release smaller without removing debug calls. |
13 | 4 | 1 | 11 months ago | * goseaweedfs - SeaweedFS client library with almost full features. |
12 | 2 | 0 | 3 years ago | * okrun - go run error steamroller. |
11 | 1 | 0 | 1 year, 2 months ago | * filler - small utility to fill structs using "fill" tag. |
11 | 2 | 1 | 1 year, 3 months ago | * rerate - Redis-based rate counter and rate limiter for Go. |
10 | 1 | 1 | 3 months ago | * go-respond - Go package for handling common HTTP JSON responses. |
10 | 3 | 0 | 1 year, 5 months ago | * generate - runs go generate recursively on a specified path or environment variable and can filter by regex. |
10 | 0 | 0 | 2 months ago | * goxlsxwriter - Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files. |
9 | 0 | 0 | 5 months ago | * evaluator - Evaluate an expression dynamicly based on s-expression. It's simple and easy to extend. |
9 | 2 | 0 | 3 years ago | * fastlz - Wrap over FastLz (free, open-source, portable real-time compression library) for GoLang. |
8 | 1 | 0 | 2 years ago | * command - Command pattern for Go with thread safe serial and parallel dispatcher. |
7 | 2 | 0 | a month ago | * jsonhal - Simple Go package to make custom structs marshal into HAL compatible JSON responses. |
6 | 1 | 0 | 8 months ago | * structs - Implement simple functions to manipulate structs. |
5 | 1 | 0 | 4 months ago | * backscanner - A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward. |
3 | 1 | 0 | 1 year, 7 months ago | * jsonapi-errors - Go bindings based on the JSON API errors reference. |
Libraries for validation.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2698 | 278 | 68 | 3 months ago | * govalidator - Validators and sanitizers for strings, numerics, slices and structs. |
1928 | 143 | 22 | 10 days ago | * validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. |
695 | 38 | 0 | 16 days ago | * ozzo-validation - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. |
425 | 25 | 5 | 26 days ago | * govalidator - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. |
37 | 9 | 3 | 8 months ago | * validate - This package provides a framework for writing validations for Go applications. |
Libraries for version control.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1168 | 204 | 59 | a month ago | * git2go - Go bindings for libgit2. |
63 | 15 | 21 | 2 months ago | * go-vcs - manipulate and inspect VCS repositories in Go. |
57 | 7 | 2 | 11 months ago | * gh - Scriptable server and net/http middleware for GitHub Webhooks. |
11 | 1 | 0 | 2 years ago | * hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. |
Libraries for manipulating video.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
482 | 94 | 21 | 2 years ago | * goav - Comphrensive Go bindings for FFmpeg. |
374 | 86 | 27 | 10 days ago | * gmf - Go bindings for FFmpeg av* libraries. |
207 | 9 | 0 | 4 months ago | * go-astits - Parse and demux MPEG Transport Streams (.ts) natively in GO. |
143 | 29 | 10 | 7 months ago | * gst - Go bindings for GStreamer. |
110 | 9 | 0 | 3 months ago | * go-astisub - Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.). |
12 | 2 | 0 | a month ago | * v4l - Video capture library for Linux, written in Go. |
6 | 0 | 0 | 5 months ago | * libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass. |
Full stack web frameworks.
- aah - Scalable, performant, rapid development Web framework for Go.
- Buffalo - Bringing the productivity of Rails to Go!
- REST Layer - Framework to build REST/GraphQL API on top of databases with mostly configuration over code.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
18629 | 2192 | 222 | 6 days ago | * 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. |
15999 | 3439 | 538 | a day ago | * Beego - beego is an open-source, high-performance web framework for the Go programming language. |
10929 | 963 | 129 | a month ago | * Echo - High performance, minimalist Go web framework. |
9997 | 1252 | 71 | 3 months ago | * Revel - High-productivity web framework for the Go language. |
3135 | 337 | 42 | 9 months ago | * go-json-rest - Quick and easy way to setup a RESTful JSON API. |
2884 | 296 | 32 | 9 days ago | * goa - Framework for developing microservices based on the design of Ruby's Praxis. |
2441 | 227 | 12 | 2 months ago | * Macaron - Macaron is a high productive and modular design web framework in Go. |
2264 | 142 | 7 | 7 days ago | * Gizmo - Microservice toolkit used by the New York Times. |
2048 | 138 | 7 | 8 months ago | * utron - Lightweight MVC framework for Go(Golang). |
983 | 77 | 28 | 1 year, 2 months ago | * tigertonic - Go framework for building JSON web services inspired by Dropwizard. |
731 | 104 | 8 | 2 months ago | * tango - Micro & pluggable web framework for Go. |
514 | 25 | 0 | 2 years ago | * traffic - Sinatra inspired regexp/pattern mux and web framework for Go. |
392 | 13 | 5 | 7 months ago | * gongular - Fast Go web framework with input mapping/validation and (DI) Dependency Injection. |
366 | 38 | 6 | 10 months ago | * neo - Neo is minimal and fast Go Web Framework with extremely simple API. |
327 | 36 | 9 | 8 months ago | * mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. |
311 | 19 | 8 | 1 year, 4 months ago | * Gondola - The web framework for writing faster sites, faster. |
221 | 17 | 6 | 1 year, 4 months ago | * 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. |
154 | 34 | 0 | 1 year, 3 months ago | * Gem - Simple and fast web framework, friendly to REST API. |
146 | 8 | 0 | 7 months ago | * go-relax - Framework of pluggable components to build RESTful API's. |
141 | 18 | 0 | 2 years ago | * Zerver - Zerver is an expressive, modular, feature completed RESTful framework. |
107 | 10 | 2 | 1 year, 5 months ago | * go-rest - Small and evil REST framework for Go. |
85 | 8 | 0 | 6 months ago | * violetear - Go HTTP router. |
75 | 8 | 0 | 11 hours ago | * Air - Ideal RESTful web framework for Go. |
61 | 3 | 6 | a month ago | * Golax - A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more. |
47 | 1 | 0 | a day ago | * Aero - High-performance web framework for Go, reaches top scores in Lighthouse. |
43 | 2 | 1 | 9 months ago | * YARF - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. |
42 | 11 | 0 | 1 year, 5 months ago | * Florest - High-performance workflow based REST API framework. |
42 | 4 | 2 | a month ago | * WebGo - A micro-framework to build web apps; with handler chaining, middleware and context injection. With standard library compliant HTTP handlers(i.e. http.HandlerFunc). |
41 | 8 | 0 | 6 months ago | * Microservice - The framework for the creation of microservices, written in Golang. |
37 | 3 | 0 | a month ago | * Fireball - More "natural" feeling web framework. |
29 | 2 | 0 | 3 years ago | * Resoursea - REST framework for quickly writing resource based services. |
20 | 0 | 0 | 6 months ago | * rex - Rex is a library for modular development built upon gorilla/mux, fully compatible with net/http . |
2 | 1 | 1 | 5 months ago | * Banjo - Very simple and fast web framework for Go. |
1 | 0 | 0 | 4 years ago | * sawsij - lightweight, open-source web framework for building high-performance, data-driven web applications. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
904 | 88 | 7 | 2 months ago | * Tollbooth - Rate limit HTTP request handler. |
818 | 74 | 1 | a month ago | * CORS - Easily add CORS capabilities to your API. |
693 | 18 | 2 | 4 months ago | * go-server-timing - Add/parse Server-Timing header. |
348 | 38 | 4 | a month ago | * Limiter - Dead simple rate limit middleware for Go. |
66 | 11 | 1 | 1 year, 9 months ago | * XFF - Handle X-Forwarded-For header and friends. |
28 | 0 | 0 | 2 years ago | * formjson - Transparently handle JSON input as a standard form POST. |
9 | 0 | 0 | 4 months ago | * client-timing - An HTTP client for Server-Timing header. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5633 | 458 | 8 | 11 days ago | * negroni - Idiomatic HTTP middleware for Golang. |
1591 | 100 | 6 | 8 months ago | * alice - Painless middleware chaining for Go. |
1107 | 91 | 0 | 8 months ago | * render - Go package for easily rendering JSON, XML, and HTML template responses. |
478 | 35 | 7 | 9 months ago | * stats - Go middleware that stores various information about your web application. |
283 | 16 | 1 | 1 year, 7 months ago | * interpose - Minimalist net/http middleware for golang. |
204 | 8 | 0 | 3 years ago | * muxchain - Lightweight middleware for net/http. |
92 | 5 | 0 | 6 months ago | * renderer - Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go. |
81 | 1 | 0 | 2 years ago | * Volatile - Minimalist middleware stack promoting flexibility, good practices and clean code. |
79 | 7 | 1 | a month ago | * rye - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context. |
69 | 1 | 0 | 1 year, 4 months ago | * gores - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. |
63 | 2 | 0 | 1 year, 4 months ago | * chain - Handler wrapper chaining with scoped data (net/context-based "middleware"). |
52 | 5 | 0 | 3 years ago | * go-wrap - Small middlewares package for net/http. |
6 | 0 | 0 | 1 year, 4 months ago | * catena - http.Handler wrapper catenation (same API as "chain"). |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
7292 | 727 | 54 | 2 months ago | * httprouter - High performance router. Use this and the standard http handlers to form a very high performance web framework. |
6511 | 785 | 27 | a month ago | * mux - Powerful URL router and dispatcher for golang. |
3749 | 259 | 24 | 2 months ago | * chi - Small, fast and expressive HTTP router built on net/context. |
1324 | 100 | 18 | 9 months ago | * gocraft/web - Mux and middleware package in Go. |
1139 | 79 | 3 | 18 days ago | * Bone - Lightning Fast HTTP Multiplexer. |
1127 | 103 | 6 | 10 months ago | * pat - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. |
650 | 45 | 3 | 1 year, 7 months ago | * Goji - Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context . |
521 | 69 | 10 | 4 months ago | * fasthttprouter - High performance router forked from httprouter . The first router fit for fasthttp . |
359 | 18 | 1 | 8 months ago | * lars - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. |
347 | 11 | 0 | 5 months ago | * Siesta - Composable framework to write middleware and handlers. |
340 | 31 | 1 | 4 months ago | * httptreemux - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. |
287 | 44 | 10 | 4 months ago | * ozzo-routing - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. |
222 | 25 | 13 | a month ago | * vestigo - Performant, stand-alone, HTTP compliant URL Router for go web applications. |
147 | 10 | 0 | 3 months ago | * gowww/router - Lightning fast HTTP router fully compatible with the net/http.Handler interface. |
110 | 13 | 2 | 1 year, 9 months ago | * zeus - Very simple and fast HTTP router for Go. |
91 | 6 | 0 | 5 months ago | * alien - Lightweight and fast http router from outer space. |
86 | 4 | 0 | 4 months ago | * Bxog - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. |
85 | 26 | 0 | 3 months ago | * xujiajun/gorouter - A simple and fast HTTP router for Go. |
79 | 7 | 2 | 1 year, 29 days ago | * xmux - High performance muxer based on httprouter with net/context support. |
58 | 3 | 3 | 9 months ago | * pure - Is a lightweight HTTP router that sticks to the std "net/http" implementation. |
33 | 4 | 2 | 13 days ago | * GoRouter - GoRouter is a Server/API micro framwework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context . |
17 | 1 | 0 | 3 years ago | * medeina - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. |
16 | 2 | 0 | 8 months ago | * FastRouter - a fast, flexible HTTP router written in Go. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
407 | 83 | 37 | 14 days ago | * go-ole - Win32 OLE implementation for golang. |
68 | 1 | 0 | 2 months ago | * d3d9 - Go bindings for Direct3D9. |
Libraries and tools for manipulating XML.
Go software and plugins.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
122 | 23 | 0 | a month ago | * xquery - XQuery lets you extract data from HTML/XML documents using XPath expression. |
66 | 11 | 1 | a month ago | * xpath - XPath package for Go. |
13 | 7 | 8 | 3 months ago | * XML-Comp - Simple command line XML comparer that generates diffs of folders, files and tags. |
3 | 0 | 0 | 1 year, 1 month ago | * xmlwriter - Procedural XML generation API based on libxml2's xmlwriter module. |
- 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.
- GolangCI - GolangCI is an automated Golang code review service for GitHub pull requests. Service is open source and it's free for open source projects.
- 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.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2788 | 209 | 38 | 4 days ago | * Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. |
2569 | 323 | 62 | 6 days ago | * GoLint - Golint is a linter for Go source code. |
1063 | 73 | 7 | 7 days ago | * errcheck - Errcheck is a program for checking for unchecked errors in Go programs. |
822 | 52 | 9 | 6 months ago | * gcvis - Visualise Go program GC trace data in real time. |
712 | 14 | 0 | 3 months ago | * interfacer - Linter that suggests interface types. |
485 | 21 | 9 | 13 days ago | * php-parser - A Parser for PHP written in Go. |
275 | 22 | 0 | 7 months ago | * goast-viewer - Web based Golang AST visualizer. |
222 | 10 | 1 | 9 months ago | * gostatus - Command line tool, shows the status of repositories that contain Go packages. |
215 | 11 | 8 | 5 days ago | * unconvert - Remove unnecessary type conversions from Go source. |
212 | 18 | 0 | a month ago | * go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects. |
147 | 7 | 44 | a day ago | * go-critic - source code linter that brings checks that are currently not implemented in other linters. |
144 | 2 | 6 | 1 year, 5 months ago | * apicompat - Checks recent changes to a Go project for backwards incompatible changes. |
112 | 6 | 1 | 7 months ago | * dupl - Tool for code clone detection. |
79 | 10 | 4 | 4 months ago | * 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. |
63 | 12 | 1 | 2 years ago | * validate - Automatically validates struct fields with tags. |
59 | 6 | 0 | 9 months ago | * lint - Run linters as part of go test. |
38 | 1 | 0 | 2 years ago | * go-outdated - Console application that displays outdated packages. |
8 | 1 | 1 | 12 days ago | * tarp - tarp finds functions and methods without direct unit tests in Go source code. |
0 | 0 | 0 | Unknown | * gosimple - gosimple is a linter for Go source code that specialises on simplifying code. |
0 | 0 | 0 | Unknown | * 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#. |
0 | 0 | 0 | Unknown | * unused - unused checks Go code for unused constants, variables, functions and types. |
- Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
8720 | 887 | 65 | 22 days ago | * vim-go - Go development plugin for Vim. |
4349 | 505 | 66 | 2 months ago | * gocode - Autocompletion daemon for the Go programming language. |
3671 | 399 | 149 | 9 days ago | * vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language. |
2941 | 257 | 234 | a month ago | * GoSublime - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features. |
1399 | 119 | 71 | 3 months ago | * go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting. |
782 | 142 | 49 | 11 days ago | * go-mode - Go mode for GNU/Emacs. |
765 | 242 | 47 | 10 months ago | * Goclipse - Eclipse plugin for Go. |
145 | 23 | 7 | 3 months ago | * Watch - Runs a command in an acme win on file changes. |
75 | 18 | 0 | 2 years ago | * vim-compiler-go - Vim plugin to highlight syntax errors on save. |
14 | 3 | 7 | 2 years ago | * velour - IRC client for the acme editor. |
10 | 2 | 3 | 4 months ago | * go-language-server - A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol. |
5 | 0 | 2 | 6 days ago | * theia-go-extension - Go language support for the Theia IDE. |
- gonerics - Idiomatic Generics in Go.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1243 | 74 | 25 | a month ago | * gotests - Generate Go tests from your source code. |
654 | 48 | 24 | 1 year, 3 months ago | * genny - Elegant generics for Go. |
147 | 10 | 4 | 3 months ago | * re2dfa - Transform regular expressions into finite state machines and output Go source code. |
15 | 1 | 0 | 5 months ago | * generic - flexible data type for Go. |
- gb - An easy to use project based build tool for the Go programming language.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
2768 | 203 | 34 | 18 hours ago | * OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub. |
2423 | 448 | 241 | 6 hours ago | * go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. |
1151 | 47 | 6 | 3 months ago | * go-callvis - Visualize call graph of your Go program using dot format. |
274 | 1 | 3 | a month ago | * richgo - Enrich go test outputs with text decorations. |
233 | 9 | 2 | 4 months ago | * depth - Visualize dependency trees of any package by analyzing imports. |
174 | 6 | 0 | 1 year, 7 months ago | * rts - RTS: response to struct. Generates Go structs from server responses. |
91 | 6 | 1 | 1 year, 8 months ago | * colorgo - Wrapper around go command for colorized go build output. |
35 | 6 | 1 | 7 months ago | * go-pkg-complete - Bash completion for go and wgo. |
4 | 0 | 0 | 5 months ago | * generator-go-lang - A Yeoman generator to get new Go projects started. |
Software written in Go.
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- Wide - Web-based IDE for Teams using Golang.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
49474 | 14442 | 3227 | 9 hours ago | * Moby - Collaborative project for the container ecosystem to assemble container-based systems. |
38494 | 13466 | 3104 | 7 hours ago | * kubernetes - Container Cluster Manager from Google. |
16203 | 1620 | 269 | 2 days ago | * traefik - Reverse proxy and load balancer with support for multiple backends. |
8974 | 842 | 889 | 19 hours ago | * Gitea - Fork of Gogs, entirely community driven. |
8237 | 524 | 18 | 4 days ago | * Vegeta - HTTP load testing tool and library. It's over 9000! |
7794 | 2128 | 386 | 5 days ago | * Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. |
3644 | 242 | 133 | 1 year, 4 months ago | * GVM - GVM provides an interface to manage Go versions. |
3521 | 271 | 42 | 2 months ago | * Hey - Hey is a tiny program that sends some load to a web application. |
3013 | 255 | 39 | a month ago | * webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. |
2748 | 198 | 37 | 4 months ago | * gox - Dead simple, no frills Go cross compile tool. |
2562 | 427 | 388 | 10 days ago | * bosun - Time Series Alerting Framework. |
1968 | 339 | 54 | 2 months ago | * Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. |
1575 | 201 | 153 | 16 days ago | * aptly - aptly is a Debian repository management tool. |
1518 | 70 | 9 | 4 months ago | * goxc - build tool for Go, with a focus on cross-compiling and packaging. |
1454 | 30 | 4 | 22 days ago | * fac - Command-line user interface to fix git merge conflicts |
1228 | 103 | 15 | 3 months ago | * kala - Simplistic, modern, and performant job scheduler. |
1036 | 58 | 3 | 9 days ago | * bombardier - Fast cross-platform HTTP benchmarking tool. |
942 | 100 | 17 | 2 months ago | * StatusOK - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. |
930 | 133 | 42 | 1 year, 4 months ago | * s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. |
928 | 98 | 17 | 5 months ago | * Banshee - Anomalies detection system for periodic metrics. |
587 | 59 | 8 | 1 year, 6 months ago | * go-selfupdate - Enable your Go applications to self update. |
438 | 58 | 41 | 7 days ago | * Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker). |
408 | 27 | 2 | 17 days ago | * skm - SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily! |
294 | 44 | 6 | 3 days ago | * aurora - Cross-platform web-based Beanstalkd queue server console. |
293 | 26 | 7 | 1 year, 11 months ago | * 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. |
253 | 12 | 0 | 8 months ago | * govvv - “go build” wrapper to easily add version information into Go binaries. |
250 | 48 | 9 | 1 year, 5 months ago | * Mora - REST server for accessing MongoDB documents and meta data. |
216 | 21 | 7 | 4 years ago | * godbg - Web-based gdb front-end application. |
182 | 28 | 4 | 1 year, 8 months ago | * dogo - Monitoring changes in the source file and automatically compile and run (restart). |
177 | 9 | 9 | 30 days ago | * lstags - Tool and API to sync Docker images across different registries. |
175 | 17 | 2 | 17 days ago | * manssh - manssh is a command line tool for managing your ssh alias config easily. |
174 | 17 | 6 | 2 years ago | * gobrew - gobrew lets you easily switch between multiple versions of go. |
157 | 12 | 1 | 2 months ago | * Pewpew - Flexible HTTP command line stress tester. |
155 | 13 | 0 | 3 months ago | * ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB. |
135 | 2 | 0 | 4 months ago | * Blast - A simple tool for API load testing and batch jobs. |
105 | 4 | 1 | 7 months ago | * grapes - Lightweight tool designed to distribute commands over ssh with ease. |
47 | 10 | 1 | 7 months ago | * easyssh-proxy - Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand . |
40 | 5 | 10 | 2 years ago | * Dropship - Tool for deploying code via cdn. |
38 | 7 | 0 | 2 months ago | * winrm-cli - Cli tool to remotely execute commands on Windows machines. |
32 | 5 | 5 | 12 days ago | * drone-scp - Copy files and artifacts via SSH using a binary, docker or Drone CI. |
32 | 1 | 6 | 1 year, 2 months ago | * Rodent - Rodent helps you manage Go versions, projects and track dependencies. |
21 | 3 | 3 | 5 months ago | * kcli - Command line tool for inspecting kafka topics/partitions/messages. |
15 | 3 | 1 | 9 months ago | * drone-jenkins - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. |
14 | 3 | 0 | 1 year, 4 months ago | * awsenv - Small binary that loads Amazon (AWS) environment variables for a profile. |
4 | 1 | 0 | 8 days ago | * lwc - A live-updating version of the UNIX wc command. |
3 | 0 | 2 | 1 year, 8 months ago | * sg - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response. |
- Docker - Open platform for distributed applications for developers and sysadmins.
- GoLand - Full featured cross-platform Go IDE.
- hugo - Fast and Modern Static Website Engine.
- 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.
- syncthing - Open, decentralized file synchronization tool and protocol.
- tsuru - Extensible and open source Platform as a Service software.
Where to discover new Go libraries.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
9072 | 861 | 104 | 6 days ago | * Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. |
8066 | 773 | 471 | a month ago | * rkt - App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. |
5557 | 225 | 16 | 6 months ago | * Comcast - Simulate bad network connections. |
5512 | 738 | 27 | 7 hours ago | * Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek. |
5192 | 867 | 70 | 19 days ago | * confd - Manage local application configuration files using templates and data from etcd or consul. |
4678 | 344 | 233 | a day ago | * restic - De-duplicating backup program. |
4563 | 611 | 282 | 15 hours ago | * LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE. |
3615 | 285 | 5 | 4 months ago | * nes - Nintendo Entertainment System (NES) emulator written in Go. |
2848 | 157 | 38 | 7 days ago | * toxiproxy - Proxy to simulate network and system conditions for automated tests. |
2418 | 306 | 106 | 2 months ago | * fleet - Distributed init System. |
2236 | 146 | 216 | 6 days ago | * Duplicacy - A cross-platform network and cloud backup tool based on the idea of lock-free deduplication. |
2043 | 169 | 13 | 10 months ago | * myLG - Command Line Network Diagnostic tool written in Go. |
1751 | 82 | 33 | 2 months ago | * Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. |
1740 | 263 | 144 | 7 days ago | * snap - Powerful telemetry framework. |
1655 | 140 | 8 | 1 year, 7 months ago | * 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. |
1329 | 41 | 11 | 4 months ago | * borg - Terminal based search engine for bash snippets. |
1110 | 155 | 3 | 15 hours ago | * Pipe - A small and beautiful blogging platform. |
850 | 29 | 11 | a month ago | * Go Package Store - App that displays updates for the Go packages in your GOPATH. |
715 | 48 | 8 | 1 year, 4 months ago | * Postman - Command-line utility for batch-sending email. |
578 | 39 | 11 | 2 months ago | * Leaps - Pair programming service using Operational Transforms. |
495 | 63 | 19 | 2 months ago | * peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. |
451 | 44 | 12 | 10 days ago | * Documize - Modern wiki software that integrates data from SaaS tools. |
409 | 82 | 15 | 5 months ago | * vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. |
359 | 41 | 2 | 1 year, 1 month ago | * 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. |
275 | 16 | 24 | a month ago | * wellington - Sass project management tool, extends the language with sprite functions (like Compass). |
236 | 30 | 1 | 5 days ago | * shell2http - Executing shell commands via http server (for prototyping or remote control). |
231 | 42 | 2 | 5 days ago | * GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go. |
226 | 32 | 1 | 21 days ago | * ipe - Open source Pusher server implementation compatible with Pusher client libraries written in GO. |
182 | 15 | 19 | 29 days ago | * gocc - Gocc is a compiler kit for Go written in Go. |
177 | 8 | 0 | 2 months ago | * ide - Browser accessible IDE. Designed for Go with Go. |
165 | 6 | 1 | 2 years ago | * orange-cat - Markdown previewer written in Go. |
164 | 15 | 13 | 1 year, 4 months ago | * Tenyks - Service oriented IRC bot using Redis and JSON for messaging. |
163 | 22 | 0 | 1 year, 6 months ago | * Cherry - Tiny webchat server in Go. |
103 | 6 | 0 | 22 days ago | * Orbit - A simple tool for running commands and generating files from templates. |
67 | 7 | 0 | 2 years ago | * boxed - Dropbox based blog engine. |
47 | 4 | 1 | 2 months ago | * DDNS - Personal DDNS client with Digital Ocean Networking DNS as backend. |
43 | 8 | 6 | 2 years ago | * websysd - Web based process manager (like Marathon or Upstart). |
21 | 4 | 0 | 1 year, 8 months ago | * toto - Simple proxy server written in Go language, can be used together with browser. |
16 | 1 | 1 | 5 months ago | * JayDiff - JSON diff utility written in Go. |
14 | 1 | 5 | 7 months ago | * Snitch - Simple way to notify your team and many tools when someone has deployed any application via Tsuru. |
11 | 2 | 0 | 11 days ago | * term-quiz - Quizzes for your terminal. |
11 | 0 | 0 | 7 days ago | * naclpipe - Simple NaCL EC25519 based crypto pipe tool written in Go. |
11 | 0 | 0 | 2 years ago | * GoDocTooltip - Chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1095 | 142 | 25 | 1 year, 1 month ago | * go-http-routing-benchmark - Go HTTP request router benchmark and comparison. |
855 | 122 | 31 | 1 year, 11 months ago | * skynet - Skynet 1M threads microbenchmark. |
748 | 90 | 3 | 5 months ago | * go-web-framework-benchmark - Go web framework benchmark. |
663 | 63 | 4 | 9 months ago | * go_serialization_benchmarks - Benchmarks of Go serialization methods. |
140 | 14 | 0 | 1 year, 3 months ago | * speedtest-resize - Compare various Image resize algorithms for the Go language. |
98 | 12 | 0 | 2 years ago | * go-benchmarks - Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches. |
88 | 24 | 2 | 4 years ago | * autobench - Framework to compare the performance between different Go versions. |
82 | 6 | 1 | 2 years ago | * gospeed - Go micro-benchmarks for calculating the speed of language constructs. |
51 | 2 | 0 | 3 years ago | * gocostmodel - Benchmarks of common basic operations for the Go language. |
44 | 7 | 2 | 3 years ago | * golang-sql-benchmark - Collection of benchmarks for popular Go database/SQL utilities. |
15 | 0 | 0 | 2 years ago | * golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. |
15 | 2 | 0 | 1 year, 3 months ago | * go-benchmark-app - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results. |
13 | 1 | 0 | 4 years ago | * kvbench - Key/Value database benchmark. |
5 | 1 | 1 | 3 years ago | * go-type-assertion-benchmark - Naive performance test of two ways to do type assertion in Go. |
- Capital Go - Washington, D.C., USA
- dotGo - Paris, France
- GoCon - Tokyo, Japan
- GoLab - Florence, Italy
- GolangUK - London, UK
- GopherChina - Shanghai, China
- GopherCon - Denver, USA
- GopherCon Brazil - Florianópolis, BR
- GopherCon Europe - Reykjavik, Iceland
- GopherCon India - Pune, India
- GopherCon Russia - Moscow, Russia
- GopherCon Singapore - Mapletree Business City, Singapore
- GothamGo - New York City, USA
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Building Web Apps With Go
- Go 101 - A book focusing on Go syntax/semantics and all kinds of details
- Go Bootcamp
- Learning Go
- Network Programming With Go
- The Go Programming Language
- Web Application with Go the Anti-Textbook
stars | forks | issues | last_commit | description |
---|---|---|---|---|
5061 | 646 | 10 | 1 year, 16 days ago | * GoBooks - A curated list of Go books. |
stars | forks | issues | last_commit | description |
---|---|---|---|---|
1305 | 49 | 9 | 3 months ago | * gophers - Gopher artworks by Ashley McNamara |
1106 | 38 | 2 | 25 days ago | * gophers - Free gophers |
207 | 23 | 7 | 10 months ago | * gopherize.me - Gopherize yourself |
44 | 1 | 2 | 1 year, 3 months ago | * gophers - random gopher graphics |
34 | 2 | 0 | 12 days ago | * gopher-logos - adorable gopher logos |
20 | 3 | 0 | 4 months ago | * Go-gopher-Vector - Go gopher Vector Data [.ai, .svg] |
17 | 0 | 0 | 3 months ago | * gophers - Gopher amigurumi toy pattern |
- Go Language NYC
- Go London User Group
- Go Toronto
- Go User Group Atlanta
- GoBridge, San Francisco, CA
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Hamburg - Germany
- Golang Israel
- Golang Joinville - Brazil
- Golang Lima - Peru
- Golang Lyon
- Golang Melbourne
- Golang Mountain View
- Golang New York
- Golang Paris
- Golang Pune
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Vancouver, BC
- Golang Москва
- Golang Питер
- Istanbul Golang
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
Add the group of your city/country here (send PR)
- Awesome Go @LibHunt - Your go-to Go Toolbox.
- Go Blog - The official Go blog.
- Go Challenge - Learn Go by solving problems and getting feedback from Go experts.
- Go Forum - Forum to discuss Go.
- Go In 5 Minutes - 5 minute screencasts focused on getting one thing done.
- Go Report Card - A report card for your Go package.
- godoc.org - Documentation for open source Go packages.
- Golang Flow - Post Updates, News, Packages and more.
- Golang News - Links and news about Go programming.
- golang-nuts - Go mailing list.
- Google Plus Community - The Google+ community for #golang enthusiasts.
- Gopher Community Chat - Join Our New Slack Community For Gophers (Understand how it came).
- gowalker.org - Go Project API documentation.
- justforfunc - Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy @francesc.
- r/Golang - News about Go.
stars | forks | issues | last_commit | description |
---|---|---|---|---|
21715 | 2799 | 3 | 16 days ago | * awesome-awesomeness - List of other amazingly awesome lists. |
12021 | 1175 | 6 | 20 days ago | * Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers. |
133 | 8 | 1 | 2 years ago | * golang-graphics - Collection of Go images, graphics, and art. |
27 | 0 | 0 | 9 months ago | * gocryforhelp - Collection of Go projects that needs help. Good place to start your open-source way in Go. |
0 | 0 | 0 | Unknown | * Trending Go repositories on GitHub today - Good place to find new Go libraries. |
0 | 0 | 0 | Unknown | * Go Projects - List of projects on the Go community wiki. |
- A Tour of Go - Interactive tour of Go.
- Building Go Web Applications and Microservices Using Gin - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
- Games With Go - A video series teaching programming and game development.
- Go By Example - Hands-on introduction to Go using annotated example programs.
- Go database/sql tutorial - Introduction to database/sql.
- Golangbot - Tutorials to get started with programming in Go.
- Hackr.io - Learn Go from the best online golang tutorials submitted & voted by the golang programming community.
- How to Use Godog for Behavior-driven Development in Go - Get started with Godog — a Behavior-driven development framework for building and testing Go applications.
- Your basic Go - Huge collection of tutorials and how to's