Skip to content
/ agos Public

Awesome go projects sorter. Collect Github projects information and sorted by star.

License

Notifications You must be signed in to change notification settings

lizzz49/agos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

agos

Awesome go projects sorter. Collect Github projects (collected by Awesome go)information and sorted by star.

The Awesome go project is an awesome project for gopher, which collects and organizes a variety of useful projects. However, choose which project needs to consider the start, fork, commits and contributors of the project. So I created this project and collected the start, fork and other indicators of the github project mentioned in the awesome go project.

Awesome go

Audio and Music

No.NameCategoryStarForkCommitsContributorsLicense
1OtoAudio and Music425281488Apache-2.0
Oto - A low-level library to play sound on multiple platforms.
2PortAudioAudio and Music29944403MIT
PortAudio - Go bindings for the PortAudio audio I/O library.
3music-theoryAudio and Music25323863MIT
music-theory - Music theory models in Go.
4waveformAudio and Music24821862MIT
waveform - Go package capable of generating waveform images from audio streams.
5id3v2Audio and Music108195337MIT
id3v2 - Fast and stable ID3 parsing and writing library for Go.
6flacAudio and Music101192917Unlicense
flac - Native Go FLAC encoder/decoder with support for FLAC streams.
7mixAudio and Music98181683MIT
mix - Sequence-based Go-native audio mixer for music apps.
8go-soxAudio and Music9220367MIT
go-sox - libsox bindings for go.
9mp3Audio and Music899193MIT
mp3 - Native Go MP3 decoder.
10flacAudio and Music839274MIT
flac - No-frills native Go FLAC decoder that decodes FLAC files into byte slices.
11malgoAudio and Music7012634Unlicense
malgo - Mini audio library.
12taglibAudio and Music6617264
taglib - Go bindings for taglib.
13gaadAudio and Music56693Apache-2.0
gaad - Native Go AAC bitstream parser.
14minimp3Audio and Music256180MIT
minimp3 - Lightweight MP3 decoder library.
15go_mediainfoAudio and Music248201MIT
go_mediainfo - libmediainfo bindings for go.
16vorbisAudio and Music224233View license
vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies).
17EasyMIDIAudio and Music224163MIT
EasyMIDI - EasyMidi is a simple and reliable library for working with standard midi file (SMF).
18gosamplerateAudio and Music80222BSD-2-Clause
gosamplerate - libsamplerate bindings for go.
19portmidiAudio and Music0000
portmidi - Go bindings for PortMidi.

back

Authentication and OAuth

No.NameCategoryStarForkCommitsContributorsLicense
1jwt-goAuthentication and OAuth586055731741MIT
jwt-go - Golang implementation of JSON Web Tokens (JWT).
2oauth2Authentication and OAuth2360537369108BSD-3-Clause
oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
3gothAuthentication and OAuth224026348281MIT
goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
4authbossAuthentication and OAuth191512045317MIT
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.
5osinAuthentication and OAuth153632518946BSD-3-Clause
osin - Golang OAuth2 server library.
6go-oauth2-serverAuthentication and OAuth12691845259MPL-2.0
go-oauth2-server - Standalone, specification-compliant, OAuth2 server written in Golang.
7go-joseAuthentication and OAuth111422851243Apache-2.0
go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
8gologinAuthentication and OAuth103867953MIT
gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
9gorbacAuthentication and OAuth900131775MIT
gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
10loginsrvAuthentication and OAuth8059332128MIT
loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
11scsAuthentication and OAuth5214412010MIT
scs - Session Manager for HTTP servers.
12permissions2Authentication and OAuth349302247MIT
permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
13pasetoAuthentication and OAuth2369183MIT
paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO).
14httpauthAuthentication and OAuth178194111MIT
httpauth - HTTP Authentication middleware.
15casbinAuthentication and OAuth163484360433Apache-2.0
casbin - Authorization library that supports access control models like ACL, RBAC, ABAC.
16jwt-authAuthentication and OAuth151221254MIT
jwt-auth - JWT middleware for Golang http servers with many configuration options.
17sessionAuthentication and OAuth888722Apache-2.0
session - Go session management for web servers (including support for Google App Engine - GAE).
18jwtAuthentication and OAuth8341151View license
jwt - Lightweight JSON Web Token (JWT) library.
19brancaAuthentication and OAuth7610161MIT
branca - Golang implementation of Branca Tokens.
20jwtAuthentication and OAuth6814495MIT
jwt - Clean and easy to use implementation of JSON Web Tokens (JWT).
21sessionsAuthentication and OAuth465261MIT
sessions - Dead simple, highly performant, highly customizable sessions service for go http servers.
22securecookieAuthentication and OAuth3231042MIT
securecookie - Efficient secure cookie encoding/decoding.
23rbacAuthentication and OAuth270541MIT
rbac - Minimalistic RBAC package for Go applications.
24sessiongate-goAuthentication and OAuth80381MIT
sessiongate-go - Go session management using the SessionGate Redis module.
25signedvalueAuthentication and OAuth71181MIT
signedvalue - Signed and timestamped strings compatible with Tornado's create_signed_value, decode_signed_value, and therefore set_secure_cookie and get_secure_cookie.
26cookiestxtAuthentication and OAuth2151MIT
cookiestxt - provides parser of cookies.txt file format.
27sjwtAuthentication and OAuth030342MIT
sjwt - Simple jwt generator and parser.

back

Benchmarks

No.NameCategoryStarForkCommitsContributorsLicense
1go-http-routing-benchmarkBenchmarks125616714225View license
go-http-routing-benchmark - Go HTTP request router benchmark and comparison.
2go-web-framework-benchmarkBenchmarks98611913410Apache-2.0
go-web-framework-benchmark - Go web framework benchmark.
3skynetBenchmarks91013011122
skynet - Skynet 1M threads microbenchmark.
4go_serialization_benchmarksBenchmarks8567411525
go_serialization_benchmarks - Benchmarks of Go serialization methods.
5speedtest-resizeBenchmarks17213535View license
speedtest-resize - Compare various Image resize algorithms for the Go language.
6go-benchmarksBenchmarks1211861Apache-2.0
go-benchmarks - Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
7gospeedBenchmarks935281View license
gospeed - Go micro-benchmarks for calculating the speed of language constructs.
8autobenchBenchmarks892618622
autobench - Framework to compare the performance between different Go versions.
9gocostmodelBenchmarks522262BSD-3-Clause
gocostmodel - Benchmarks of common basic operations for the Go language.
10golang-sql-benchmarkBenchmarks48791
golang-sql-benchmark - Collection of benchmarks for popular Go database/SQL utilities.
11go-benchmark-appBenchmarks191641MIT
go-benchmark-app - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
12golang-micro-benchmarksBenchmarks17191
golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others.
13kvbenchBenchmarks141281
kvbench - Key/Value database benchmark.

back

Bot Building

No.NameCategoryStarForkCommitsContributorsLicense
1telegram-bot-apiBot Building159827232847MIT
telegram-bot-api - Simple and clean Telegram bot client.
2telebotBot Building94013727634MIT
telebot - Telegram bot framework written in Go.
3go-chat-botBot Building46412233626MIT
go-chat-bot - IRC, Slack & Telegram bot written in Go.
4slackerBot Building304371259MIT
slacker - Easy to use framework to create Slack bots.
5Golang CryptoTrading BotBot Building215461583GPL-3.0
Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges.
6tbotBot Building214301867MIT
tbot - Telegram bot server with API similar to net/http.
7TenyksBot Building167153974MIT
Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
8KelpBot Building155434878View license
Kelp - official trading and market-making bot for the Stellar DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
9go-sarahBot Building13674412MIT
go-sarah - Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
10hanuBot Building10810492MIT
hanu - Framework for writing Slack bots.
11go-tgbotBot Building843693Apache-2.0
go-tgbot - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
12margeletBot Building5691645MIT
margelet - Framework for building Telegram bots.
13govkbotBot Building243941MIT
govkbot - Simple Go VK bot library.
14slackscotBot Building1042174MIT
slackscot - Another framework for building Slack bots.
15michaBot Building102951MIT
micha - Go Library for Telegram bot api.

back

CSS Preprocessors

No.NameCategoryStarForkCommitsContributorsLicense
1gcssCSS Preprocessors423291022MIT
gcss - Pure Go CSS Preprocessor.
2go-libsassCSS Preprocessors1292132210Apache-2.0
go-libsass - Go wrapper to the 100% Sass compatible libsass project.

back

Code Analysis

No.NameCategoryStarForkCommitsContributorsLicense
1GoLintCode Analysis313340117855BSD-3-Clause
GoLint - Golint is a linter for Go source code.
2errcheckCode Analysis13179423926MIT
errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
3gcvisCode Analysis91456658BSD-2-Clause
gcvis - Visualise Go program GC trace data in real time.
4php-parserCode Analysis616366805MIT
php-parser - A Parser for PHP written in Go.
5go-criticCode Analysis5664346232MIT
go-critic - source code linter that brings checks that are currently not implemented in other linters.
6goast-viewerCode Analysis36835215MIT
goast-viewer - Web based Golang AST visualizer.
7go-cleanarchCode Analysis28024292MIT
go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
8unconvertCode Analysis25714646BSD-3-Clause
unconvert - Remove unnecessary type conversions from Go source.
9gostatusCode Analysis241111312MIT
gostatus - Command line tool, shows the status of repositories that contain Go packages.
10go-mod-outdatedCode Analysis18011542MIT
go-mod-outdated - An easy way to find outdated dependencies of your Go projects.
11duplCode Analysis170111096MIT
dupl - Tool for code clone detection.
12apicompatCode Analysis16531252MIT
apicompat - Checks recent changes to a Go project for backwards incompatible changes.
13go-checkstyleCode Analysis9513935MIT
go-checkstyle - checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments.
14staticcheckCode Analysis66258100
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#.
15lintCode Analysis637866Apache-2.0
lint - Run linters as part of go test.
16validateCode Analysis6212363
validate - Automatically validates struct fields with tags.
17go-outdatedCode Analysis452211
go-outdated - Console application that displays outdated packages.
18tarpCode Analysis1411392MIT
tarp - tarp finds functions and methods without direct unit tests in Go source code.
19gosimpleCode Analysis0000
gosimple - gosimple is a linter for Go source code that specialises on simplifying code.
20unusedCode Analysis0000
unused - unused checks Go code for unused constants, variables, functions and types.

back

Command Line

No.NameCategoryStarForkCommitsContributorsLicense
1cobraCommand Line130571114710158Apache-2.0
cobra - Commander for modern Go CLI interactions.
2urfave/cliCommand Line11238911905122MIT
urfave/cli - Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
3termuiCommand Line886255039145MIT
termui - Go terminal dashboard based on termbox-go and inspired by blessed-contrib.
4gocuiCommand Line523731525119BSD-3-Clause
gocui - Minimalist Go library aimed at creating Console User Interfaces.
5termbox-goCommand Line345428521653MIT
termbox-go - Termbox is a library for creating cross-platform text-based interfaces.
6colorCommand Line299934411824MIT
color - Versatile package for colored terminal output.
7kingpinCommand Line251418830846MIT
kingpin - Command line and flag parser supporting sub commands.
8go-promptCommand Line229211333117MIT
go-prompt - Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.
9uiprogressCommand Line152789459MIT
uiprogress - Flexible library to render progress bars in terminal applications.
10go-flagsCommand Line149917759041BSD-3-Clause
go-flags - go command line option parser.
11readlineCommand Line136114224434MIT
readline - Pure golang implementation that provides most features in GNU-Readline under MIT license.
12docopt.goCommand Line116795975MIT
docopt.go - Command-line arguments parser that will make you smile.
13asciigraphCommand Line113037434BSD-3-Clause
asciigraph - Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
14mitchellh/cliCommand Line9937514419MPL-2.0
mitchellh/cli - Go library for implementing command-line interfaces.
15cli-initCommand Line8687530417MIT
cli-init - The easy way to start building Golang command line applications.
16uiliveCommand Line82246317MIT
uilive - Library for updating terminal output in realtime.
17termdashCommand Line799337168Apache-2.0
termdash - Go terminal dashboard based on termbox-go and inspired by termui.
18pflagCommand Line74321726256BSD-3-Clause
pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
19go-argCommand Line653381669BSD-2-Clause
go-arg - Struct-based argument parsing in Go.
20mow.cliCommand Line620449611MIT
mow.cli - Go library for building CLI applications with sophisticated flag and argument parsing and validation.
21auroraCommand Line61722334WTFPL
aurora - ANSI terminal colors that supports fmt.Printf/Sprintf.
22completeCommand Line6113919313MIT
complete - Write bash completions in Go + Go command bash completion.
23linerCommand Line5797516422View license
liner - Go readline-like library for command-line interfaces.
24progressbarCommand Line5603610612MIT
progressbar - Basic thread-safe progress bar that works in every OS.
25mpbCommand Line508378426Unlicense
mpb - Multi progress bar for terminal applications.
26uitableCommand Line49620286MIT
uitable - Library to improve readability in terminal apps using tabular data.
27cliCommand Line473352326MIT
cli - Feature-rich and easy to use command-line package based on golang struct tags.
28flaggyCommand Line444111844Unlicense
flaggy - A robust and idiomatic flags package with excellent subcommand support.
29gommon/colorCommand Line3076300
gommon/color - Style terminal text.
30chalkCommand Line30315292MIT
chalk - Intuitive package for prettifying terminal/console output.
31opsCommand Line2491845415MIT
ops - Unikernel Builder/Orchestrator.
32tabbyCommand Line2467201MIT
tabby - A tiny library for super simple Golang tables.
33termtablesCommand Line21216718Apache-2.0
termtables - Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output.
34go-colortextCommand Line19715385View license
go-colortext - Go library for color output in terminals.
35gookit/colorCommand Line19619762MIT
gookit/color - Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.
36simpletableCommand Line15581003MIT
simpletable - Simple tables in terminal with Go.
37argparseCommand Line10314673MIT
argparse - Command line argument parser inspired by Python's argparse module.
38flagCommand Line1004492MIT
flag - Simple but powerful command line option parsing library for Go supporting subcommand.
39ukautz/clifCommand Line9711364MIT
ukautz/clif - Small command line interface framework.
40commandeerCommand Line864392MIT
commandeer - Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
41hiboot cliCommand Line851600
hiboot cli - cli application framework with auto configuration and dependency injection.
42sflagsCommand Line849495BSD-3-Clause
sflags - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries.
43wmenuCommand Line8311798MIT
wmenu - Easy to use menu structure for cli applications that prompts users to make choices.
44cfmtCommand Line675254MIT
cfmt - Contextual fmt inspired by bootstrap color classes.
45cliCommand Line576203MIT
cli - Simple and complete API for building command line interfaces in Go.
46jobCommand Line492422Apache-2.0
job - JOB, make your short-term command as a long-term job.
47envCommand Line412612MIT
env - Tag-based environment configuration for structs.
48wlogCommand Line354511MIT
wlog - Simple logging interface that supports cross-platform color and concurrency.
49gocmdCommand Line332831MIT
gocmd - Go library for building command line applications.
50flagvarCommand Line311462Unlicense
flagvar - A collection of flag argument types for Go's standard flag package.
51tabularCommand Line292211MIT
tabular - Print ASCII tables from command line utilities without the need to pass large sets of data to the API.
52strumtCommand Line272673MIT
strumt - Library to create prompt chain.
53argvCommand Line173123MIT
argv - Go library to split command line string as arguments array using the bash syntax.
54colourizeCommand Line162241MIT
colourize - Go library for ANSI colour text in terminals.
55go-colorableCommand Line1537110513MIT
go-colorable - Colorable writer for windows.
56go-commanderCommand Line144324GPL-3.0
go-commander - Go library to simplify CLI workflow.
57ctcCommand Line90551MIT
ctc - The non-invasive cross-platform terminal color library does not need to modify the Print method.
58cmdrCommand Line812071MIT
cmdr - A POSIX/GNU style, getopt-like command-line UI Go library.
59go-atamanCommand Line81601MIT
go-ataman - Go library for rendering ANSI colored text templates in terminals.
60go-isattyCommand Line83418114MIT
go-isatty - isatty for golang.
61go-getoptionsCommand Line601501MPL-2.0
go-getoptions - Go option parser inspired on the flexibility of Perl’s GetOpt::Long.
62sandCommand Line51181MIT
sand - Simple API for creating interpreters and so much more.
63tsCommand Line40121Apache-2.0
ts - Timestamp convert & compare tool.

back

Configuration

No.NameCategoryStarForkCommitsContributorsLicense
1viperConfiguration918687026390MIT
viper - Go configuration with fangs.
2kelseyhightower/envconfigConfiguration238420512840MIT
kelseyhightower/envconfig - Go library for managing configuration data from environment variables.
3godotenvConfiguration208911712021MIT
godotenv - Go port of Ruby's dotenv library (Loads environment variables from .env).
4iniConfiguration156721224437Apache-2.0
ini - Go package to read and write INI files.
5envConfiguration8487418124MIT
env - Parse environment variables to Go structs (with defaults).
6konfigConfiguration5102015213MIT
konfig - Composable, observable and performant config handling for Go for the distributed processing era.
7storeConfiguration24114142MIT
store - Lightweight configuration manager for Go.
8confitaConfiguration23618979MIT
confita - Load configuration in cascade from multiple backends into a struct.
9configConfiguration210355710View license
config - JSON or YAML configuration wrapper with environment variables and flags parsing.
10joshbetz/configConfiguration1939241MIT
joshbetz/config - Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
11hjsonConfiguration171194610MIT
hjson - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
12envconfigConfiguration145131106MIT
envconfig - Read your configuration from environment variables.
13gcfgConfiguration116321313View license
gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections.
14goConfigConfiguration1061624314MIT
goConfig - Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
15envhConfiguration921913MIT
envh - Helpers to manage environment variables.
16envcfgConfiguration896513MIT
envcfg - Un-marshaling environment variables to Go structs.
17koanfConfiguration804262MIT
koanf - Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.
18gookit/configConfiguration74111072MIT
gookit/config - application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.
19gofigureConfiguration577462MIT
gofigure - Go application configuration made easy.
20configureConfiguration488534MIT
configure - Provides configuration through multiple sources, including JSON, flags and environment variables.
21harvesterConfiguration394194Apache-2.0
harvester - Harvester, a easy to use static and dynamic configuration package supportig seeding, env vars and Consul integration.
22xdgConfiguration341331BSD-3-Clause
xdg - Cross platform package that follows the XDG Standard.
23gone/jconfConfiguration32600
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.
24ingoConfiguration245351ISC
ingo - Flags persisted in an ini-like config file.
25go-upConfiguration241511MIT
go-up - A simple configuration library with recursive placeholders resolution and no magic.
26miniConfiguration1915234MIT
mini - Golang package for parsing ini-style configuration files.
27conflateConfiguration83892Apache-2.0
conflate - Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.
28envconfConfiguration7211MIT
envconf - Configuration from environment.
29sprboxConfiguration301311MIT
sprbox - Build-environment aware toolbox factory and agnostic config parser (YAML, TOML, JSON and Environment vars).
30configConfiguration1188361MIT
config - Cloud native application configuration. Bind ENV to structs in only two lines.

back

Continuous Integration

No.NameCategoryStarForkCommitsContributorsLicense
1droneContinuous Integration1885718593466243View license
drone - Drone is a Continuous Integration platform built on Docker, written in Go.
2goverallsContinuous Integration5719621147
goveralls - Go integration for Coveralls.io continuous code coverage tracking system.
3overallsContinuous Integration98266810MIT
overalls - Multi-Package go project coverprofile for tools like goveralls.
4duciContinuous Integration4439465MIT
duci - A simple ci server no needs domain specific languages.
5gomasonContinuous Integration2831811MIT
gomason - Test, Build, Sign, and Publish your go binaries from a clean workspace.
6roverallsContinuous Integration122311MIT
roveralls - Recursive coverage testing tool.

back

Data Structures

No.NameCategoryStarForkCommitsContributorsLicense
1godsData Structures619867632321View license
gods - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
2go-datastructuresData Structures510257766936Apache-2.0
go-datastructures - Collection of useful, performant, and thread-safe data structures.
3golang-setData Structures114711411920View license
golang-set - Thread-Safe and Non-Thread-Safe high-performance sets for Go.
4boomfiltersData Structures11307214710Apache-2.0
boomfilters - Probabilistic data structures for processing continuous, unbounded streams.
5gotaData Structures8639537010Apache-2.0
gota - Implementation of dataframes, series, and data wrangling methods for Go.
6hyperloglogData Structures659428411MIT
hyperloglog - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
7roaringData Structures6497454723Apache-2.0
roaring - Go package implementing compressed bitsets.
8cuckoofilterData Structures508345312MIT
cuckoofilter - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
9trieData Structures41465617MIT
trie - Trie implementation in Go.
10go-geoindexData Structures31036182MIT
go-geoindex - In-memory geo index.
11mafsaData Structures27319164View license
mafsa - MA-FSA implementation with Minimal Perfect Hashing.
12algorithmsData Structures234373421MIT
algorithms - Algorithms and data structures.CLRS study.
13goskiplistData Structures19144523Apache-2.0
goskiplist - Skip list implementation in Go.
14hilbertData Structures17926501Apache-2.0
hilbert - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
15merkletreeData Structures14431364MIT
merkletree - Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures.
16bloomData Structures12811131MIT
bloom - Bloom filters implemented in Go.
17binpackerData Structures12321274MIT
binpacker - Binary packer and unpacker helps user build custom binary stream.
18skiplistData Structures9910352MIT
skiplist - Very fast Go Skiplist implementation.
19go-rquadData Structures9922991MIT
go-rquad - Region quadtrees with efficient point location and neighbour finding.
20encodingData Structures949722Apache-2.0
encoding - Integer Compression Libraries for Go.
21ttlcacheData Structures9351887MIT
ttlcache - In-memory LRU string-interface{} map with expiration for golang.
22go-adaptive-radix-treeData Structures8711563MIT
go-adaptive-radix-tree - Go implementation of Adaptive Radix Tree.
23ringData Structures865222BSD-2-Clause
ring - Go implementation of a high performance, thread safe bloom filter.
24conjungoData Structures7611824MIT
conjungo - A small, powerful and flexible merge library.
25skiplistData Structures641350
skiplist - Skiplist implementation in Go.
26dequeData Structures627342MIT
deque - Fast ring-buffer deque (double-ended queue).
27bitData Structures559371BSD-2-Clause
bit - Golang set data structure with bonus bit-twiddling functions.
28levenshteinData Structures553462MIT
levenshtein - Implementation to calculate levenshtein distance in Go.
29count-min-logData Structures433433MIT
count-min-log - Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
30bloomData Structures398461BSD-2-Clause
bloom - Golang Bloom filter implementation.
31go-mcacheData Structures347653MIT
go-mcache - Fast in-memory key:value store/cache library. Pointer caches.
32levenshteinData Structures322122Apache-2.0
levenshtein - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
33willf/bloomData Structures3065910514BSD-2-Clause
willf/bloom - Go package implementing Bloom filters.
34bitsetData Structures2747723020BSD-3-Clause
bitset - Go package implementing bitsets.
35goconcurrentqueueData Structures263501MIT
goconcurrentqueue - Concurrent FIFO queue.
36concurrent-writerData Structures233161Apache-2.0
concurrent-writer - Highly concurrent drop-in replacement for bufio.Writer.
37crunchData Structures191701View license
crunch - Go package implementing buffers for handling various datatypes easily.
38gosetData Structures164101View license
goset - A useful Set collection implementation for Go.
39pipelineData Structures151151MIT
pipeline - An implementation of pipelines with fan-in and fan-out.
40go-efData Structures112131MIT
go-ef - A Go implementation of the Elias-Fano encoding.
41typData Structures90251MIT
typ - Null Types, Safe primitive type conversion and fetching value from complex structures.
42dictData Structures91151MIT
dict - Python-like dictionaries (dict) for Go.
43hideData Structures71211MIT
hide - ID type with marshalling to/from hash to prevent sending IDs to clients.
44treapData Structures7161MIT
treap - Persistent, fast ordered map using tree heaps.
45mspmData Structures71111BSD-3-Clause
mspm - Multi-String Pattern Matching Algorithm for information retrieval.
46dequeData Structures60261BSD-3-Clause
deque - A highly optimized double-ended queue.
47setData Structures6363View license
set - Simple set data structure implementation in Go using LinkedHashMap.
48nullData Structures50151MIT
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
49parsefieldsData Structures30232Apache-2.0
parsefields - Tools for parse JSON-like logs for collecting unique fields and events.
50timedmapData Structures11111MIT
timedmap - Map with expiring key-value pairs.
51ptrieData Structures00261Apache-2.0
ptrie - An implementation of prefix tree.

back

Database

No.NameCategoryStarForkCommitsContributorsLicense
1prometheusDatabase2527235965874345Apache-2.0
prometheus - Monitoring system and time series database.
2tidbDatabase1981828798654277Apache-2.0
tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1.
3influxdbDatabase16888240630598377MIT
influxdb - Scalable datastore for metrics, events, and real-time analytics.
4cockroachDatabase16696186639932240View license
cockroach - Scalable, Geo-Replicated, Transactional Datastore.
5dgraphDatabase100687023457102View license
dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database.
6boltDatabase9926107481698MIT
bolt - Low-level key/value database for Go.
7vitessDatabase8368107916564172Apache-2.0
vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
8groupcacheDatabase76118916322Apache-2.0
groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
9badgerDatabase620043489179Apache-2.0
badger - Fast key-value store in Go.
10pgwebDatabase595942195134MIT
pgweb - Web-based PostgreSQL database browser.
11rqliteDatabase4670263171216MIT
rqlite - The lightweight, distributed, relational database built on SQLite.
12kingshardDatabase456692148131
kingshard - kingshard is a high performance proxy for MySQL powered by Golang.
13goleveldbDatabase314245867240BSD-2-Clause
goleveldb - Implementation of the LevelDB key/value database in Go.
14ledisdbDatabase306235893524MIT
ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB.
15orchestratorDatabase3006458404560Apache-2.0
orchestrator - MySQL replication topology manager & visualizer.
16go-cacheDatabase28544011617MIT
go-cache - In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
17migrateDatabase254024278998View license
migrate - Database migrations. CLI and Golang library.
18buntdbDatabase24241751118MIT
buntdb - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
19BigCacheDatabase242319610822Apache-2.0
BigCache - Efficient key/value cache for gigabytes of data.
20tiedotDatabase236023870525BSD-2-Clause
tiedot - Your NoSQL database powered by Golang.
21go-mysql-elasticsearchDatabase235546914815MIT
go-mysql-elasticsearch - Sync your MySQL data into Elasticsearch automatically.
22SquirrelDatabase225519121734View license
Squirrel - Go library that helps you build SQL queries.
23xoDatabase216619320212MIT
xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
24go-mysqlDatabase185144139973View license
go-mysql - Go toolset to handle MySQL protocol and replication.
25CovenantSQLDatabase144794373511Apache-2.0
CovenantSQL - CovenantSQL is a SQL database on blockchain.
26sql-migrateDatabase138813222331MIT
sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.
27cache2goDatabase9983371739View license
cache2go - In-memory key:value cache which supports automatic invalidation based on timeouts.
28VictoriaMetricsDatabase956442398Apache-2.0
VictoriaMetrics - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.
29GCacheDatabase881117666MIT
GCache - Cache library with support for expirable Cache, LFU, LRU and ARC.
30nutsdbDatabase853602742Apache-2.0
nutsdb - Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
31gendryDatabase743926811Apache-2.0
gendry - Non-invasive SQL builder and powerful data binder.
32diskvDatabase7396911910MIT
diskv - Home-grown disk-backed key-value store.
33mossDatabase716383739Apache-2.0
moss - Moss is a simple LSM key-value storage engine written in 100% Go.
34sodaDatabase67216500
soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
35goquDatabase6246512519MIT
goqu - Idiomatic SQL builder and query library.
36eliasdbDatabase53224763MPL-2.0
eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
37fastcacheDatabase47830384MIT
fastcache - fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
38DotsqlDatabase43738365GPL-2.0
Dotsql - Go library that helps you keep sql files in one place and use them with ease.
39ozzo-dbxDatabase43445915MIT
ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities.
40levigoDatabase3647613110MIT
levigo - Levigo is a Go wrapper for LevelDB.
41gormigrateDatabase3273610110MIT
gormigrate - Database schema migration helper for Gorm ORM.
42chproxyDatabase299374757MIT
chproxy - HTTP proxy for ClickHouse database.
43pudgeDatabase21811743MIT
pudge - Fast and simple key/value store written using Go's standard library.
44sqrlDatabase17619115116
sqrl - SQL query builder, fork of Squirrel with improved performance.
45piladbDatabase171183852MIT
piladb - Lightweight RESTful database engine based on stack data structures.
46scaneoDatabase149121031MIT
scaneo - Generate Go code to convert database rows into arbitrary structs.
47VastoDatabase145154101Apache-2.0
Vasto - A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.
48myreplicationDatabase14142291WTFPL
myreplication - MySql binary log replication listener. Supports statement and row based replication.
49clickhouse-bulkDatabase13325575Apache-2.0
clickhouse-bulk - Collects small insterts and sends big requests to ClickHouse servers.
50gooseDatabase1181923921MIT
goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
51slowpokeDatabase8571403MIT
slowpoke - Key-value store with persistence.
52darwinDatabase8312342MIT
darwin - Database schema evolution library for Go.
53pRESTDatabase81207744218MIT
pREST - Serve a RESTful API from any PostgreSQL database.
54igorDatabase772522Apache-2.0
igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
55ScribbleDatabase5832668MIT
Scribble - Tiny flat file JSON store.
56octilleryDatabase525932MIT
octillery - Go package for sharding databases ( Supports every ORM or raw SQL ).
57godbalDatabase5027481MIT
godbal - Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
58couchcacheDatabase404501MIT
couchcache - RESTful caching micro-service backed by Couchbase server.
59migratorDatabase314381Apache-2.0
migrator - Dead simple Go database migration library.
60dbbenchDatabase3021892MIT
dbbench - Database benchmarking tool with support for several databases and scripts.
61clusteredBigCacheDatabase2931412MIT
clusteredBigCache - BigCache with clustering support and individual item expiration.
62bcacheDatabase273212MIT
bcache - Eventually consistent distributed in-memory cache Go library.
63gondolierDatabase262661MIT
gondolier - Database migration library using struct decorators.
64pravasanDatabase245493MIT
pravasan - Simple Migration tool - currently for MySQL but planning to soon support Postgres, SQLite, MongoDB, etc.
65prepDatabase241151Apache-2.0
prep - Use prepared SQL statements without changing your code.
66go-pg-migrationsDatabase235152MIT
go-pg-migrations - A Go package to help write migrations with go-pg/pg.
67go-fixturesDatabase2018715MPL-2.0
go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library.
68cacheDatabase13191MIT
cache - In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.
69tempdbDatabase131211MIT
tempdb - Key-value store for temporary items.
70rwdbDatabase100381MIT
rwdb - rwdb provides read replica capability for multiple database servers setup.
71gorocksdbDatabase81151MIT
gorocksdb - Gorocksdb is a wrapper for RocksDB written in Go.
72datagenDatabase72841MIT
datagen - A fast data generator that's multi-table aware and supports multi-row DML.
73avroDatabase501691MIT
avro - Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
74ormliteDatabase00941MIT
ormlite - Lightweight package containing some ORM-like features and helpers for sqlite databases.

back

Database Drivers

No.NameCategoryStarForkCommitsContributorsLicense
1cayleyDatabase Drivers126531136134675Apache-2.0
cayley - Graph database with support for multiple backends.
2go-sql-driver/mysqlDatabase Drivers8018148076979MPL-2.0
go-sql-driver/mysql - MySQL driver for Go.
3redisDatabase Drivers6381842133695BSD-2-Clause
redis - Redis client for Golang.
4redigoDatabase Drivers621991123743Apache-2.0
redigo - Redigo is a Go client for the Redis database.
5bleveDatabase Drivers5793441236457Apache-2.0
bleve - Modern text indexing library for go.
6pqDatabase Drivers513565355876View license
pq - Pure Go Postgres driver for database/sql.
7riotDatabase Drivers46633005526Apache-2.0
riot - Go Open Source, Distributed, Simple and efficient Search Engine.
8elasticDatabase Drivers4071758111780MIT
elastic - Elasticsearch client for Go.
9mongo-go-driverDatabase Drivers300832287359Apache-2.0
mongo-go-driver - Official MongoDB driver for the Go language.
10pgxDatabase Drivers1884236131578MIT
pgx - PostgreSQL driver supporting features beyond those exposed by database/sql.
11mgoDatabase Drivers162369582361View license
mgo - (unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
12go-elasticsearchDatabase Drivers15241031505Apache-2.0
go-elasticsearch - Official Elasticsearch client for Go.
13gorethinkDatabase Drivers1454159106163Apache-2.0
gorethink - Go language driver for RethinkDB.
14gomemcacheDatabase Drivers10903008416Apache-2.0
gomemcache - memcache client library for the Go programming language.
15go-mssqldbDatabase Drivers101524457851BSD-3-Clause
go-mssqldb - Microsoft MSSQL driver for Go.
16elastigoDatabase Drivers94725562074Apache-2.0
elastigo - Elasticsearch client library.
17elasticsqlDatabase Drivers37976911MIT
elasticsql - Convert sql to elasticsearch dsl in Go.
18neoismDatabase Drivers3575451613
neoism - Neo4j client for Golang.
19aerospike-client-goDatabase Drivers30212991635Apache-2.0
aerospike-client-go - Aerospike client in Go language.
20go-couchbaseDatabase Drivers2928649033MIT
go-couchbase - Couchbase client in Go.
21gocbDatabase Drivers2907943121Apache-2.0
gocb - Official Couchbase Go SDK.
22redeoDatabase Drivers25818955View license
redeo - Redis-protocol compatible TCP servers/services.
23goracleDatabase Drivers2303958117View license
goracle - Oracle driver for Go, using the ODPI-C driver.
24go-sqlite3Database Drivers1263405823117MIT
go-sqlite3 - SQLite3 driver for go that uses database/sql.
25cachegoDatabase Drivers1114323MIT
cachego - Golang Cache component for multiple drivers.
26firebirdsqlDatabase Drivers1033052911MIT
firebirdsql - Firebird RDBMS SQL driver for Go.
27go-adodbDatabase Drivers9125815
go-adodb - Microsoft ActiveX Object DataBase driver for go that uses database/sql.
28gofreetdsDatabase Drivers903822910MIT
gofreetds - Microsoft MSSQL driver. Go wrapper over FreeTDS.
29go-rejsonDatabase Drivers879954MIT
go-rejson - Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.
30gokvDatabase Drivers7972981MPL-2.0
gokv - Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).
31Neo4j-GODatabase Drivers7213943
Neo4j-GO - Neo4j REST Client in golang.
32skizzeDatabase Drivers68604336MIT
skizze - probabilistic data-structures service and storage.
33arangoliteDatabase Drivers651820011MIT
arangolite - Lightweight golang driver for ArangoDB.
34dynagoDatabase Drivers64131235MIT
dynago - Dynago is a principle of least surprise client for DynamoDB.
35godisDatabase Drivers5811651MIT
godis - redis client implement by golang, inspired by jedis.
36go-couchdbDatabase Drivers5136511
go-couchdb - Yet another CouchDB HTTP API wrapper for Go.
37go-oci8Database Drivers3740246024MIT
go-oci8 - Oracle driver for go that uses database/sql.
38avaticaDatabase Drivers32101805Apache-2.0
avatica - Apache Avatica/Phoenix SQL driver for database/sql.
39go-pilosaDatabase Drivers311674710BSD-3-Clause
go-pilosa - Go client library for Pilosa.
40forestdbDatabase Drivers295699Apache-2.0
forestdb - Go bindings for ForestDB.
41goriakDatabase Drivers2442382MIT
goriak - Go language driver for Riak KV.
42neo4jDatabase Drivers2441083
neo4j - Neo4j Rest API Bindings for Golang.
43goesDatabase Drivers24351508BSD-3-Clause
goes - Library to interact with Elasticsearch.
44dscDatabase Drivers1352074Apache-2.0
dsc - Datastore connectivity for SQL, NoSQL, structured files.
45bgcDatabase Drivers124923Apache-2.0
bgc - Datastore Connectivity for BigQuery for go.
46xredisDatabase Drivers92661MIT
xredis - Typesafe, customizable, clean & easy to use Redis client.
47godscacheDatabase Drivers61971MIT
godscache - A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.
48ascDatabase Drivers41601Apache-2.0
asc - Datastore Connectivity for Aerospike for go.

back

Date and Time

No.NameCategoryStarForkCommitsContributorsLicense
1nowDate and Time2158137638MIT
now - Now is a time toolkit for golang.
2dateparseDate and Time8885220914MIT
dateparse - Parse date's without knowing format in advance.
3carbonDate and Time3332716512Apache-2.0
carbon - Simple Time extension with a lot of util methods, ported from PHP Carbon library.
4durafmtDate and Time23721433MIT
durafmt - Time duration formatting library for Go.
5timeutilDate and Time1689151MIT
timeutil - Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
6iso8601Date and Time682253MIT
iso8601 - Efficiently parse ISO8601 date-times without regex.
7go-persian-calendarDate and Time6181025MIT
go-persian-calendar - The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
8timespanDate and Time607133MIT
timespan - For interacting with intervals of time, defined as a start time and a duration.
9dateDate and Time27111384BSD-3-Clause
date - Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
10feiertageDate and Time224893MIT
feiertage - Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...
11goweekDate and Time186241MIT
goweek - Library for working with week entity in golang.
12go-sunriseDate and Time132492MIT
go-sunrise - Calculate the sunrise and sunset times for a given location.
13kairDate and Time101271MIT
kair - Date and Time - Golang Formatting Library.
14NullTimeDate and Time92121View license
NullTime - Nullable time.Time.
15tuesdayDate and Time71281MIT
tuesday - Ruby-compatible Strftime function.
16strftimeDate and Time5071MIT
strftime - C99-compatible strftime formatter.

back

Distributed Systems

No.NameCategoryStarForkCommitsContributorsLicense
1raftDistributed Systems26178532200
raft - Go implementation of the Raft consensus protocol, by CoreOS.
2go-kitDistributed Systems1428115021365159MIT
go-kit - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
3grpc-goDistributed Systems895617582960186Apache-2.0
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC.
4jaegerDistributed Systems8540860803106Apache-2.0
jaeger - A distributed tracing system.
5microDistributed Systems6507538109032Apache-2.0
micro - Pluggable microservice toolkit and distributed systems platform.
6NATSDistributed Systems6236640215658Apache-2.0
NATS - Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
7rpcxDistributed Systems37316283539View license
rpcx - Distributed pluggable RPC service framework like alibaba Dubbo.
8tendermintDistributed Systems30998927341149Apache-2.0
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.
9raftDistributed Systems281435981952MPL-2.0
raft - Golang implementation of the Raft consensus protocol, by HashiCorp.
10glowDistributed Systems251120032910Apache-2.0
glow - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
11dragonboatDistributed Systems24912346525View license
dragonboat - A feature complete and high performance multi-group Raft library in Go.
12gleamDistributed Systems206418673616Apache-2.0
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.
13emitter-ioDistributed Systems190218549214AGPL-3.0
emitter-io - High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
14KrakenDDistributed Systems171814847315View license
KrakenD - Ultra performant API Gateway framework with middlewares.
15hproseDistributed Systems9971742418MIT
hprose - Very newbility RPC Library, support 25+ languages now.
16ringpop-goDistributed Systems5704339422MIT
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications.
17gorpcDistributed Systems548702323MIT
gorpc - Simple, fast and scalable RPC library for high load.
18go-healthDistributed Systems474251619MIT
go-health - Library for enabling asynchronous dependency health checks in your service.
19sleuthDistributed Systems299171301MIT
sleuth - Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).
20digotaDistributed Systems29644891MIT
digota - grpc ecommerce microservice.
21go-jumpDistributed Systems2522382MIT
go-jump - Port of Google's "Jump" Consistent Hash function.
22consistentDistributed Systems18426355MIT
consistent - Consistent hashing with bounded loads.
23redis-lockDistributed Systems14738575MIT
redis-lock - Simplified distributed locking implementation using Redis.
24dhtDistributed Systems1252631910MPL-2.0
dht - BitTorrent Kademlia DHT implementation.
25torrentDistributed Systems1242821210041MPL-2.0
torrent - BitTorrent client package.
26jsonrpcDistributed Systems11310912MIT
jsonrpc - The jsonrpc package helps implement of JSON-RPC 2.0.
27jsonrpcDistributed Systems9835634MIT
jsonrpc - JSON-RPC 2.0 HTTP client implementation.
28celeriacDistributed Systems526222MIT
celeriac - Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
29doublejumpDistributed Systems396261BSD-3-Clause
doublejump - A revamped Google's jump consistent hash.
30drmaaDistributed Systems2415805BSD-2-Clause
drmaa - Job submission library for cluster schedulers based on the DRMAA standard.
31dotDistributed Systems2007011MIT
dot - distributed sync using operational transformation/OT.
32flowgraphDistributed Systems1821991BSD-3-Clause
flowgraph - flow-based programming package.
33dynatomicDistributed Systems80221MIT
dynatomic - A library for using DynamoDB as an atomic counter.
34outboxerDistributed Systems20361MIT
outboxer - Outboxer is a go library that implements the outbox pattern.

back

E-Books

No.NameCategoryStarForkCommitsContributorsLicense
1GoBooksE-Books675089410635
GoBooks - A curated list of Go books.
2The Golang Standard Library by Example (Chinese)E-Books5374136218224
The Golang Standard Library by Example (Chinese)
3Web Application with Go the Anti-TextbookE-Books230820829931
Web Application with Go the Anti-Textbook
4Go SuccinctlyE-Books10141
Go Succinctly - in Persian.

back

Editor Plugins

No.NameCategoryStarForkCommitsContributorsLicense
1vscode-goEditor Plugins50795881593213View license
vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language.
2gocodeEditor Plugins472663978565MIT
gocode - Autocompletion daemon for the Go programming language.
3GoSublimeEditor Plugins3228287194021MIT
GoSublime - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.
4go-plusEditor Plugins1482127117037View license
go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
5go-modeEditor Plugins94516742136BSD-3-Clause
go-mode - Go mode for GNU/Emacs.
6vim-goEditor Plugins287107552949264View license
vim-go - Go development plugin for Vim.
7WatchEditor Plugins16628524
Watch - Runs a command in an acme win on file changes.
8vim-compiler-goEditor Plugins8018145
vim-compiler-go - Vim plugin to highlight syntax errors on save.
9go-language-serverEditor Plugins295881066120View license
go-language-server - A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
10gounit-vimEditor Plugins173333MIT
gounit-vim - Vim plugin for generating Go tests based on the function's or method's signature.
11velourEditor Plugins1641083
velour - IRC client for the acme editor.
12theia-go-extensionEditor Plugins122686
theia-go-extension - Go language support for the Theia IDE.

back

Email

No.NameCategoryStarForkCommitsContributorsLicense
1MailHogEmail511333527821MIT
MailHog - Email and SMTP testing with web and API interface.
2GomailEmail2329317907MIT
Gomail - Gomail is a very simple and powerful package to send emails.
3hermesEmail16071157712Apache-2.0
hermes - Golang package that generates clean, responsive HTML e-mails.
4emailEmail108714012620MIT
email - A robust and flexible email library for Go.
5go-imapEmail72111572517MIT
go-imap - IMAP library for clients and servers.
6SendGridEmail51619852771MIT
SendGrid - SendGrid's Go library for sending email.
7HectaneEmail168203192MIT
Hectane - Lightweight SMTP client providing an HTTP API.
8douceurEmail15827412MIT
douceur - CSS inliner for your HTML emails.
9go-messageEmail1043514510MIT
go-message - Streaming library for the Internet Message Format and mail messages.
10smtpEmail498281MIT
smtp - SMTP server protocol state machine.
11go-dkimEmail4619505MIT
go-dkim - DKIM library, to sign & verify email.
12go-premailerEmail3571013MIT
go-premailer - Inline styling for HTML mail in Go.

back

Embeddable Scripting Languages

No.NameCategoryStarForkCommitsContributorsLicense
1ottoEmbeddable Scripting Languages470341565737MIT
otto - JavaScript interpreter written in Go.
2gopher-luaEmbeddable Scripting Languages292931128930MIT
gopher-lua - Lua 5.1 VM and compiler written in Go.
3go-luaEmbeddable Scripting Languages165611822117MIT
go-lua - Port of the Lua 5.2 VM to pure Go.
4tengoEmbeddable Scripting Languages1284592578MIT
tengo - Bytecode compiled script language for Go.
5go-pythonEmbeddable Scripting Languages9039816612View license
go-python - naive go bindings to the CPython C-API.
6exprEmbeddable Scripting Languages684451859MIT
expr - an engine that can evaluate expressions.
7go-phpEmbeddable Scripting Languages674861513MIT
go-php - PHP bindings for Go.
8go-duktapeEmbeddable Scripting Languages6497117821MIT
go-duktape - Duktape JavaScript engine bindings for Go.
9goluaEmbeddable Scripting Languages44116012413MIT
golua - Go bindings for Lua C API.
10gispEmbeddable Scripting Languages42932682MIT
gisp - Simple LISP in Go.
11agoraEmbeddable Scripting Languages321323281BSD-3-Clause
agora - Dynamically typed, embeddable programming language in Go.
12gvalEmbeddable Scripting Languages13416923BSD-3-Clause
gval - A highly customizable expression language written in Go.
13ankoEmbeddable Scripting Languages47918106415MIT
anko - Scriptable interpreter written in Go.
14binderEmbeddable Scripting Languages294581MIT
binder - Go to Lua binding library, based on gopher-lua.
15purlEmbeddable Scripting Languages272151MIT
purl - Perl 5.18.2 embedded in Go.
16genteeEmbeddable Scripting Languages2521251MIT
gentee - Embeddable scripting programming language.
17ngaroEmbeddable Scripting Languages191961View license
ngaro - Embeddable Ngaro VM implementation enabling scripting in Retro.

back

Error Handling

No.NameCategoryStarForkCommitsContributorsLicense
1errorsError Handling480533015237BSD-2-Clause
errors - Package that provides simple error handling primitives.
2go-multierrorError Handling715453810MPL-2.0
go-multierror - Go (golang) package for representing a list of errors as a single error.
3errorxError Handling54911735MIT
errorx - A feature rich error package with stack traces, composition of errors and more.
4tracerrError Handling49312202MIT
tracerr - Golang errors with stack trace and source fragments.
5errlogError Handling1446834MIT
errlog - Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.
6werrError Handling11391MIT
werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.

back

Files

No.NameCategoryStarForkCommitsContributorsLicense
1aferoFiles219623021831Apache-2.0
afero - FileSystem Abstraction System for Go.
2pdfcpuFiles934641854Apache-2.0
pdfcpu - PDF processor.
3notifyFiles4896751418MIT
notify - File system event notification library with simple API, similar to os/signal.
4opcFiles5721312BSD-2-Clause
opc - Load Open Packaging Conventions (OPC) files for Go.
5skywalkerFiles486221BSD-3-Clause
skywalker - Package to allow one to concurrently go through a filesystem with ease.
6tarfsFiles354101Apache-2.0
tarfs - Implementation of the FileSystem interface for tar files.
7vfsFiles213515MIT
vfs - A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
8go-decent-copyFiles111261MIT
go-decent-copy - Copy files for humans.
9flopFiles82213MIT
flop - File operations library which aims to mirror feature parity with GNU cp.
10checksumFiles65352MIT
checksum - Compute message digest, like MD5 and SHA256, for large files.
11go-gtfsFiles215236GPL-3.0
go-gtfs - Load gtfs files in go.
12go-exiftoolFiles1091GPL-3.0
go-exiftool - Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).
13go-csv-tagFiles146324GPL-3.0
go-csv-tag - Load csv file using tag.

back

Financial

No.NameCategoryStarForkCommitsContributorsLicense
1decimalFinancial158023511633View license
decimal - Arbitrary-precision fixed-point decimal numbers.
2go-moneyFinancial61141929MIT
go-money - Implementation of Fowler's Money pattern.
3go-financeFinancial53548496MIT
go-finance - Comprehensive financial markets data in Go.
4accountingFinancial48329464MIT
accounting - money and currency formatting for golang.
5techanFinancial154231103MIT
techan - Technical analysis library with advanced market analysis and trading strategies.
6orderbookFinancial6722842MIT
orderbook - Matching Engine for Limit Order Book in Golang.
7vatFinancial615474MIT
vat - VAT number validation & EU VAT rates.
8ofxgoFinancial6081634GPL-2.0
ofxgo - Query OFX servers and/or parse the responses (with example command-line client).
9transactionFinancial5571471View license
transaction - Embedded transactional database of accounts, running in multithreaded mode.
10go-financeFinancial416131MPL-2.0
go-finance - Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
11currencyFinancial81182MIT
currency - High performant & accurate currency computation package.

back

Forms

No.NameCategoryStarForkCommitsContributorsLicense
1nosurfForms9637213314MIT
nosurf - CSRF protection middleware for Go.
2bindingForms75369908MIT
binding - Binds form and JSON data from net/http Request to struct.
3gorilla/csrfForms428699018BSD-3-Clause
gorilla/csrf - CSRF protection for Go web applications & services.
4formForms348221234MIT
form - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
5conformForms17118626View license
conform - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
6formamForms122111375Apache-2.0
formam - decode form's values into a struct.
7formsForms10311382MIT
forms - Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
8bindForms23391MIT
bind - Bind form data to any Go values.

back

Functional

No.NameCategoryStarForkCommitsContributorsLicense
1go-underscoreFunctional106458834View license
go-underscore - Useful collection of helpfully functional Go collection utilities.
2fpGoFunctional1056781MIT
fpGo - Monad, Functional Programming features for Golang.
3fuegoFunctional3432201Apache-2.0
fuego - Functional Experiment in Go.

back

GUI

No.NameCategoryStarForkCommitsContributorsLicense
1uiGUI6896608278110View license
ui - Platform-native GUI library for Go. Cross platform.
2fyneGUI6178230126427View license
fyne - Cross platform native GUIs designed for Go, rendered using EFL. Supports: Linux, macOS, Windows.
3qtGUI596742774734LGPL-3.0
qt - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
4webviewGUI459232830220MIT
webview - Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
5robotgoGUI43963849169Apache-2.0
robotgo - Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
6walkGUI3667563141423View license
walk - Windows application library kit for Go.
7appGUI29421236917MIT
app - Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
8go-astilectronGUI263717514515MIT
go-astilectron - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
9go-sciterGUI143617212314
go-sciter - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
10systrayGUI7721148317Apache-2.0
systray - Cross platform Go library to place an icon and menu in the notification area.
11gotk3GUI75711595195ISC
gotk3 - Go bindings for GTK3.
12gosx-notifierGUI49336537MIT
gosx-notifier - OSX Desktop Notifications library for Go.
13gowdGUI20629624MIT
gowd - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
14trayhostGUI15946736MIT
trayhost - Cross-platform Go library to place an icon in the host operating system's taskbar.
15mac-activity-trackerGUI10671MIT
mac-activity-tracker - OSX library to notify about any (pluggable) activity on your machine.
16go-appindicatorGUI10341MIT
go-appindicator - Go bindings for libappindicator3 C library.
17mac-sleep-notifierGUI00241MIT
mac-sleep-notifier - OSX Sleep/Wake notifications in golang.

back

Game Development

No.NameCategoryStarForkCommitsContributorsLicense
1LeafGame Development30288493278Apache-2.0
Leaf - Lightweight game server framework.
2PixelGame Development242214386624MIT
Pixel - Hand-crafted 2D game library in Go.
3EbitenGame Development1824125417826Apache-2.0
Ebiten - dead simple 2D game library in Go.
4goworldGame Development115922514126Apache-2.0
goworld - Scalable game server engine, featuring space-entity framework and hot-swapping.
5go-sdl2Game Development114614892968BSD-3-Clause
go-sdl2 - Go bindings for the Simple DirectMedia Layer.
6engoGame Development107692107044MIT
engo - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
7gonetGame Development1047293201MIT
gonet - Game server skeleton implemented with golang.
8termloopGame Development1022647917View license
termloop - Terminal-based game engine for Go, built on top of Termbox.
9nanoGame Development9741502237MIT
nano - Lightweight, facility, high performance golang based game server framework.
10g3nGame Development7356963713BSD-2-Clause
g3n - Go 3D Game Engine.
11OakGame Development6223310355Apache-2.0
Oak - Pure Go game engine.
12Azul3DGame Development42632627View license
Azul3D - 3D game engine written in Go.
13raylib-goGame Development377352558Zlib
raylib-go - Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.
14go-astarGame Development32433222MIT
go-astar - Go implementation of the A* path finding algorithm.
15GarageEngineGame Development308252622MIT
GarageEngine - 2d game engine written in Go working on OpenGL.
16PitayaGame Development2955439011MIT
Pitaya - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
17go3dGame Development16430878MIT
go3d - Performance oriented 2D/3D math package for Go.
18glopGame Development7784131View license
glop - Glop (Game Library Of Power) is a fairly simple cross-platform game library.
19go-colladaGame Development122101MIT
go-collada - Go package for working with the Collada file format.

back

Generation and Generics

No.NameCategoryStarForkCommitsContributorsLicense
1go-linqGeneration and Generics178712615912Apache-2.0
go-linq - .NET LINQ-like query methods for Go.
2jenniferGeneration and Generics1259572176MIT
jennifer - Generate arbitrary Go code without templates.
3goderiveGeneration and Generics735213738Apache-2.0
goderive - Derives functions from input types.
4GoWrapGeneration and Generics26014433MIT
GoWrap - Generate decorators for Go interfaces using simple templates.
5interfacesGeneration and Generics18513554MIT
interfaces - Command line tool for generating interface definitions.
6pkgreflectGeneration and Generics8512264MIT
pkgreflect - Go preprocessor for package scoped reflection.
7go-enumGeneration and Generics816494MIT
go-enum - Code generation for enums from code comments.
8efaceconvGeneration and Generics438464BSD-2-Clause
efaceconv - Code generation tool for high performance conversion from interface{} to immutable type without allocations.
9gotypeGeneration and Generics2011571MIT
gotype - Golang source code parsing, usage like reflect package.
10generisGeneration and Generics180321View license
generis - Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.
11genGeneration and Generics0000
gen - Code generation tool for ‘generics’-like functionality.

back

Geographic

No.NameCategoryStarForkCommitsContributorsLicense
1Tile38Geographic629634176729MIT
Tile38 - Geolocation DB with spatial index and realtime geofencing.
2S2 geometryGeographic8809834210Apache-2.0
S2 geometry - S2 geometry library in Go.
3geocacheGeographic110851MIT
geocache - In-memory cache that is suitable for geolocation based applications.
4osmGeographic6672023MIT
osm - Library for reading, writing and working with OpenStreetMap data and APIs.
5geoserverGeographic2531691MIT
geoserver - geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
6gismanagerGeographic195271MIT
gismanager - Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
7pbfGeographic151711Apache-2.0
pbf - OpenStreetMap PBF golang encoder/decoder.

back

Go Compilers

No.NameCategoryStarForkCommitsContributorsLicense
1gopherjsGo Compilers8492396207044BSD-2-Clause
gopherjs - Compiler from Go to JavaScript.
2llgoGo Compilers98982100112View license
llgo - LLVM-based compiler for Go.
3tardisgoGo Compilers392222973View license
tardisgo - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
4c4goGo Compilers14217158422MIT
c4go - Transpile C code to Go code.
5f4goGo Compilers1115572MIT
f4go - Transpile FORTRAN 77 code to Go code.

back

Go Generate Tools

No.NameCategoryStarForkCommitsContributorsLicense
1gotestsGo Generate Tools215915035518Apache-2.0
gotests - Generate Go tests from your source code.
2gennyGo Generate Tools938769212MIT
genny - Elegant generics for Go.
3re2dfaGo Generate Tools16811721GPL-3.0
re2dfa - Transform regular expressions into finite state machines and output Go source code.
4gocontractsGo Generate Tools523802MIT
gocontracts - brings design-by-contract to Go by synchronizing the code with the documentation.
5gounitGo Generate Tools284402View license
gounit - Generate Go tests using your own templates.
6genericGo Generate Tools272631MIT
generic - flexible data type for Go.
7hasgoGo Generate Tools122943MIT
hasgo - Generate Haskell inspired functions for your slices.

back

Go Tools

No.NameCategoryStarForkCommitsContributorsLicense
1go-swaggerGo Tools39106402501183Apache-2.0
go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
2go-callvisGo Tools19681151346MIT
go-callvis - Visualize call graph of your Go program using dot format.
3richgoGo Tools3856643View license
richgo - Enrich go test outputs with text decorations.
4depthGo Tools37222465MIT
depth - Visualize dependency trees of any package by analyzing imports.
5rtsGo Tools1847182View license
rts - RTS: response to struct. Generates Go structs from server responses.
6godbgGo Tools1567244MIT
godbg - Implementation of Rusts dbg! macro for quick and easy debugging during development.
7colorgoGo Tools969183
colorgo - Wrapper around go command for colorized go build output.
8OctoLinkerGo Tools87372672935MIT
OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
9go-pkg-completeGo Tools377285MIT
go-pkg-complete - Bash completion for go and wgo.
10generator-go-langGo Tools132612MIT
generator-go-lang - A Yeoman generator to get new Go projects started.

back

Gophers

No.NameCategoryStarForkCommitsContributorsLicense
1gophersGophers1834801093View license
gophers - Gopher artworks by Ashley McNamara.
2gophersGophers1567701591CC0-1.0
gophers - Free gophers.
3Free Gophers PackGophers14756891View license
Free Gophers Pack - Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
4gophericonsGophers55822161View license
gophericons
5gopher-stickersGophers43623112
gopher-stickers
6gopher-vectorGophers33838162
gopher-vector
7gopherize.meGophers31230571MIT
gopherize.me - Gopherize yourself.
8gopher-logosGophers643132
gopher-logos - adorable gopher logos.
9gophersGophers502261
gophers - random gopher graphics.
10gophersGophers401412CC-BY-4.0
gophers - Gopher amigurumi toy pattern.
11Go-gopher-VectorGophers32221
Go-gopher-Vector - Go gopher Vector Data [.ai, .svg].

back

Goroutines

No.NameCategoryStarForkCommitsContributorsLicense
1goworkerGoroutines223519713614View license
goworker - goworker is a Go-based background worker.
2antsGoroutines18132464217MIT
ants - A high-performance goroutine pool for golang.
3tunnyGoroutines1325123403MIT
tunny - Goroutine pool for golang.
4grpoolGoroutines49072374MIT
grpool - Lightweight Goroutine pool.
5poolGoroutines47449441MIT
pool - Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
6go-flocGoroutines167101101MIT
go-floc - Orchestrate goroutines with ease.
7workerpoolGoroutines13024563MIT
workerpool - Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.
8go-flowGoroutines10316442MIT
go-flow - Control goroutines execution order.
9GoSlavesGoroutines7571252MIT
GoSlaves - Simple and Asynchronous Goroutine pool library.
10semaphoreGoroutines703443MIT
semaphore - Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
11gpoolGoroutines574601MIT
gpool - manages a resizeable pool of context-aware goroutines to bound concurrency.
12cyclicbarrierGoroutines272241MIT
cyclicbarrier - CyclicBarrier for golang.
13parallel-fnGoroutines241171MIT
parallel-fn - Run functions in parallel.
14asyncGoroutines19322View license
async - A safe way to execute functions asynchronously, recovering them in case of panic.
15threadpoolGoroutines173631Apache-2.0
threadpool - Golang threadpool implementation.
16artifexGoroutines112301MIT
artifex - Simple in-memory job queue for Golang using worker-based dispatching.
17HunchGoroutines92291Apache-2.0
Hunch - Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
18stlGoroutines81191MIT
stl - Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
19go-tools/multithreadingGoroutines51101MIT
go-tools/multithreading - Manage a pool of goroutines using this lightweight library with a simple API.
20go-trylockGoroutines41261Apache-2.0
go-trylock - TryLock support on read-write lock for Golang.
21worker-poolGoroutines343483MIT
worker-pool - goworker is a Go simple async worker pool.
22routineGoroutines20191MIT
routine - go routine control with context, support: Main, Go, Pool and some useful Executors.
23semaphoreGoroutines1742921MIT
semaphore - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
24queueGoroutines1061MIT
queue - Gives you a sync.WaitGroup like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
25gollbackGoroutines126181MIT
gollback - asynchronous simple function utilities, for managing execution of closures and callbacks.
26breakerGoroutines129261MIT
breaker - Flexible mechanism to make execution flow interruptible.

back

Images

No.NameCategoryStarForkCommitsContributorsLicense
1imaginaryImages257626452231MIT
imaginary - Fast and simple HTTP microservice for image resizing.
2imagingImages249122817514MIT
imaging - Simple Go image processing package.
3lnImages245685833MIT
ln - 3D line art rendering in Go.
4resizeImages211920114711ISC
resize - Image resizing for Go with common interpolation methods.
5bildImages202610022112MIT
bild - Collection of image processing algorithms in pure Go.
6ggImages189313216210MIT
gg - 2D rendering in pure Go.
7ptImages1764884713MIT
pt - Path tracing engine written in Go.
8svgoImages13261083372View license
svgo - Go Language Library for SVG generation.
9smartcropImages1247811489MIT
smartcrop - Finds good crops for arbitrary images and crop sizes.
10giftImages1208851043MIT
gift - Package of image processing filters.
11go-opencvImages108617521331BSD-3-Clause
go-opencv - Go bindings for OpenCV.
12picfitImages10589245014MIT
picfit - An image resizing server written in Go.
13geopatternImages101049535MIT
geopattern - Create beautiful generative image patterns from a string.
14imagickImages96711926319View license
imagick - Go binding to ImageMagick's MagickWand C API.
15bimgImages78216946127MIT
bimg - Small package for fast and efficient image processing using libvips.
16stegifyImages48540331MIT
stegify - Go tool for LSB steganography, capable of hiding any file within an image.
17mortImages364142761MIT
mort - Storage and image processing server written in Go.
18govatarImages3101691MIT
govatar - Library and CMD tool for generating funny avatars.
19image2asciiImages287211293MIT
image2ascii - Convert image to ASCII.
20go-nudeImages28634322MIT
go-nude - Nudity detection with Go.
21goimagehashImages20920364BSD-2-Clause
goimagehash - Go Perceptual image hashing package.
22rezImages189131102MIT
rez - Image resizing in pure Go and SIMD.
23imgImages12982092MIT
img - Selection of image manipulation tools.
24gocvImages1182411109765Apache-2.0
gocv - Go package for computer vision using OpenCV 3.3+.
25go-cairoImages85226310View license
go-cairo - Go binding for the cairo graphics library.
26mergiImages708571MIT
mergi - Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
27go-gdImages49131064
go-gd - Go binding for GD library.
28gltfImages3631103BSD-2-Clause
gltf - Efficient and robust glTF 2.0 reader, writer and validator.
29cameronImages316331Unlicense
cameron - An avatar generator for Go.
30goimghdrImages262111BSD-3-Clause
goimghdr - The imghdr module determines the type of image contained in a file for Go.
31steganographyImages258852MIT
steganography - Pure Go Library for LSB steganography.
32go-webcolorsImages24381MIT
go-webcolors - Port of webcolors library from Python to Go.
33tgaImages2310221MIT
tga - Package tga is a TARGA image format decoder/encoder.
34darkroomImages2121235MIT
darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
35mpoImages62451MIT
mpo - Decoder and conversion tool for MPO 3D Photos.

back

IoT (Internet of Things)

No.NameCategoryStarForkCommitsContributorsLicense
1flogoIoT (Internet of Things)111216339634BSD-3-Clause
flogo - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration.
2gattIoT (Internet of Things)81021110415BSD-3-Clause
gatt - Gatt is a Go package for building Bluetooth Low Energy peripherals.
3mainfluxIoT (Internet of Things)57820369531Apache-2.0
mainflux - Industrial IoT Messaging and Device Management Server.
4gobotIoT (Internet of Things)31156612627108Apache-2.0
gobot - Gobot is a framework for robotics, physical computing, and the Internet of Things.
5devicesIoT (Internet of Things)225171063Apache-2.0
devices - Suite of libraries for IoT devices, experimental for x/exp/io.
6sensorbeeIoT (Internet of Things)1782616826MIT
sensorbee - Lightweight stream processing engine for IoT.
7connectordbIoT (Internet of Things)1671913212Apache-2.0
connectordb - Open-Source Platform for Quantified Self & IoT.
8huegoIoT (Internet of Things)10910613MIT
huego - An extensive Philips Hue client library for Go.
9eywaIoT (Internet of Things)3682534View license
eywa - Project Eywa is essentially a connection manager that keeps track of connected devices.
10iotIoT (Internet of Things)355341MIT
iot - IoT is a simple framework for implementing a Google IoT Core device.

back

JSON

No.NameCategoryStarForkCommitsContributorsLicense
1GJSONJSON481430618112MIT
GJSON - Get a JSON value with one line of code.
2gojsonJSON202113910512View license
gojson - Automatically generate Go (golang) struct definitions from example JSON.
3gojqJSON14015292View license
gojq - JSON query in Golang.
4kazaamJSON12932848MIT
kazaam - API for arbitrary transformation of JSON documents.
5jsongoJSON929341Apache-2.0
jsongo - Fluent API to make it easier to create Json objects.
6gjoJSON586333MIT
gjo - Small utility to create JSON objects.
7jsonfJSON547282Zlib
jsonf - Console tool for highlighted formatting and struct query fetching JSON.
8JayDiffJSON3831031MIT
JayDiff - JSON diff utility written in Go.
9mpJSON33291MIT
mp - Simple cli email parser. It currently takes stdin and outputs JSON.
10go-respondJSON224434MIT
go-respond - Go package for handling common HTTP JSON responses.
11ajsonJSON120761MIT
ajson - Abstract JSON for golang with JSONPath support.
12jsonhalJSON95644MPL-2.0
jsonhal - Simple Go package to make custom structs marshal into HAL compatible JSON responses.
13go-jsonerrorJSON70151MIT
go-jsonerror - Go-JsonError is ment to allow us to easily create json response errors that follow the JsonApi spec.
14jsonapi-errorsJSON51141MIT
jsonapi-errors - Go bindings based on the JSON API errors reference.

back

Job Scheduler

No.NameCategoryStarForkCommitsContributorsLicense
1gronJob Scheduler625301221MIT
gron - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.
2JobRunnerJob Scheduler56844162MIT
JobRunner - Smart and featureful cron job scheduler with job queuing and live monitoring built in.
3jobsJob Scheduler451331666MIT
jobs - Persistent and flexible background jobs library.
4schedulerJob Scheduler29041362MIT
scheduler - Cronjobs scheduling made easy.
5go-cronJob Scheduler1771232
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.
6clockworkJob Scheduler759334MIT
clockwork - Simple and intuitive job scheduling library in Go.
7leprechaunJob Scheduler3772455MIT
leprechaun - Job scheduler that supports webhooks, crons and classic scheduling.

back

Logging

No.NameCategoryStarForkCommitsContributorsLicense
1logrusLogging1176613851049210MIT
logrus - Structured logger for Go.
2zapLogging732756039350View license
zap - Fast, structured, leveled logging in Go.
3spewLogging327220214519ISC
spew - Implements a deep pretty printer for Go data structures to aid in debugging.
4glogLogging2294566224Apache-2.0
glog - Leveled execution logs for Go.
5zerologLogging216314717641MIT
zerolog - Zero-allocation JSON logger.
6tailLogging152331025229View license
tail - Go package striving to emulate the features of the BSD tail program.
7lumberjackLogging1420191647MIT
lumberjack - Simple rolling logger, implements io.WriteCloser.
8seelogLogging134422225015View license
seelog - Logging functionality with flexible dispatching, filtering, and formatting.
9log15Logging87911215226View license
log15 - Simple, powerful logging for Go.
10logLogging7276610713MIT
log - Structured logging package for Go.
11logxiLogging33435885MIT
logxi - 12-factor app logger that is fast and makes you happy.
12onelogLogging32911768MIT
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.
13logLogging266201334MIT
log - Simple, configurable and scalable Structured Logging for Go.
14logutilsLogging24726216MPL-2.0
logutils - Utilities for slightly better logging in Go (Golang) extending the standard logger.
15go-loggerLogging23336466BSD-3-Clause
go-logger - Simple logger of Go Programs, with level handlers.
16loggerLogging13513574WTFPL
logger - Minimalistic logging library for Go.
17xlogLogging129101117MIT
xlog - Structured logger for net/context aware HTTP handlers with flexible dispatching.
18ozzo-logLogging10926394MIT
ozzo-log - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).
19rollingwriterLogging969893MIT
rollingwriter - RollingWriter is an auto-rotate io.Writer implementation with multi policies to provide log file rotation.
20log-voyageLogging8293691MIT
log-voyage - Full-featured logging saas written in golang.
21glgLogging518977MIT
glg - glg is simple and fast leveled logging library for Go.
22stdlogLogging43453MIT
stdlog - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
23gologgerLogging39922
gologger - Simple easy to use log lib for go, logs in Colored Console, Simple Console, File or Elasticsearch.
24go-logLogging3415635MIT
go-log - Log4j implementation in Go.
25gone/logLogging32600
gone/log - Fast, extendable, full-featured, std-lib source compatible log library.
26logexLogging327372MIT
logex - Golang log lib, supports tracking and level, wrap by standard log lib.
27logruslyLogging2611289MIT
logrusly - logrus plug-in to send errors to a Loggly.
28go-logLogging2412162MIT
go-log - Log lib supports level and multi handlers.
29logLogging222142MIT
log - Structured log interface for Go cleanly separates logging facade from its implementation.
30go-cronowriterLogging191341MIT
go-cronowriter - Simple writer that rotate log files automatically based on current date and time, like cronolog.
31distillogLogging186272MIT
distillog - distilled levelled logging (think of it as stdlib + log levels).
32mlogLogging1814246MIT
mlog - Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
33journaldLogging180342MIT
journald - Go implementation of systemd Journal's native API for logging.
34gomolLogging1501592MIT
gomol - Multiple-output, structured logging for Go with extensible logging outputs.
35go-logLogging104241Apache-2.0
go-log - Simple and configurable Logging in Go, with level, formatters and writers.
36logdumpLogging92142
logdump - Package for multi-level logging.
37gloLogging80331MIT
glo - PHP Monolog inspired logging facility with identical severity levels.
38xlogLogging71191MIT
xlog - Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format.
39logmaticLogging60131MIT
logmatic - Colorized logger for Golang with dynamic log level configuration.
40logoLogging41361MIT
logo - Golang logger to different configurable writers.
41logLogging40401MIT
log - An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).

back

Machine Learning

No.NameCategoryStarForkCommitsContributorsLicense
1GoLearnMachine Learning662990750245MIT
GoLearn - General Machine Learning library for Go.
2gorgoniaMachine Learning266925160526View license
gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
3tfgoMachine Learning117579818Apache-2.0
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.
4gomlMachine Learning1007901536MIT
goml - On-line Machine Learning in Go.
5gosseractMachine Learning85912036019MIT
gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
6CloudForestMachine Learning643784303View license
CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
7bayesianMachine Learning6261069110View license
bayesian - Naive Bayesian Classification for Golang.
8eaoptMachine Learning6185631412MIT
eaopt - An evolutionary optimization library.
9gorseMachine Learning523563653Apache-2.0
gorse - A High Performance Recommender System Package based on Collaborative Filtering for Go.
10gobrainMachine Learning37844475MIT
gobrain - Neural Networks written in go.
11regommendMachine Learning24522423AGPL-3.0
regommend - Recommendation & collaborative filtering engine.
12ocrserverMachine Learning21946721MIT
ocrserver - A simple OCR API server, seriously easy to be deployed by Docker and Heroku.
13go-deepMachine Learning21617802MIT
go-deep - A feature-rich neural network library in Go.
14go-galibMachine Learning17140935
go-galib - Genetic Algorithms library written in Go / golang.
15onnx-goMachine Learning147102353MIT
onnx-go - Go Interface to Open Neural Network Exchange (ONNX).
16goRecommendMachine Learning14216251MIT
goRecommend - Recommendation Algorithms library written in Go.
17shieldMachine Learning12423320MIT
shield - Bayesian text classifier with flexible tokenizers and storage backends for Go.
18go-fannMachine Learning9921455MIT
go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library.
19gogaMachine Learning789492GPL-3.0
goga - Genetic algorithm library for Go.
20libsvmMachine Learning638102View license
libsvm - libsvm golang version derived work based on LIBSVM 3.14.
21neural-goMachine Learning6111391
neural-go - Multilayer perceptron network implemented in Go, with training via backpropagation.
22go-prMachine Learning571031
go-pr - Pattern recognition package in Go lang.
23neatMachine Learning55111821GPL-3.0
neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
24golinearMachine Learning3910543View license
golinear - liblinear bindings for Go.
25goscoreMachine Learning35121073MIT
goscore - Go Scoring API for PMML.
26fonetMachine Learning316231MIT
fonet - A Deep Neural Network library written in Go.
27godistMachine Learning245131MIT
godist - Various probability distributions, and associated methods.
28VarisMachine Learning2461492MIT
Varis - Golang Neural Network.
29go-clusterMachine Learning214313BSD-3-Clause
go-cluster - Go implementation of the k-modes and k-prototypes clustering algorithms.
30probabMachine Learning104471BSD-3-Clause
probab - Probability distribution functions. Bayesian inference. Written in pure Go.
31evoliMachine Learning822882MIT
evoli - Genetic Algorithm and Particle Swarm Optimization library.
32GoMindMachine Learning61701GPL-3.0
GoMind - A simplistic Neural Network Library in Go.
33mlgoMachine Learning51422
mlgo - This project aims to provide minimalistic machine learning algorithms in Go.

back

Messaging

No.NameCategoryStarForkCommitsContributorsLicense
1saramaMessaging45598182138141MIT
sarama - Go library for Apache Kafka.
2gorushMessaging367638068617MIT
gorush - Push notification server using APNs2 and google GCM.
3machineryMessaging333743490171MPL-2.0
machinery - Asynchronous task queue/job queue based on distributed message passing.
4go-socket.ioMessaging285947220037View license
go-socket.io - socket.io library for golang, a realtime application framework.
5NATS Go ClientMessaging237731698244Apache-2.0
NATS Go Client - Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
6APNs2Messaging203821115517MIT
APNs2 - HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps.
7BenthosMessaging193796128821MIT
Benthos - A message streaming bridge between a range of protocols.
8gopush-clusterMessaging18325345438GPL-3.0
gopush-cluster - gopush-cluster is a go push server cluster.
9melodyMessaging1540169826BSD-2-Clause
melody - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
10mangosMessaging153213826423Apache-2.0
mangos - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability.
11MercureMessaging14726819023View license
Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
12go-nsqMessaging144928256237MIT
go-nsq - the official Go package for NSQ.
13Uniqush-PushMessaging109617666012Apache-2.0
Uniqush-Push - Redis backed unified push service for server-side notifications to mobile devices.
14zmq4Messaging7731161685BSD-2-Clause
zmq4 - Go interface to ZeroMQ version 4. Also available for version 3 and version 2.
15GollumMessaging76761218124Apache-2.0
Gollum - A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
16BeaverMessaging714301671MIT
Beaver - A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
17EventBusMessaging54964639MIT
EventBus - The lightweight event bus with async compatibility.
18golongpollMessaging42331783MIT
golongpoll - HTTP longpoll server library that makes web pub-sub simple.
19dbusMessaging3539435851BSD-2-Clause
dbus - Native Go bindings for D-Bus.
20GlueMessaging31420644MIT
Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io).
21emitterMessaging30930563View license
emitter - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
22pubsubMessaging27245493BSD-2-Clause
pubsub - Simple pubsub package for go.
23CentrifugoMessaging1783647100917MIT
Centrifugo - Real-time messaging (Websockets or SockJS) server in Go.
24gubleMessaging1381518019MIT
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.
25BusMessaging1145192Apache-2.0
Bus - Minimalist message bus implementation for internal communication.
26oplogMessaging94101272MIT
oplog - Generic oplog/replication system for REST APIs.
27rabtapMessaging714681GPL-3.0
rabtap - RabbitMQ swiss army knife cli app.
28rabbusMessaging611712812MIT
rabbus - A tiny wrapper over amqp exchanges and queues.
29drone-lineMessaging60112164MIT
drone-line - Sending Line notifications using a binary, docker or Drone CI.
30RapidMQMessaging548281Apache-2.0
RapidMQ - RapidMQ is a lightweight and reliable library for managing of the local messages queue.
31nsq-event-busMessaging5010913MIT
nsq-event-bus - A tiny wrapper around NSQ topic and channel.
32go-notifyMessaging479484BSD-2-Clause
go-notify - Native implementation of the freedesktop notification spec.
33gooseMessaging36521MIT
goose - Server Sent Events in Go.
34eventMessaging275711MIT
event - Implementation of the pattern observer.
35hubMessaging241311Apache-2.0
hub - A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
36CommanderMessaging2125252MIT
Commander - A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
37go-vitotrolMessaging111582MIT
go-vitotrol - Client library to Viessmann Vitotrol web service.
38gaurun-clientMessaging82101MIT
gaurun-client - Gaurun Client written in Go.
39jazzMessaging61121MIT
jazz - A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
40messagebusMessaging464602MIT
messagebus - messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
41redisqueueMessaging1041MIT
redisqueue - redisqueue provides a producer and consumer of a queue that uses Redis streams.
42rmqconnMessaging00311MIT
rmqconn - RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.

back

Microsoft Office

No.NameCategoryStarForkCommitsContributorsLicense
1excelizeMicrosoft Office438447042151BSD-3-Clause
excelize - Golang library for reading and writing Microsoft Excel™ (XLSX) files.
2xlsxMicrosoft Office333356578474BSD-3-Clause
xlsx - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
3uniofficeMicrosoft Office166814036413View license
unioffice - Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
4go-excelMicrosoft Office466971BSD-3-Clause
go-excel - A simple and light reader to read a relate-db-like excel as a table.
5goxlsxwriterMicrosoft Office120421View license
goxlsxwriter - Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.
6xlsxMicrosoft Office9663302MIT
xlsx - Fast and safe way to read/update your existing Microsoft Excel files in Go programs.

back

Miscellaneous

No.NameCategoryStarForkCommitsContributorsLicense
1golang-standards/project-layoutMiscellaneous8817846546View license
golang-standards/project-layout - Set of common historical and emerging project layout patterns in the Go ecosystem.
2gopsutilMiscellaneous38787211363147View license
gopsutil - Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
3archiverMiscellaneous246920114136MIT
archiver - Library and command for making and extracting .zip and .tar.gz archives.
4gosmsMiscellaneous1223115783GPL-2.0
gosms - Your own local SMS gateway in Go that can be used to send SMS.
5digMiscellaneous8885820914View license
dig - A reflection based dependency injection toolkit for Go.
6go-resiliencyMiscellaneous84075704MIT
go-resiliency - Resiliency patterns for golang.
7go-commons-poolMiscellaneous661951544Apache-2.0
go-commons-pool - Generic object pool for Golang.
8fxMiscellaneous6587164330MIT
fx - A dependency injection based application framework for Go (built on top of dig).
9base64CaptchaMiscellaneous6181181234View license
base64Captcha - Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
10xstringsMiscellaneous61443493MIT
xstrings - Collection of useful string functions ported from other languages.
11shortidMiscellaneous44630242MIT
shortid - Distributed generation of super short, unique, non-sequential, URL friendly IDs.
12llvmMiscellaneous40735144411Unlicense
llvm - Library for interacting with LLVM IR in pure Go.
13healthMiscellaneous36033675MIT
health - Easy to use, extensible health check library.
14convMiscellaneous34011403MIT
conv - Package conv provides fast and intuitive conversions across Go types.
15bannerMiscellaneous22911212MIT
banner - Add beautiful banners into your Go applications.
16gountriesMiscellaneous20824593MIT
gountries - Package that exposes country and subdivision data.
17antchMiscellaneous13933392MIT
antch - A fast, powerful and extensible web crawling & scraping framework.
18batteryMiscellaneous13413624View license
battery - Cross-platform, normalized battery information library.
19ffmtMiscellaneous126111201MIT
ffmt - Beautify data display for Humans.
20statsMiscellaneous12114351MIT
stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
21lkMiscellaneous11717262View license
lk - A simple licensing library for golang.
22bitioMiscellaneous9212381Apache-2.0
bitio - Highly optimized bit-level Reader and Writer for Go.
23healthcheckMiscellaneous8021529MIT
healthcheck - An opinionated and concurrent health-check HTTP handler for RESTful services.
24turtleMiscellaneous728472MIT
turtle - Emojis for Go.
25gommitMiscellaneous6911724Apache-2.0
gommit - Analyze git commit messages to ensure they follow defined patterns.
26go-unarrMiscellaneous6713571Zlib
go-unarr - Decompression library for RAR, TAR, ZIP and 7z archives.
27strutilMiscellaneous615372MIT
strutil - String utilities.
28indigoMiscellaneous517391MIT
indigo - Distributed unique ID generator of using Sonyflake and encoded by Base58.
29morseMiscellaneous498434BSD-3-Clause
morse - Library to convert to and from morse code.
30captchaMiscellaneous427482MIT
captcha - Package captcha provides an easy to use, unopinionated API for captcha generation.
31xkgMiscellaneous395151MIT
xkg - X Keyboard Grabber.
32persianMiscellaneous333202MIT
persian - Some utilities for Persian language in go.
33pdfgenMiscellaneous333271MIT
pdfgen - HTTP service to generate PDF from Json requests.
34aliceMiscellaneous333281MIT
alice - Additive dependency injection container for Golang.
35browscap_goMiscellaneous2917463MIT
browscap_go - GoLang Library for Browser Capabilities Project.
36datacounterMiscellaneous274191MIT
datacounter - Go counters for readers/writer/http.ResponseWriter.
37injectMiscellaneous2522061MIT
inject - A reflection based dependency injection container with simple interface.
38autoflagsMiscellaneous241161MIT
autoflags - Go package to automatically define command line flags from struct fields.
39ghorgMiscellaneous23101281Apache-2.0
ghorg - Clone all repos from a GitHub org into a single directory.
40scaffoldMiscellaneous214271MIT
scaffold - Scaffold generates starter Go project layout. Lets you focus on business logic implemeted.
41go-sampleMiscellaneous21221MIT
go-sample - A sample layout for Go application projects with the real code.
42xdgMiscellaneous1961962BSD-3-Clause
xdg - FreeDesktop.org (xdg) Specs implemented in Go.
43wireMiscellaneous193312MIT
wire - Strict Runtime Dependency Injection for Golang.
44url-shortenerMiscellaneous173371MIT
url-shortener - A modern, powerful, and robust URL shortener microservice with mysql support.
45goshMiscellaneous161211MIT
gosh - Provide Go Statistics Handler, Struct, Measure Method.
46gotopromMiscellaneous150343View license
gotoprom - Type-safe metrics builder wrapper library for the official Prometheus client.
47sandidMiscellaneous121451Unlicense
sandid - Every grain of sand on earth has its own ID.
48anagentMiscellaneous112231MIT
anagent - Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
49avgRatingMiscellaneous9141MIT
avgRating - Calculate average score and rating based on Wilson Score Equation.
50hostutilsMiscellaneous72172Apache-2.0
hostutils - A golang library for packing and unpacking FQDNs list.
51shellwordsMiscellaneous7151Apache-2.0
shellwords - A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
52metricsMiscellaneous40801View license
metrics - Library for metrics instrumentation and Prometheus exposition.
53linkerMiscellaneous40292Apache-2.0
linker - A reflection based dependency injection and inversion of control library with components lifecycle support.
54VarHandlerMiscellaneous4200
VarHandler - Generate boilerplate http input and output handling.
55gofakeitMiscellaneous441128912MIT
gofakeit - Random data generator written in go.
56numaMiscellaneous20131MIT
numa - NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
57gocontainerMiscellaneous08191MIT
gocontainer - Simple Dependency Injection Container.
58go-openapiMiscellaneous0000
go-openapi - Collection of packages to parse and utilize open-api schemas.

back

Natural Language Processing

No.NameCategoryStarForkCommitsContributorsLicense
1proseNatural Language Processing2035962126MIT
prose - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more.
2go-i18nNatural Language Processing113812631831MIT
go-i18n - Package and an accompanying tool to work with localized text.
3gseNatural Language Processing1062822562Apache-2.0
gse - Go efficient text segmentation; support english, chinese, japanese and other.
4whenNatural Language Processing92644587Apache-2.0
when - Natural EN and RU language date/time parser with pluggable rules.
5gojiebaNatural Language Processing8101421227MIT
gojieba - This is a Go implementation of jieba which a Chinese word splitting algorithm.
6go-pinyinNatural Language Processing517901405MIT
go-pinyin - CN Hanzi to Hanyu Pinyin converter.
7kagomeNatural Language Processing411284378Apache-2.0
kagome - JP morphological analyzer written in pure Go.
8nlpNatural Language Processing35326381MIT
nlp - Extract values from strings and fill your structs with nlp.
9whatlanggoNatural Language Processing34927347MIT
whatlanggo - Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
10sentencesNatural Language Processing260221855MIT
sentences - Sentence tokenizer: converts text into a list of sentences.
11nlpNatural Language Processing215221281MIT
nlp - Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
12go-nlpNatural Language Processing7910221
go-nlp - Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
13getlangNatural Language Processing7311393MIT
getlang - Fast natural language detection package.
14gounidecodeNatural Language Processing681782
gounidecode - Unicode transliterator (also known as unidecode) for Go.
15textcatNatural Language Processing608411
textcat - Go package for n-gram based text categorization, with support for utf-8 and raw text.
16MMSEGONatural Language Processing5912161View license
MMSEGO - This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
17go-unidecodeNatural Language Processing5610241MIT
go-unidecode - ASCII transliterations of Unicode text.
18go-stemNatural Language Processing5214241MIT
go-stem - Implementation of the porter stemming algorithm.
19stemmerNatural Language Processing472202BSD-2-Clause
stemmer - Stemmer packages for Go programming language. Includes English and German stemmers.
20segmentNatural Language Processing466381Apache-2.0
segment - Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
21RAKE.goNatural Language Processing457101MIT
RAKE.go - Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
22porter2Natural Language Processing33261Apache-2.0
porter2 - Really fast Porter 2 stemmer.
23go2vecNatural Language Processing303561View license
go2vec - Reader and utility functions for word2vec embeddings.
24paicehuskNatural Language Processing255231BSD-2-Clause
paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
25snowballNatural Language Processing24141View license
snowball - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
26go-mystemNatural Language Processing234211MIT
go-mystem - CGo bindings to Yandex.Mystem - russian morphology analyzer.
27petrovichNatural Language Processing221161MIT
petrovich - Petrovich is the library which inflects Russian names to given grammatical case.
28icuNatural Language Processing19371View license
icu - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
29golibstemmerNatural Language Processing15471
golibstemmer - Go bindings for the snowball libstemmer library including porter 2.
30shamojiNatural Language Processing100281MIT
shamoji - The shamoji is word filtering package written in Go.
31libtextcatNatural Language Processing10691View license
libtextcat - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
32porterNatural Language Processing80261MIT
porter - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
33gotokenizerNatural Language Processing61482Apache-2.0
gotokenizer - A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
34go-ecoNatural Language Processing421021
go-eco - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models.

back

Networking

No.NameCategoryStarForkCommitsContributorsLicense
1kcptunNetworking1061420902827MIT
kcptun - Extremely simple & fast udp tunnel based on KCP protocol.
2fasthttpNetworking9212807116064MIT
fasthttp - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
3dnsNetworking37646393900153View license
dns - Go library for working with DNS.
4quic-goNetworking2860330367721MIT
quic-go - An implementation of the QUIC protocol in pure Go.
5gopacketNetworking28345651354134View license
gopacket - Go library for packet processing with libpcap bindings.
6kcp-goNetworking22314076107MIT
kcp-go - KCP - Fast and Reliable ARQ Protocol.
7webrtcNetworking215623483940MIT
webrtc - A pure Go implementation of the WebRTC API.
8gobgpNetworking1661337264674Apache-2.0
gobgp - BGP implemented in the Go Programming Language.
9grequestsNetworking1407701089Apache-2.0
grequests - A Go "clone" of the great and famous Requests library.
10sshNetworking10981309525BSD-3-Clause
ssh - Higher-level API for building SSH servers (wraps crypto/ssh).
11heimdallNetworking10647613222Apache-2.0
heimdall - An enchanced http client with retry and hystrix capabilities.
12slingNetworking981809112MIT
sling - Sling is a Go HTTP client library for creating and sending API requests.
13fortioNetworking8556921117Apache-2.0
fortio - Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.
14waterNetworking83112911012BSD-3-Clause
water - Simple TUN/TAP library.
15sftpNetworking72421663746BSD-2-Clause
sftp - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
16go-getterNetworking7178238331MPL-2.0
go-getter - Go library for downloading files or directories from various sources using a URL.
17gentlemanNetworking676271865MIT
gentleman - Full-featured plugin-driven HTTP client library.
18NFF-GoNetworking6518092518BSD-3-Clause
NFF-Go - Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
19mdnsNetworking5461166311MIT
mdns - Simple mDNS (Multicast DNS) client/server library in Golang.
20grabNetworking545681565BSD-3-Clause
grab - Go package for managing file downloads.
21ftpNetworking51520720029ISC
ftp - Package ftp implements a FTP client as described in RFC 959.
22lhttpNetworking5121081236MIT
lhttp - Powerful websocket framework, build your IM server more easily.
23gosnmpNetworking43021739747View license
gosnmp - Native Go library for performing SNMP actions.
24gotcpNetworking410145424MIT
gotcp - Go package for quickly writing tcp applications.
25cidrangerNetworking38527483MIT
cidranger - Fast IP to CIDR lookup for Go.
26peerdiscoveryNetworking35919433MIT
peerdiscovery - Pure Go library for cross-platform local peer discovery using UDP multicast.
27gopcapNetworking3521249013BSD-3-Clause
gopcap - Go wrapper for libpcap.
28go-stunNetworking330521165Apache-2.0
go-stun - Go implementation of the STUN client (RFC 3489 and RFC 5389).
29pesterNetworking32535628MIT
pester - Go HTTP client calls with retries, backoff, and concurrency.
30rawNetworking303499510MIT
raw - Package raw enables reading and writing data at the device driver level for a network interface.
31tcp_serverNetworking280100385MIT
tcp_server - Go library for building tcp servers faster.
32stunNetworking267296096BSD-3-Clause
stun - Go implementation of RFC 5389 STUN protocol.
33buffstreamsNetworking232261133Apache-2.0
buffstreams - Streaming protocolbuffer data over TCP made easy.
34winrmNetworking2106813023Apache-2.0
winrm - Go WinRM client to remotely execute commands on Windows machines.
35arpNetworking19333726MIT
arp - Package arp implements the ARP protocol, as described in RFC 826.
36ethernetNetworking18320342MIT
ethernet - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
37utpNetworking149242765MPL-2.0
utp - Go uTP micro transport protocol implementation.
38canopusNetworking133402806Apache-2.0
canopus - CoAP Client/Server implementation (RFC 7252).
39jazigoNetworking123103211MIT
jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
40sslbNetworking11323262BSD-3-Clause
sslb - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
41gNxINetworking984513113Apache-2.0
gNxI - A collection of tools for Network Management that use the gNMI and gNOI protocols.
42goreqNetworking9833423MIT
goreq - Enhanced simplified HTTP client based on gorequest.
43xtcpNetworking8118271MIT
xtcp - TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol.
44gmqttNetworking7771072MIT
gmqtt - Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
45HTTPLabNetworking66339814716MIT
HTTPLab - HTTPLabs let you inspect HTTP requests and forge responses.
46dhcp6Networking62191695MIT
dhcp6 - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
47etherNetworking623261BSD-3-Clause
ether - Cross-platform Go package for sending and receiving ethernet frames.
48linkioNetworking44472
linkio - Network link speed simulation for Reader/Writer interfaces.
49portproxyNetworking421021
portproxy - Simple TCP proxy which adds CORS support to API's which don't support it.
50packetNetworking276461MIT
packet - Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
51rqNetworking262261Apache-2.0
rq - A nicer interface for golang stdlib HTTP client.
52gravalNetworking24182012MIT
graval - Experimental FTP server framework.
53iplibNetworking242341MIT
iplib - Library for working with IP addresses (net.IP, net.IPNet), inspired by python ipaddress and ruby ipaddr
54publicipNetworking182191MIT
publicip - Package publicip returns your public facing IPv4 address (internet egress).
55golibwiresharkNetworking143511MIT
golibwireshark - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
56gosharkNetworking92602MIT
goshark - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
57llbNetworking80111WTFPL
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.
58tspoolNetworking6131MIT
tspool - A TCP Library use worker pool to improve performance and protect your server.

back

ORM

No.NameCategoryStarForkCommitsContributorsLicense
1beego ormORM21285430800
beego orm - Powerful orm framework for go. Support: pq/mysql/sqlite3.
2GORMORM1445016401480186MIT
GORM - The fantastic ORM library for Golang, aims to be developer friendly.
3XormORM5127662132489BSD-3-Clause
Xorm - Simple and powerful ORM for Go.
4gorpORM306835251972MIT
gorp - Go Relational Persistence, ORM-ish library for Go.
5go-pgORM2933229166034BSD-2-Clause
go-pg - PostgreSQL ORM with focus on PostgreSQL specific features and performance.
6SQLBoilerORM2238216137254View license
SQLBoiler - ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
7upper.io/dbORM1835138143123
upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
8reformORM7904529513MIT
reform - Better ORM for Go, based on non-empty interfaces and code generation.
9pop/sodaORM672165114973MIT
pop/soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
10QBSORM53910315812MIT
QBS - Stands for Query By Struct. A Go ORM.
11go-querysetORM447341199MIT
go-queryset - 100% type-safe ORM with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support based on GORM.
12ZoomORM239198735MIT
Zoom - Blazing-fast datastore and querying engine built on Redis.
13go-sqlbuilderORM22930737MIT
go-sqlbuilder - A flexible and powerful SQL string builder library plus a zero-config ORM.
14grimoireORM112132956MIT
grimoire - Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
15go-storeORM938482Apache-2.0
go-store - Simple and fast Redis backed key-value store library for Go.
16MarlowORM6342011MIT
Marlow - Generated ORM from project structs for compile time safety assurances.
17loreORM41391MIT
lore - Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
18go-firestormORM1091MIT
go-firestorm - A simple ORM for Google/Firebase Cloud Firestore.

back

OpenGL

No.NameCategoryStarForkCommitsContributorsLicense
1glfwOpenGL7269229124BSD-3-Clause
glfw - Go bindings for GLFW 3.
2glOpenGL636438212MIT
gl - Go bindings for OpenGL (generated via glow).
3mathglOpenGL2894345516BSD-3-Clause
mathgl - Pure Go math package specialized for 3D math, with inspiration from GLM.
4goxjs/glOpenGL13110393BSD-3-Clause
goxjs/gl - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
5goxjs/glfwOpenGL5811763
goxjs/glfw - Go cross-platform glfw library for creating an OpenGL context and receiving events.

back

Package Management

No.NameCategoryStarForkCommitsContributorsLicense
1depPackage Management1251010203322178View license
dep - Go dependency tool.
2glidePackage Management7766517109375View license
glide - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
3godepPackage Management564948032840View license
godep - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
4govendorPackage Management470836747049BSD-3-Clause
govendor - Go Package Manager. Go vendor tool that works with the standard vendor file.
5gopmPackage Management234818642020Apache-2.0
gopm - Go Package Manager.
6gomPackage Management135010020027
gom - Go Manager - bundle for go.
7gpmPackage Management12055124620MIT
gpm - Barebones dependency manager for Go.
8goopPackage Management77745273MIT
goop - Simple dependency manager for Go (golang), inspired by Bundler.
9nutPackage Management24511545MIT
nut - Vendor Go dependencies.
10johnny-depsPackage Management21461418MIT
johnny-deps - Minimal dependency version using Git.
11gigoPackage Management19712145MIT
gigo - PIP-like dependency tool for golang, with support for private repositories and hashes.
12VenGOPackage Management11591421GPL-2.0
VenGO - create and manage exportable isolated go virtual environments.
13mvn-golangPackage Management87155326Apache-2.0
mvn-golang - plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
14gopPackage Management506861MIT
gop - Build and manage your Go applications out of GOPATH.

back

Query Language

No.NameCategoryStarForkCommitsContributorsLicense
1graphql-goQuery Language514944787964MIT
graphql-go - Implementation of GraphQL for Go.
2graphqlQuery Language274126542942BSD-2-Clause
graphql - GraphQL server with a focus on ease of use.
3gojsonqQuery Language85150946MIT
gojsonq - A simple Go package to Query over JSON Data.
4jsonqlQuery Language20127562View license
jsonql - JSON query expression library in Golang.
5rqlQuery Language1107372
rql - Resource Query Language for REST API.
6graphqlQuery Language516962ISC
graphql - graphql parser + utilities.
7jsonsliceQuery Language2331291MIT
jsonslice - Jsonpath queries with advanced filters.

back

Resource Embedding

No.NameCategoryStarForkCommitsContributorsLicense
1packrResource Embedding206910330036MIT
packr - The simple and easy way to embed static files into Go binaries.
2statikResource Embedding20661258320Apache-2.0
statik - Embeds static files into a Go executable.
3go.riceResource Embedding163310123930BSD-2-Clause
go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy.
4vfsgenResource Embedding6485028522MIT
vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
5escResource Embedding464547816MIT
esc - Embeds files into Go programs and provides http.FileSystem interfaces to them.
6fileb0xResource Embedding4184214413MIT
fileb0x - Simple tool to embed files in go with focus on "customization" and ease to use.
7go-resourcesResource Embedding15415605MIT
go-resources - Unfancy resources embedding with Go.
8staticsResource Embedding534631MIT
statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
9templifyResource Embedding204633MIT
templify - Embed external template files into Go code to create single file binaries.
10go-embedResource Embedding142281MIT
go-embed - Generates go code to embed resource files into your library or executable.

back

Science and Data Analysis

No.NameCategoryStarForkCommitsContributorsLicense
1gonumScience and Data Analysis2906219541375BSD-3-Clause
gonum - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
2statsScience and Data Analysis13349521218MIT
stats - Statistics package with common functions missing from the Golang standard library.
3streamtoolsScience and Data Analysis1313111162013Apache-2.0
streamtools - general purpose, graphical tool for dealing with streams of data.
4goslScience and Data Analysis130010424309BSD-3-Clause
gosl - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
5gonum/plotScience and Data Analysis120112064726View license
gonum/plot - gonum/plot provides an API for building and drawing plots in Go.
6go-dspScience and Data Analysis625611225ISC
go-dsp - Digital Signal Processing for Go.
7goraphScience and Data Analysis597735943MIT
goraph - Pure Go graph theory library(data structure, algorith visualization).
8chartScience and Data Analysis579881536BSD-3-Clause
chart - Simple Chart Plotting library for Go. Supports many graphs types.
9ewmaScience and Data Analysis26519324MIT
ewma - Exponentially-weighted moving averages.
10graphScience and Data Analysis23116721BSD-2-Clause
graph - Library of basic graph algorithms.
11orbScience and Data Analysis195271664MIT
orb - 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
12gohistogramScience and Data Analysis12624464MIT
gohistogram - Approximate histograms for data streams.
13dataframe-goScience and Data Analysis7082083View license
dataframe-go - Dataframes for Go for machine-learning and statistics (similar to pandas).
14sparseScience and Data Analysis68112226MIT
sparse - Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
15TextRankScience and Data Analysis658881MIT
TextRank - TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
16geomScience and Data Analysis4015201View license
geom - 2D geometry for golang.
17evalerScience and Data Analysis4011474BSD-3-Clause
evaler - Simple floating point arithmetic expression evaluator.
18goentScience and Data Analysis1311391MIT
goent - GO Implementation of Entropy Measures.
19go-fnScience and Data Analysis112181
go-fn - Mathematical functions written in Go language, that are not covered by math pkg.
20triangolatteScience and Data Analysis1111623MIT
triangolatte - 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
21odeScience and Data Analysis100101MIT
ode - Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
22PiHexScience and Data Analysis92302View license
PiHex - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
23GoStatsScience and Data Analysis90231MIT
GoStats - GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
24pagerankScience and Data Analysis648141MIT
pagerank - Weighted PageRank algorithm implemented in Go.
25piecewiselinearScience and Data Analysis50131MIT
piecewiselinear - Tiny linear interpolation library.
26gocomplexScience and Data Analysis5110
gocomplex - Complex number library for the Go programming language.
27go-gtScience and Data Analysis50182BSD-3-Clause
go-gt - Graph theory algorithms written in "Go" language.
28rootfindingScience and Data Analysis30261MIT
rootfinding - root-finding algorithms library for finding roots of quadratic functions.
29assocentityScience and Data Analysis30261MIT
assocentity - Package assocentity returns the average distance from words to a given entity.
30bradleyterryScience and Data Analysis00221BSD-3-Clause
bradleyterry - Provides a Bradley-Terry Model for pairwise comparisons.

back

Security

No.NameCategoryStarForkCommitsContributorsLicense
1legoSecurity3458445833165MIT
lego - Pure Go ACME client library and CLI tool (for use with Let's Encrypt).
2acmetoolSecurity16949435322
acmetool - ACME (Let's Encrypt) client tool with automatic renewal.
3secureSecurity1195837423MIT
secure - HTTP middleware for Go that facilitates some quick security wins.
4memguardSecurity1044442932Apache-2.0
memguard - A pure Go library for handling sensitive values in memory.
5naclSecurity44922382BSD-3-Clause
nacl - Go implementation of the NaCL set of API's.
6acraSecurity445396559Apache-2.0
acra - Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
7BadActorSecurity2458992MIT
BadActor - In-memory, application-driven jailer built in the spirit of fail2ban.
8passlibSecurity22520453View license
passlib - Futureproof password hashing library.
9ssh-vaultSecurity195152145BSD-3-Clause
ssh-vault - encrypt/decrypt using ssh keys.
10simple-scryptSecurity15618244MIT
simple-scrypt - Scrypt package with a simple, obvious API and automatic cost calibration built-in.
11go-yaraSecurity131451628BSD-2-Clause
go-yara - Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)".
12CameradarSecurity9218101655MIT
Cameradar - Tool and library to remotely hack RTSP streams from surveillance cameras.
13argon2pwSecurity726201GPL-3.0
argon2pw - Argon2 password hash generation with constant-time password comparison.
14goSecretBoxPasswordSecurity296191GPL-3.0
goSecretBoxPassword - A probably paranoid package for securely hashing and encrypting passwords.
15goArgonPassSecurity113373MIT
goArgonPass - Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
16sslmgrSecurity70251MIT
sslmgr - SSL certificates made easy with a high level wrapper around acme/autocert.
17certificatesSecurity60611MIT
certificates - An opinionated tool for generating tls certificates.
18jwcSecurity51951MIT
jwc - JSON Web Cryptography library.

back

Serialization

No.NameCategoryStarForkCommitsContributorsLicense
1jsoniterSerialization541247075231MIT
jsoniter - High-performance 100% compatible drop-in replacement of "encoding/json".
2goprotobufSerialization5006102165579BSD-3-Clause
goprotobuf - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
3gogoprotobufSerialization2898385104855View license
gogoprotobuf - Protocol Buffers for Go with Gadgets.
4mapstructureSerialization237127219529MIT
mapstructure - Go library for decoding generic map values into native Go structures.
5go-codecSerialization122618663012MIT
go-codec - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
6colferSerialization472372798View license
colfer - Code generation for the Colfer binary format.
7csvutilSerialization29818862MIT
csvutil - High Performance, idiomatic CSV record encoding and decoding to native Go structures.
8go-capnprotoSerialization2722725111View license
go-capnproto - Cap'n Proto library and parser for go.
9php_session_decoderSerialization11837825BSD-2-Clause
php_session_decoder - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
10structomapSerialization929323MIT
structomap - Library to easily and dynamically generate maps from static structures.
11bambamSerialization60101535MIT
bambam - generator for Cap'n Proto schemas from go.
12asn1Serialization4016302MIT
asn1 - Asn.1 BER and DER encoding library for golang.
13binstructSerialization71441MIT
binstruct - Golang binary decoder for mapping data into the structure.
14fwencoderSerialization6161MIT
fwencoder - Fixed width file parser (encoding and decoding library) for Go.
15belSerialization50331MIT
bel - Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.

back

Server Applications

No.NameCategoryStarForkCommitsContributorsLicense
1etcdServer Applications26177532215274504Apache-2.0
etcd - Highly-available key value store for shared configuration and service discovery.
2CaddyServer Applications2296218212375262Apache-2.0
Caddy - Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
3minioServer Applications1709916205864172Apache-2.0
minio - Minio is a distributed object storage server.
4RoadRunnerServer Applications320912698913MIT
RoadRunner - High-performance PHP application server, load-balancer and process manager.
5devdServer Applications279812118814MIT
devd - Local webserver for developers.
6algernonServer Applications15836815613MIT
algernon - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
7fliptServer Applications982351989GPL-3.0
flipt - A self contained feature flag solution written in Go and Vue.js
8FlagrServer Applications8096750718Apache-2.0
Flagr - Flagr is an open-source feature flagging and A/B testing service.
9FiderServer Applications78611394019GPL-3.0
Fider - Fider is an open platform to collect and organize customer feedback.
10jackalServer Applications709503198GPL-3.0
jackal - An XMPP server written in Go.
11discoveryServer Applications6641551418MIT
discovery - A registry for resilient mid-tier load balancing and failover.
12nginx-prometheusServer Applications52111MPL-2.0
nginx-prometheus - Nginx log parser and exporter to Prometheus.
13psql-streamerServer Applications51121MPL-2.0
psql-streamer - Stream database events from PostgreSQL to Kafka.
14riemann-relayServer Applications00431MPL-2.0
riemann-relay - Relay to load-balance Riemann events and/or convert them to Carbon.

back

Software Packages

No.NameCategoryStarForkCommitsContributorsLicense
1kubernetesSoftware Packages5564819338808892210Apache-2.0
kubernetes - Container Cluster Manager from Google.
2MobySoftware Packages5422415639371751826Apache-2.0
Moby - Collaborative project for the container ecosystem to assemble container-based systems.
3traefikSoftware Packages2348924363035382MIT
traefik - Reverse proxy and load balancer with support for multiple backends.
4VegetaSoftware Packages1202476263442MIT
Vegeta - HTTP load testing tool and library. It's over 9000!
5GorSoftware Packages11278106899285View license
Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
6PackerSoftware Packages9137248312719839MPL-2.0
Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
7rktSoftware Packages87308325567195Apache-2.0
rkt - App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
8Seaweed File SystemSoftware Packages81261091253762Apache-2.0
Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek.
9resticSoftware Packages73615234258183BSD-2-Clause
restic - De-duplicating backup program.
10confdSoftware Packages6380106089092MIT
confd - Manage local application configuration files using templates and data from etcd or consul.
11HeySoftware Packages619647827536Apache-2.0
Hey - Hey is a tiny program that sends some load to a web application.
12ComcastSoftware Packages616327410118Apache-2.0
Comcast - Simulate bad network connections.
13LiteIDESoftware Packages5441730239964LGPL-2.1
LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE.
14driveSoftware Packages494142482159Apache-2.0
drive - Google Drive client for the commandline.
15GVMSoftware Packages445126661953MIT
GVM - GVM provides an interface to manage Go versions.
16nesSoftware Packages41223441895MIT
nes - Nintendo Entertainment System (NES) emulator written in Go.
17webhookSoftware Packages404735433028MIT
webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
18toxiproxySoftware Packages390420845035MIT
toxiproxy - Proxy to simulate network and system conditions for automated tests.
19gaiaSoftware Packages372916027214Apache-2.0
gaia - Build powerful pipelines in any programming language.
20goxSoftware Packages333724711715MPL-2.0
gox - Dead simple, no frills Go cross compile tool.
21bosunSoftware Packages2850479406585MIT
bosun - Time Series Alerting Framework.
22DuplicacySoftware Packages267719262138View license
Duplicacy - A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.
23myLGSoftware Packages21941906566MIT
myLG - Command Line Network Diagnostic tool written in Go.
24GoBoySoftware Packages2098821463MIT
GoBoy - Nintendo Game Boy Color emulator written in Go.
25Stack UpSoftware Packages198512526017MIT
Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
26snapSoftware Packages1804285268474Apache-2.0
snap - Powerful telemetry framework.
27lgoSoftware Packages1789691697BSD-3-Clause
lgo - Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.
28CircuitSoftware Packages17861534528Apache-2.0
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.
29bombardierSoftware Packages171399773MIT
bombardier - Fast cross-platform HTTP benchmarking tool.
30goxcSoftware Packages16267134623
goxc - build tool for Go, with a focus on cross-compiling and packaging.
31facSoftware Packages16053420213MIT
fac - Command-line user interface to fix git merge conflicts.
32borgSoftware Packages14165018510Apache-2.0
borg - Terminal based search engine for bash snippets.
33kalaSoftware Packages135312441029MIT
kala - Simplistic, modern, and performant job scheduler.
34StatusOKSoftware Packages1156135518View license
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.
35s3gof3rSoftware Packages99014727313MIT
s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
36scriptSoftware Packages89948982MIT
script - Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.
37Go Package StoreSoftware Packages877302813
Go Package Store - App that displays updates for the Go packages in your GOPATH.
38DocumizeSoftware Packages81085152310AGPL-3.0
Documize - Modern wiki software that integrates data from SaaS tools.
39sccSoftware Packages7643862913View license
scc - Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.
40go-selfupdateSoftware Packages66176579MIT
go-selfupdate - Enable your Go applications to self update.
41LeapsSoftware Packages640432895MIT
Leaps - Pair programming service using Operational Transforms.
42pegSoftware Packages6017719828BSD-3-Clause
peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
43vFlowSoftware Packages59413568917Apache-2.0
vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
44skmSoftware Packages5463116310MIT
skm - SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
45Scaleway-cliSoftware Packages53679130238View license
Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker).
46gfileSoftware Packages49421682MIT
gfile - Securely transfer files between two computers, without any third party, over WebRTC.
47PomeriumSoftware Packages4843123210Apache-2.0
Pomerium - Pomerium is an identity-aware access proxy.
48GiteaSoftware Packages431149117763608MIT
Gitea - Fork of Gogs, entirely community driven.
49GoDNSSoftware Packages422782619Apache-2.0
GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
50mockingjaySoftware Packages4134950413MIT
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.
51shell2httpSoftware Packages400493211MIT
shell2http - Executing shell commands via http server (for prototyping or remote control).
52govvvSoftware Packages38118572Apache-2.0
govvv - “go build” wrapper to easily add version information into Go binaries.
53go-peerflixSoftware Packages374571107MIT
go-peerflix - Video streaming torrent client.
54goccSoftware Packages341221949View license
gocc - Gocc is a compiler kit for Go written in Go.
55gonativeSoftware Packages31328469
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.
56wellingtonSoftware Packages2891812787Apache-2.0
wellington - Sass project management tool, extends the language with sprite functions (like Compass).
57ipeSoftware Packages274461697MIT
ipe - Open source Pusher server implementation compatible with Pusher client libraries written in GO.
58MoraSoftware Packages265511276
Mora - REST server for accessing MongoDB documents and meta data.
59ideSoftware Packages249112291LGPL-2.1
ide - Browser accessible IDE. Designed for Go with Go.
60godbgSoftware Packages21922522BSD-2-Clause
godbg - Web-based gdb front-end application.
61lstagsSoftware Packages219164235Apache-2.0
lstags - Tool and API to sync Docker images across different registries.
62dogoSoftware Packages21835414View license
dogo - Monitoring changes in the source file and automatically compile and run (restart).
63mansshSoftware Packages203201263MIT
manssh - manssh is a command line tool for managing your ssh alias config easily.
64PewpewSoftware Packages201151453MIT
Pewpew - Flexible HTTP command line stress tester.
65CherrySoftware Packages193251291GPL-2.0
Cherry - Tiny webchat server in Go.
66orange-catSoftware Packages17710892MIT
orange-cat - Markdown previewer written in Go.
67gobrewSoftware Packages17517929MIT
gobrew - gobrew lets you easily switch between multiple versions of go.
68BlastSoftware Packages1684911MIT
Blast - A simple tool for API load testing and batch jobs.
69ostentSoftware Packages1641212241MIT
ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
70grapesSoftware Packages1357633MIT
grapes - Lightweight tool designed to distribute commands over ssh with ease.
71OrbitSoftware Packages12891053MIT
Orbit - A simple tool for running commands and generating files from templates.
72joincapSoftware Packages121102751MIT
joincap - Command-line utility for merging multiple pcap files together.
73PipeSoftware Packages1042796224411GPL-3.0
Pipe - A small and beautiful blogging platform.
74easyssh-proxySoftware Packages9920535MIT
easyssh-proxy - Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.
75DDNSSoftware Packages9712503MIT
DDNS - Personal DDNS client with Digital Ocean Networking DNS as backend.
76kcliSoftware Packages7871192MIT
kcli - Command line tool for inspecting kafka topics/partitions/messages.
77boxedSoftware Packages727982BSD-2-Clause
boxed - Dropbox based blog engine.
78winrm-cliSoftware Packages669155Apache-2.0
winrm-cli - Cli tool to remotely execute commands on Windows machines.
79go-furnaceSoftware Packages63212581MIT
go-furnace - Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.
80drone-scpSoftware Packages55131772MIT
drone-scp - Copy files and artifacts via SSH using a binary, docker or Drone CI.
81DropshipSoftware Packages4671172Apache-2.0
Dropship - Tool for deploying code via cdn.
82RodentSoftware Packages301692
Rodent - Rodent helps you manage Go versions, projects and track dependencies.
83auroraSoftware Packages253988813MIT
aurora - Cross-platform web-based Beanstalkd queue server console.
84drone-jenkinsSoftware Packages246531MIT
drone-jenkins - Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
85awsenvSoftware Packages214231Apache-2.0
awsenv - Small binary that loads Amazon (AWS) environment variables for a profile.
86naclpipeSoftware Packages200451View license
naclpipe - Simple NaCL EC25519 based crypto pipe tool written in Go.
87term-quizSoftware Packages173642MIT
term-quiz - Quizzes for your terminal.
88SnitchSoftware Packages150382MIT
Snitch - Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
89GoDocTooltipSoftware Packages121162
GoDocTooltip - Chrome extension for Go Doc sites, which shows function description as tooltip at function list.
90DepChargeSoftware Packages921771MIT
DepCharge - Helps orchestrating the execution of commands across the many dependencies in larger projects.
91lwcSoftware Packages82721MIT
lwc - A live-updating version of the UNIX wc command.
92sgSoftware Packages50601MIT
sg - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response.
93aptlySoftware Packages0226185953MIT
aptly - aptly is a Debian repository management tool.

back

Template Engines

No.NameCategoryStarForkCommitsContributorsLicense
1gofpdfTemplate Engines304728350150MIT
gofpdf - PDF document generator with high level support for text, drawing and images.
2pongo2Template Engines148514447031MIT
pongo2 - Django-like template-engine for Go.
3quicktemplateTemplate Engines1387782388MIT
quicktemplate - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
4heroTemplate Engines1198785110View license
hero - Hero is a handy, fast and powerful go template engine.
5mustacheTemplate Engines967159829MIT
mustache - Go implementation of the Mustache template language.
6amberTemplate Engines821528517MIT
amber - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade.
7aceTemplate Engines7593623610MIT
ace - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold.
8RazorTemplate Engines694793827View license
Razor - Razor view engine for Golang.
9jetTemplate Engines579481469Apache-2.0
jet - Jet template engine.
10egoTemplate Engines40930575MIT
ego - Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
11raymondTemplate Engines336433254MIT
raymond - Complete handlebars implementation in Go.
12fasttemplateTemplate Engines29139193MIT
fasttemplate - Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.
13SoyTemplate Engines1443027617MIT
Soy - Closure templates (aka Soy templates) for Go, following the official spec.
14liquidTemplate Engines83103523MIT
liquid - Go implementation of Shopify Liquid templates.
15kasia.goTemplate Engines7051062View license
kasia.go - Templating system for HTML and other text documents - go implementation.
16velvetTemplate Engines646413MIT
velvet - Complete handlebars implementation in Go.
17goviewTemplate Engines413491MIT
goview - Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
18damselTemplate Engines203431
damsel - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others.
19extemplateTemplate Engines133461MIT
extemplate - Tiny wrapper around html/template to allow for easy file-based template inheritance.

back

Testing

No.NameCategoryStarForkCommitsContributorsLicense
1TestifyTesting7996714577135MIT
Testify - Sacred extension to the standard go testing package.
2GoConveyTesting4840366107471View license
GoConvey - BDD-style framework with web UI and live reload.
3chromedpTesting349129643011MIT
chromedp - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
4go-fuzzTesting285816078160Apache-2.0
go-fuzz - Randomized testing system.
5gomockTesting277826629043Apache-2.0
gomock - Mocking framework for the Go programming language.
6go-sqlmockTesting169117417220View license
go-sqlmock - Mock SQL driver for testing database interactions.
7hoverflyTesting1430129349729Apache-2.0
hoverfly - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
8selenoidTesting120214686419Apache-2.0
selenoid - alternative Selenium hub server that launches browsers within containers.
9httpexpectTesting1134723329MIT
httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
10go-cmpTesting1128788510BSD-3-Clause
go-cmp - Package for comparing Go values in tests.
11gockTesting8014015416MIT
gock - Versatile HTTP mocking made easy.
12godogTesting7356935418View license
godog - Cucumber or Behat like BDD framework for Go.
13balooTesting64322754MIT
baloo - Expressive and versatile end-to-end HTTP API testing made easy.
14goblinTesting6145215313MIT
goblin - Mocha like testing framework fo Go.
15httpmockTesting572618715MIT
httpmock - Easy mocking of HTTP responses from external resources.
16gofuzzTesting52849335Apache-2.0
gofuzz - Library for populating go objects with random values.
17failpointTesting378275310Apache-2.0
failpoint - An implementation of failpoints for Golang.
18counterfeiterTesting3565134627MIT
counterfeiter - Tool for generating self-contained mock objects.
19cdpTesting349203305MIT
cdp - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
20go-vcrTesting3282913718View license
go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests.
21testfixturesTesting3212718416MIT
testfixtures - A helper for Rails' like test fixtures to test database applications.
22go-mutestingTesting288191494MIT
go-mutesting - Mutation testing for Go source code.
23gofightTesting252161748MIT
gofight - API Handler Testing for Golang Router framework.
24frisbyTesting24823465MIT
frisby - REST API testing framework.
25minimockTesting2481914610MIT
minimock - Mock generator for Go interfaces.
26TavorTesting21196242MIT
Tavor - Generic fuzzing and delta-debugging framework.
27ggrTesting207423486Apache-2.0
ggr - a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.
28go-carpetTesting19561594MIT
go-carpet - Tool for viewing test coverage in terminal.
29charlatanTesting18861884BSD-3-Clause
charlatan - Tool to generate fake interface implementations for tests.
30go-txdbTesting15713326View license
go-txdb - Single transaction based database driver mainly for testing purposes.
31gotest.toolsTesting1182030910View license
gotest.tools - A collection of packages to augment the go testing package and support common patterns.
32GoSpecTesting111152021Apache-2.0
GoSpec - BDD-style testing framework for the Go programming language.
33endlyTesting911021647Apache-2.0
endly - Declarative end to end functional testing.
34dbcleanerTesting849725MIT
dbcleaner - Clean database for testing purpose, inspired by database_cleaner in Ruby.
35cupaloyTesting827684MIT
cupaloy - Simple snapshot testing addon for your test framework.
36govcrTesting82121405Apache-2.0
govcr - HTTP mock for Golang: record and replay HTTP interactions for offline testing.
37wstestTesting627603Apache-2.0
wstest - Websocket client for unit-testing a websocket http.Handler.
38go-testdeepTesting5522582BSD-2-Clause
go-testdeep - Extremely flexible golang deep comparison, extends the go testing package.
39gospecifyTesting5151071MIT
gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
40restitTesting4811273GPL-3.0
restit - Go micro framework to help writing RESTful API integration test.
41commanderTesting3211431MIT
commander - Tool for testing cli applications on windows, linux and osx.
42gomatchTesting30091MIT
gomatch - library created for testing JSON against patterns.
43HamcrestTesting263612View license
Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
44broTesting26481
bro - Watch files in directory and run tests for them.
45dsunitTesting2532044Apache-2.0
dsunit - Datastore testing for SQL, NoSQL, structured files.
46mockhttpTesting22591MIT
mockhttp - Mock object for Go http.ResponseWriter.
47jsonassertTesting2131141MIT
jsonassert - Package for verifying that your JSON payloads are serialized correctly.
48assertTesting133152MIT
assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
49gosuiteTesting92201MIT
gosuite - Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests.
50testcaseTesting80501Apache-2.0
testcase - Idiomatic testing framework for Behavior Driven Development.
51gocrestTesting801002BSD-3-Clause
gocrest - Composable hamcrest-like matchers for Go assertions.
52badioTesting81141MIT
badio - Extensions to Go's testing/iotest package.
53gogivenTesting722072BSD-3-Clause
gogiven - YATSPEC-like BDD testing framework for Go.
54testsqlTesting7011MIT
testsql - Generate test data from SQL files before testing and clear it after finished.
55biffTesting60271MIT
biff - Bifurcation testing framework, BDD compatible.
56TtTesting50501Apache-2.0
Tt - Simple and colorful test tools.
57fluteTesting10791MIT
flute - HTTP client testing framework.

back

Text Processing

No.NameCategoryStarForkCommitsContributorsLicense
1collyText Processing823564144757Apache-2.0
colly - Fast and Elegant Scraping Framework for Gophers.
2GoQueryText Processing750563227624BSD-3-Clause
GoQuery - GoQuery brings a syntax and a set of features similar to jQuery to the Go language.
3blackfridayText Processing385449242555View license
blackfriday - Markdown processor in Go.
4tomlText Processing274734826332MIT
toml - TOML configuration format (encoder/decoder with reflection).
5shText Processing194880305016BSD-3-Clause
sh - Shell parser and formatter.
6go-humanizeText Processing187813611517View license
go-humanize - Formatters for time, numbers, and memory size to human readable format.
7bluemondayText Processing12229020412BSD-3-Clause
bluemonday - HTML Sanitizer.
8injectText Processing113192665MIT
inject - Package inject provides a reflect based injector.
9gofeedText Processing10909214819MIT
gofeed - Parse RSS and Atom feeds in Go.
10go-tomlText Processing6049831238MIT
go-toml - Go library for the TOML format with query support and handy cli tools.
11commonregexText Processing55035609MIT
commonregex - A collection of common regular expressions for Go.
12xurlsText Processing458513255BSD-3-Clause
xurls - Extract urls from text.
13slugText Processing367416011MPL-2.0
slug - URL-friendly slugify with multiple languages support.
14mxjText Processing3276849314View license
mxj - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
15gommon/bytesText Processing3076300
gommon/bytes - Format bytes to string.
16gographvizText Processing292469513View license
gographviz - Parses the Graphviz DOT language.
17dataflowkitText Processing285408814BSD-3-Clause
dataflowkit - Web scraping Framework to turn websites into structured data.
18gotextText Processing22921956MIT
gotext - GNU gettext utilities for Go.
19go-runewidthText Processing20934976MIT
go-runewidth - Functions to get fixed width of the character or string.
20gotabulateText Processing19814424Apache-2.0
gotabulate - Easily pretty-print your tabular data with Go.
21goqText Processing14410713MIT
goq - Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
22radixText Processing1436631BSD-2-Clause
radix - fast string sorting algorithm.
23htmlqueryText Processing12320844MIT
htmlquery - An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
24go-nmeaText Processing943217110MIT
go-nmea - NMEA parser library for the Go language.
25sdpText Processing68182025BSD-3-Clause
sdp - SDP: Session Description Protocol [RFC 4566].
26alignText Processing574993MIT
align - A general purpose application that aligns text.
27guesslanguageText Processing44271MIT
guesslanguage - Functions to determine the natural language of a unicode text.
28go-zero-widthText Processing412251Apache-2.0
go-zero-width - Zero-width character detection and removal for Go.
29editorconfig-core-goText Processing3715595MIT
editorconfig-core-go - Editorconfig file parser and manipulator for Go.
30goregenText Processing352361Apache-2.0
goregen - Library for generating random strings from regular expressions.
31allotText Processing334221MIT
allot - Placeholder and wildcard text parsing for CLI tools and bots.
32parthText Processing313851MIT
parth - URL path segmentation parsing.
33gonamepartsText Processing292453MIT
gonameparts - Parses human names into individual name parts.
34go-slugifyText Processing28361MIT
go-slugify - Make pretty slug with multiple languages support.
35SlugifyText Processing262162MIT
Slugify - Go slugify application that handles string.
36go-fixedwidthText Processing2510472MIT
go-fixedwidth - Fixed-width text formatting (encoder/decoder with reflection).
37go-vcardText Processing2412595MIT
go-vcard - Parse and format vCard.
38didText Processing232311Apache-2.0
did - DID (Decentralized Identifiers) Parser and Stringer in Go.
39xj2goText Processing173462MIT
xj2go - Convert xml or json to go struct.
40gofuckyourselfText Processing15171MIT
gofuckyourself - A sanitization-based swear filter for Go.
41kaceText Processing121432MIT
kace - Common case conversions covering common initialisms.
42encaText Processing7291MIT
enca - Minimal cgo bindings for libenca.
43codetreeText Processing73422MIT
codetree - Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.
44bbConvertText Processing511071MIT
bbConvert - Converts bbCode to HTML that allows you to add support for custom bbCode tags.
45parseargs-goText Processing51111MIT
parseargs-go - string argument parser that understands quotes and backslashes.
46syndfeedText Processing41211MIT
syndfeed - A syndication feed for Atom 1.0 and RSS 2.0.
47doiText Processing4071MIT
doi - Document object identifier (doi) parser in Go.
48genexText Processing350121MIT
genex - Count and expand Regular Expressions into all matching Strings.
49TySugText Processing311522MIT
TySug - Alternative suggestions with respect to keyboard layouts.
50encdecText Processing31851Apache-2.0
encdec - Package provides a generic interface to encoders and decodersa.
51ltsvText Processing20191Apache-2.0
ltsv - High performance LTSV (Labeled Tab Separeted Value) reader for Go.
52TagifyText Processing00711Apache-2.0
Tagify - Produces a set of tags from given source.

back

Third-party APIs

No.NameCategoryStarForkCommitsContributorsLicense
1aws-sdk-goThird-party APIs499012213699194Apache-2.0
aws-sdk-go - The official AWS SDK for the Go programming language.
2githubThird-party APIs472610841013268BSD-3-Clause
github - Go library for accessing the GitHub REST API v3.
3slackThird-party APIs2388550677154BSD-2-Clause
slack - Slack API in Go.
4googleThird-party APIs190752185948BSD-3-Clause
google - Auto-generated Google APIs for Go.
5google-cloudThird-party APIs17595792739128View license
google-cloud - Google Cloud APIs Go Client Library.
6anacondaThird-party APIs98524231567View license
anaconda - Go client library for the Twitter 1.1 API.
7discordgoThird-party APIs959217111964BSD-3-Clause
discordgo - Go bindings for the Discord Chat API.
8stripeThird-party APIs9312621999151MIT
stripe - Go client for the Stripe API.
9facebookThird-party APIs76526119626MIT
facebook - Go Library that supports the Facebook Graph API.
10minio-goThird-party APIs712233117980Apache-2.0
minio-go - Minio Go Library for Amazon S3 compatible cloud storage.
11go-twitterThird-party APIs70314313836MIT
go-twitter - Go client library for the Twitter v1.1 APIs.
12go-jiraThird-party APIs56418645270MIT
go-jira - Go client library for Atlassian JIRA
13githubqlThird-party APIs49629703MIT
githubql - Go library for accessing the GitHub GraphQL API v4.
14webhooksThird-party APIs3407818930MIT
webhooks - Webhook receiver for GitHub and Bitbucket.
15geo-golangThird-party APIs3033117115MIT
geo-golang - Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
16paypalThird-party APIs30010021828MIT
paypal - Wrapper for PayPal payment API.
17go-marathonThird-party APIs18912251057Apache-2.0
go-marathon - Go library for interacting with Mesosphere's Marathon PAAS.
18ethrpcThird-party APIs16465744MIT
ethrpc - Go bindings for Ethereum JSON RPC API.
19gostormThird-party APIs11820957View license
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.
20MediumThird-party APIs11519299
Medium - Golang SDK for Medium's OAuth2 API.
21hipchat (xmpp)Third-party APIs11340408BSD-3-Clause
hipchat (xmpp) - A golang package to communicate with HipChat over XMPP.
22hipchatThird-party APIs11019388MIT
hipchat - This project implements a golang client library for the Hipchat API.
23go-trendingThird-party APIs10012835MIT
go-trending - Go library for accessing trending repositories and developers at Github.
24TrelloThird-party APIs1004324721MIT
Trello - Go wrapper for the Trello API.
25cachetThird-party APIs667813MIT
cachet - Go client library for Cachet (open source status page system).
26megosThird-party APIs5710806MIT
megos - Client library for accessing an Apache Mesos cluster.
27pushoverThird-party APIs576343MIT
pushover - Go wrapper for the Pushover API.
28clarifaiThird-party APIs5712715View license
clarifai - Go client library for interfacing with the Clarifai API.
29igdbThird-party APIs5266604MIT
igdb - Go client for the Internet Game Database API.
30wit-goThird-party APIs478496MIT
wit-go - Go client for wit.ai HTTP API.
31gadsThird-party APIs4340153View license
gads - Google Adwords Unofficial API.
32circleciThird-party APIs41327312MIT
circleci - Go client library for interacting with CircleCI's API.
33amazon-product-advertising-apiThird-party APIs3916421BSD-3-Clause
amazon-product-advertising-api - Go Client Library for Amazon Product Advertising API.
34go-xkcdThird-party APIs383191MIT
go-xkcd - Go client for the xkcd API.
35GoMusicBrainzThird-party APIs36141553MIT
GoMusicBrainz - Go MusicBrainz WS2 client library.
36uptimerobotThird-party APIs354743MIT
uptimerobot - Go wrapper and command-line client for the Uptime Robot v2 API.
37fcmThird-party APIs3211395MIT
fcm - Go library for Firebase Cloud Messaging.
38mixpanelThird-party APIs2914235MIT
mixpanel - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
39golyricsThird-party APIs291172MIT
golyrics - Golyrics is a Go library to fetch music lyrics data from the Wikia website.
40gcmThird-party APIs2975313MIT
gcm - Go library for Google Cloud Messaging.
41translateThird-party APIs274292MIT
translate - Go online translation package.
42gamiThird-party APIs2619582MIT
gami - Go library for Asterisk Manager Interface.
43go-unsplashThird-party APIs2051143MIT
go-unsplash - Go client library for the Unsplash.com API.
44shopifyThird-party APIs19581MIT
shopify - Go Library to make CRUD request to the Shopify API.
45patreon-goThird-party APIs185502MIT
patreon-go - Go library for Patreon API.
46go-twitchThird-party APIs172552MIT
go-twitch - Go client for interacting with the Twitch v3 API.
47go-myanimelistThird-party APIs162861MIT
go-myanimelist - Go client library for accessing the MyAnimeList API.
48brewerydbThird-party APIs160682BSD-2-Clause
brewerydb - Go library for accessing the BreweryDB API.
49spotifyThird-party APIs161203MIT
spotify - Go Library to access Spotify WEB API.
50steamThird-party APIs1415542MIT
steam - Go Library to interact with Steam game servers.
51codeship-goThird-party APIs143785MIT
codeship-go - Go client library for interacting with Codeship's API v2.
52textbeltThird-party APIs140211MIT
textbelt - Go client for the textbelt.com txt messaging API.
53go-imgurThird-party APIs131441MIT
go-imgur - Go client library for imgur
54TheMovieDbThird-party APIs12142
TheMovieDb - Simple golang package to communicate with themoviedb.org.
55ynabThird-party APIs1241123BSD-2-Clause
ynab - Go wrapper for the YNAB API.
56google-analyticsThird-party APIs122392MIT
google-analytics - Simple wrapper for easy google analytics reporting.
57coinpaprika-goThird-party APIs124535MIT
coinpaprika-go - Go client library for interacting with Coinpaprika's API.
58smiteThird-party APIs100401MIT
smite - Go package to wraps access to the Smite game API.
59simples3Third-party APIs92133View license
simples3 - Simple no frills AWS S3 Library using REST with V4 Signing written in Go.
60go-hacknewsThird-party APIs90291MIT
go-hacknews - Tiny Go client for HackerNews API.
61go-sptransThird-party APIs80481MIT
go-sptrans - Go client library for the SPTrans Olho Vivo API.
62rrdaclientThird-party APIs8061MIT
rrdaclient - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
63google-email-audit-apiThird-party APIs64171BSD-3-Clause
google-email-audit-api - Go client library for Google G Suite Email Audit API.
64tumblrThird-party APIs65201MIT
tumblr - Go wrapper for the Tumblr v2 API.
65go-sophosThird-party APIs511411MIT
go-sophos - Go client library for the Sophos UTM REST API with zero dependencies.
66zoozThird-party APIs54304BSD-3-Clause
zooz - Go client for the Zooz API.
67go-chronosThird-party APIs32242Apache-2.0
go-chronos - Go library for interacting with the Chronos Job Scheduler
68TripAdvisorThird-party APIs1091MIT
TripAdvisor - Go wrapper for the TripAdvisor API.
69playlyfeThird-party APIs10162View license
playlyfe - The Playlyfe Rest API Go SDK.
70gomalshareThird-party APIs10182BSD-3-Clause
gomalshare - Go library MalShare API malshare.com

back

UUID

No.NameCategoryStarForkCommitsContributorsLicense
1ulidUUID16606310611Apache-2.0
ulid - Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier).
2uuidUUID5614422531MIT
uuid - Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid.
3wuidUUID28126932BSD-3-Clause
wuid - An extremely fast unique number generator, 10-135 times faster than UUID.
4goidUUID201451MIT
goid - Generate and Parse RFC4122 compliant V4 UUIDs.
5snoUUID140131MIT
sno - Compact, sortable and fast unique IDs with embedded metadata.
6uuidUUID10281Apache-2.0
uuid - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.
7nanoidUUID3061MIT
nanoid - A tiny and efficient Go unique string ID generator.

back

Utilities

No.NameCategoryStarForkCommitsContributorsLicense
1fzfUtilities228598861617105MIT
fzf - Command-line fuzzy finder written in Go.
2hubUtilities1681916852975190MIT
hub - wrap git commands with additional functionality to interact with github from the terminal.
3delveUtilities118751064145496MIT
delve - Go debugger.
4ctopUtilities874733143724MIT
ctop - Top-like interface (e.g. htop) for container metrics.
5wuzzUtilities824528520922AGPL-3.0
wuzz - Interactive cli tool for HTTP inspection.
6sqlxUtilities670155538961MIT
sqlx - provides a set of extensions on top of the excellent built-in database/sql package.
7pecoUtilities5430177130139MIT
peco - Simplistic interactive filtering tool.
8usqlUtilities46591563594View license
usql - usql is a universal command-line interface for SQL databases.
9godropboxUtilities373638455136BSD-3-Clause
godropbox - Common libraries for writing Go services/applications from Dropbox.
10go-torchUtilities362821012512MIT
go-torch - Stochastic flame graph profiler for Go programs.
11realizeUtilities312814290427GPL-3.0
realize - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths.
12goreporterUtilities247719123011Apache-2.0
goreporter - Golang tool that does static analysis, unit testing, code review and generate code quality report.
13panicparseUtilities2130601497Apache-2.0
panicparse - Groups similar goroutines and colorizes stack dump.
14hystrix-goUtilities198122128811MIT
hystrix-go - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
15restyUtilities190617131435MIT
resty - Simple HTTP and REST client for Go inspired by Ruby rest-client.
16minifyUtilities1849114109816MIT
minify - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
17mmakeUtilities144736496
mmake - Modern Make.
18StormUtilities13428637817MIT
Storm - Simple and powerful toolkit for BoltDB.
19moleUtilities12996720311MIT
mole - cli app to easily create ssh tunnels.
20go-funkUtilities11517019018MIT
go-funk - Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).
21mcUtilities1091188352052Apache-2.0
mc - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
22profileUtilities9927211610BSD-2-Clause
profile - Simple profiling support package for Go.
23filetypeUtilities9347812821MIT
filetype - Small package to infer the file type checking the magic numbers signature.
24boilrUtilities927641329Apache-2.0
boilr - Blazingly fast CLI tool for creating projects from boilerplate templates.
25circuitbreakerUtilities7838211312MIT
circuitbreaker - Circuit Breakers in Go.
26spinnerUtilities7785126523Apache-2.0
spinner - Go package to easily provide a terminal spinner with options.
27git-time-metricUtilities711403834MIT
git-time-metric - Simple, seamless, lightweight time tracking for Git.
28jumpUtilities650303256MIT
jump - Jump helps you navigate faster by learning your habits.
29immortalUtilities602337863BSD-3-Clause
immortal - *nix cross-platform (OS agnostic) supervisor.
30htcatUtilities48026404BSD-2-Clause
htcat - Parallel and Pipelined HTTP GET Utility.
31go-dryUtilities431311107MIT
go-dry - DRY (don't repeat yourself) package for Go.
32gopencilsUtilities42333605Apache-2.0
gopencils - Small and simple package to easily consume REST APIs.
33godaemonUtilities40239364MIT
godaemon - Utility to write daemons.
34requestUtilities355351124MIT
request - Go HTTP Requests for Humans™.
35circuitUtilities326151172Apache-2.0
circuit - An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
36ergoUtilities3093317615MIT
ergo - The management of multiple local services running over different ports made easy.
37go-rateUtilities29119282GPL-3.0
go-rate - Timed rate limiter for Go.
38koazeeUtilities291141766MIT
koazee - Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.
39gohperUtilities248453004MIT
gohper - Various tools/modules help for development.
40clockworkUtilities21929359Apache-2.0
clockwork - A simple fake clock for golang.
41DeepcopierUtilities20933953MIT
Deepcopier - Simple struct copying for Go.
42serveUtilities1908943MIT
serve - A static http server anywhere you need.
43go-triggerUtilities17928102MIT
go-trigger - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
44go-bind-pluginUtilities1595641Apache-2.0
go-bind-plugin - go:generate tool for wrapping symbols exported by golang plugins (1.8 only).
45rerunUtilities1549253MIT
rerun - Recompiling and rerunning go apps when source changes.
46moldovaUtilities1484792Apache-2.0
moldova - Utility for generating random data based on an input template.
47gotenvUtilities13815332MIT
gotenv - Load environment variables from .env or any io.Reader in Go.
48gubrakUtilities1368792MIT
gubrak - Golang utility library with syntactic sugar. It's like lodash, but for golang.
49robustlyUtilities1346457MIT
robustly - Runs functions resiliently, catching and restarting panics.
50utilUtilities13319541MIT
util - Collection of useful utility functions. (strings, concurrency, manipulations, ...).
51DeathUtilities132131167MIT
Death - Managing go application shutdown with signals.
52apmUtilities12944503MIT
apm - Process manager for Golang applications with an HTTP API.
53chyleUtilities10654244MIT
chyle - Changelog generator using a git repository with multiple configuration possibilities.
54mimetypeUtilities1051212410MIT
mimetype - Package for MIME type detection based on magic numbers.
55go-sitemap-generatorUtilities104321469MIT
go-sitemap-generator - XML Sitemap generator written in Go.
56lrserverUtilities1009456MIT
lrserver - LiveReload server for Go.
57onecacheUtilities9961783MIT
onecache - Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).
58toolboxUtilities901198010Apache-2.0
toolbox - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
59go-bsdiffUtilities812541MIT
go-bsdiff - Pure Go bsdiff and bspatch libraries and CLI tools.
60pmUtilities715505MIT
pm - Process (i.e. goroutine) manager with an HTTP API.
61goreleaserUtilities694463210097MIT
goreleaser - Deliver Go binaries as fast and easily as possible.
62UNISUtilities694293View license
UNIS - Common Architecture™ for String Utilities in Go.
63xferspdyUtilities687811BSD-3-Clause
xferspdy - Xferspdy provides binary diff and patch library in golang.
64netbugUtilities65391MIT
netbug - Easy remote profiling of your services.
65go-healthUtilities624252MIT
go-health - Health package simplifies the way you add health check to your services.
66multitickUtilities581244MIT
multitick - Multiplexor for aligned tickers.
67mssqlxUtilities5731042MIT
mssqlx - Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
68repeatUtilities562181MIT
repeat - Go implementation of different backoff strategies useful for retrying operations and heartbeating.
69abutilUtilities515401WTFPL
abutil - Collection of often-used Golang helpers.
70minqueryUtilities5016451Apache-2.0
minquery - MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).
71handyUtilities456931MIT
handy - Many utilities and helpers like string handlers/formatters and validators.
72go-astitodoUtilities455295MIT
go-astitodo - Parse TODOs in your GO code.
73gologUtilities4312523Apache-2.0
golog - Easy and lightweight CLI tool to time track your tasks.
74mimemagicUtilities426181MIT
mimemagic - Pure Go ultra performant MIME sniffing library/utility.
75gobackUtilities40471MIT
goback - Go simple exponential backoff package.
76TaskUtilities39188062827MIT
Task - simple "Make" alternative.
77gaperUtilities392471MIT
gaper - Builds and restarts a Go project when it crashes or some watched file changes.
78intrinsicUtilities391591BSD-3-Clause
intrinsic - Use x86 SIMD without writing any assembly code.
79copy-pastaUtilities3661083MIT
copy-pasta - Universal multi-workstation clipboard that uses S3 like backend for the storage.
80golarmUtilities343281MIT
golarm - Fire alarms with system events.
81myhttpUtilities349102MIT
myhttp - Simple API to make HTTP GET requests with timeout support.
82retryUtilities34362MIT
retry - Simple and easy retry mechanism package for Go.
83goreadabilityUtilities295552MIT
goreadability - Webpage summary extractor using Facebook Open Graph and arc90's readability.
84retry-goUtilities283121MIT
retry-go - Retrying made simple and easy for golang.
85goseaweedfsUtilities2711232MIT
goseaweedfs - SeaweedFS client library with almost full features.
86rclientUtilities272291MIT
rclient - Readable, flexible, simple-to-use client for REST APIs.
87gpathUtilities250261MIT
gpath - Library to simplify access struct fields with Go's expression in reflection.
88pgoUtilities2471131MIT
pgo - Convenient functions for PHP community.
89goplaceholderUtilities224172MIT
goplaceholder - a small golang lib to generate placeholder images.
90ugoUtilities204401MIT
ugo - ugo is slice toolbox with concise syntax for Go.
91generateUtilities194132MIT
generate - runs go generate recursively on a specified path or environment variable and can filter by regex.
92dlogUtilities151202Apache-2.0
dlog - Compile-time controlled logger to make your release smaller without removing debug calls.
93fillerUtilities142371MIT
filler - small utility to fill structs using "fill" tag.
94okrunUtilities142161
okrun - go run error steamroller.
95go-httpheaderUtilities144121MIT
go-httpheader - Go library for encoding structs into Header fields.
96evaluatorUtilities141331MIT
evaluator - Evaluate an expression dynamicly based on s-expression. It's simple and easy to extend.
97gostrutilsUtilities142782MIT
gostrutils - Collections of string manipulation and conversion functions.
98mergoUtilities1283920031BSD-3-Clause
mergo - Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
99rerateUtilities123311MIT
rerate - Redis-based rate counter and rate limiter for Go.
100fastlzUtilities12430
fastlz - Wrap over FastLz (free, open-source, portable real-time compression library) for GoLang.
101ghokinUtilities120963MIT
ghokin - Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).
102structsUtilities121191Apache-2.0
structs - Implement simple functions to manipulate structs.
103scanUtilities125592MIT
scan - Scan golang sql.Rows directly to structs, slices, or primitive types.
104dbtUtilities1121561MIT
dbt - A framework for running self-updating signed binaries from a central, trusted repository.
105filterUtilities111342MIT
filter - provide filtering, sanitizing, and conversion of Go data.
106retryUtilities100271Apache-2.0
retry - A pretty simple library to ensure your work to be done.
107commandUtilities92161MIT
command - Command pattern for Go with thread safe serial and parallel dispatcher.
108backscannerUtilities82181Apache-2.0
backscanner - A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
109mimesnifferUtilities72171Unlicense
mimesniffer - A MIME type sniffer for Go.
110ctxutilUtilities62191Apache-2.0
ctxutil - A collection of utility functions for contexts.
111ssliceUtilities40291MIT
sslice - Create a slice which is always sorted.
112silkUtilities40161MIT
silk - Read silk netflow files.
113slicerUtilities30271MIT
slicer - Makes working with slices easier.
114retryUtilities20203BSD-3-Clause
retry - A simple but highly configurable retry package for Go.
115sliceconvUtilities20271MIT
sliceconv - Slice conversion between primitive types.
116go-problemdetailsUtilities20111MIT
go-problemdetails - Go package for working with Problem Details.
117blankUtilities10241MIT
blank - Verify or remove blanks and whitespace from strings.
118olafUtilities10241MIT
olaf - Twitter Snowflake implemented in Go.
119retryUtilities01463292MIT
retry - The most advanced functional mechanism to perform actions repetitively until successful.
120tracerUtilities07231MIT
tracer - Simple, lightweight tracing.

back

Validation

No.NameCategoryStarForkCommitsContributorsLicense
1govalidatorValidation351735546067MIT
govalidator - Validators and sanitizers for strings, numerics, slices and structs.
2validatorValidation342830074554MIT
validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.
3ozzo-validationValidation1025726113MIT
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.
4govalidatorValidation7066213313MIT
govalidator - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
5validateValidation9024854MIT
validate - Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features.
6checkdigitValidation442512MIT
checkdigit - Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.).
7jioValidation213231MIT
jio - jio is a json schema validator similar to joi.
8validateValidation19127710MIT
validate - This package provides a framework for writing validations for Go applications.

back

Version Control

No.NameCategoryStarForkCommitsContributorsLicense
1go-gitVersion Control41634411488111Apache-2.0
go-git - highly extensible Git implementation in pure Go.
2git2goVersion Control135123384079MIT
git2go - Go bindings for libgit2.
3herculesVersion Control5185692018View license
hercules - gaining advanced insights from Git repository history.
4ghVersion Control6910915BSD-3-Clause
gh - Scriptable server and net/http middleware for GitHub Webhooks.
5go-vcsVersion Control691943514View license
go-vcs - manipulate and inspect VCS repositories in Go.
6hgoVersion Control123265View license
hgo - Hgo is a collection of Go packages providing read-access to local Mercurial repositories.

back

Video

No.NameCategoryStarForkCommitsContributorsLicense
1goavVideo768155534MIT
goav - Comphrensive Go bindings for FFmpeg.
2gmfVideo52211122024MIT
gmf - Go bindings for FFmpeg av* libraries.
3go-astitsVideo25520502MIT
go-astits - Parse and demux MPEG Transport Streams (.ts) natively in GO.
4go-astisubVideo16426466MIT
go-astisub - Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
5gstVideo15234393View license
gst - Go bindings for GStreamer.
6libvlc-goVideo6221805MIT
libvlc-go - Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player).
7go-m3u8Video36241MIT
go-m3u8 - Parser and generator library for Apple m3u8 playlists.
8v4lVideo27862GPL-3.0
v4l - Video capture library for Linux, written in Go.
9libgosubsVideo1121281MIT
libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass.

back

Web Frameworks

No.NameCategoryStarForkCommitsContributorsLicense
1GinWeb Frameworks2938633991278221MIT
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.
2BeegoWeb Frameworks2128643083458299View license
Beego - beego is an open-source, high-performance web framework for the Go programming language.
3EchoWeb Frameworks1453513201301142MIT
Echo - High performance, minimalist Go web framework.
4RevelWeb Frameworks1121613371589123MIT
Revel - High-productivity web framework for the Go language.
5httprouterWeb Frameworks960996120932View license
httprouter - High performance router. Use this and the standard http handlers to form a very high performance web framework.
6muxWeb Frameworks9560104127480BSD-3-Clause
mux - Powerful URL router and dispatcher for golang.
7negroniWeb Frameworks630252139570MIT
negroni - Idiomatic HTTP middleware for Golang.
8chiWeb Frameworks596441052259MIT
chi - Small, fast and expressive HTTP router built on net/context.
9GoaWeb Frameworks3485394181367MIT
Goa - Goa provides a holistic approach for developing remote APIs and microservices in Go.
10go-json-restWeb Frameworks332437054721MIT
go-json-rest - Quick and easy way to setup a RESTful JSON API.
11GizmoWeb Frameworks283018136641Apache-2.0
Gizmo - Microservice toolkit used by the New York Times.
12MacaronWeb Frameworks279924722516Apache-2.0
Macaron - Macaron is a high productive and modular design web framework in Go.
13utronWeb Frameworks213414717422MIT
utron - Lightweight MVC framework for Go(Golang).
14aliceWeb Frameworks18171157011MIT
alice - Painless middleware chaining for Go.
15gocraft/webWeb Frameworks139310618819MIT
gocraft/web - Mux and middleware package in Go.
16renderWeb Frameworks12641059118MIT
render - Go package for easily rendering JSON, XML, and HTML template responses.
17TollboothWeb Frameworks123612016217MIT
Tollbooth - Rate limit HTTP request handler.
18BoneWeb Frameworks12177727417MIT
Bone - Lightning Fast HTTP Multiplexer.
19CORSWeb Frameworks12041078621MIT
CORS - Easily add CORS capabilities to your API.
20tigertonicWeb Frameworks9957726922View license
tigertonic - Go framework for building JSON web services inspired by Dropwizard.
21tangoWeb Frameworks8171082378MIT
tango - Micro & pluggable web framework for Go.
22LimiterWeb Frameworks7806822015MIT
Limiter - Dead simple rate limit middleware for Go.
23GojiWeb Frameworks76460554MIT
Goji - Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context.
24fasthttprouterWeb Frameworks74496119027BSD-3-Clause
fasthttprouter - High performance router forked from httprouter. The first router fit for fasthttp.
25go-server-timingWeb Frameworks74320357MIT
go-server-timing - Add/parse Server-Timing header.
26statsWeb Frameworks536449215MIT
stats - Go middleware that stores various information about your web application.
27trafficWeb Frameworks519291375MIT
traffic - Sinatra inspired regexp/pattern mux and web framework for Go.
28AirWeb Frameworks515328514Unlicense
Air - An ideally refined web framework for Go.
29xujiajun/gorouterWeb Frameworks447591716MIT
xujiajun/gorouter - A simple and fast HTTP router for Go.
30gongularWeb Frameworks41515795View license
gongular - Fast Go web framework with input mapping/validation and (DI) Dependency Injection.
31neoWeb Frameworks39240824MIT
neo - Neo is minimal and fast Go Web Framework with extremely simple API.
32httptreemuxWeb Frameworks3843714614MIT
httptreemux - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
33larsWeb Frameworks375202595MIT
lars - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
34ozzo-routingWeb Frameworks357511159MIT
ozzo-routing - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
35SiestaWeb Frameworks34915894MIT
Siesta - Composable framework to write middleware and handlers.
36mangoWeb Frameworks339361548MIT
mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
37GondolaWeb Frameworks3142218353MPL-2.0
Gondola - The web framework for writing faster sites, faster.
38interposeWeb Frameworks28915743MIT
interpose - Minimalist net/http middleware for golang.
39vestigoWeb Frameworks2502913810View license
vestigo - Performant, stand-alone, HTTP compliant URL Router for go web applications.
40GolfWeb Frameworks235231943MIT
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.
41muxchainWeb Frameworks20813324BSD-3-Clause
muxchain - Lightweight middleware for net/http.
42rendererWeb Frameworks16812132MIT
renderer - Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go.
43gowww/routerWeb Frameworks15710671MIT
gowww/router - Lightning fast HTTP router fully compatible with the net/http.Handler interface.
44GemWeb Frameworks15336272BSD-3-Clause
Gem - Simple and fast web framework, friendly to REST API.
45go-restWeb Frameworks11511302
go-rest - Small and evil REST framework for Go.
46alienWeb Frameworks1059403MIT
alien - Lightweight and fast http router from outer space.
47violetearWeb Frameworks9573792BSD-3-Clause
violetear - Go HTTP router.
48ryeWeb Frameworks93101217MIT
rye - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context.
49BxogWeb Frameworks935921View license
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.
50xmuxWeb Frameworks888335View license
xmux - High performance muxer based on httprouter with net/context support.
51ln-paywallWeb Frameworks8731111MPL-2.0
ln-paywall - Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin).
52hibootWeb Frameworks85166093Apache-2.0
hiboot - hiboot is a high performance web application framework with auto configuration and dependency injection support.
53pureWeb Frameworks847662MIT
pure - Is a lightweight HTTP router that sticks to the std "net/http" implementation.
54goresWeb Frameworks811241Apache-2.0
gores - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
55WebGoWeb Frameworks7371734MIT
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).
56XFFWeb Frameworks7214203MIT
XFF - Handle X-Forwarded-For header and friends.
57GolaxWeb Frameworks716761MIT
Golax - A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more.
58chainWeb Frameworks633701MIT
chain - Handler wrapper chaining with scoped data (net/context-based "middleware").
59go-wrapWeb Frameworks5951141MIT
go-wrap - Small middlewares package for net/http.
60MicroserviceWeb Frameworks569531View license
Microservice - The framework for the creation of microservices, written in Golang.
61YARFWeb Frameworks5031323View license
YARF - Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
62uAdminWeb Frameworks4911421MIT
uAdmin - Fully featured web framework for Golang, inspired by Django.
63FireballWeb Frameworks484682MIT
Fireball - More "natural" feeling web framework.
64voxWeb Frameworks394861MIT
vox - A golang web framework for humans, inspired by Koa heavily.
65belltWeb Frameworks383572MIT
bellt - A simple Go HTTP router.
66patronWeb Frameworks331416211Apache-2.0
patron - Patron is a microservice framework following best cloud practices with a focus on productivity.
67formjsonWeb Frameworks33051
formjson - Transparently handle JSON input as a standard form POST.
68ResourseaWeb Frameworks292601MIT
Resoursea - REST framework for quickly writing resource based services.
69rexWeb Frameworks250941Apache-2.0
rex - Rex is a library for modular development built upon gorilla/mux, fully compatible with net/http.
70nioWeb Frameworks212652MIT
nio - Modern, minimal and productive Go HTTP framework.
71FastRouterWeb Frameworks18241BSD-3-Clause
FastRouter - a fast, flexible HTTP router written in Go.
72client-timingWeb Frameworks133181MIT
client-timing - An HTTP client for Server-Timing header.
73AeroWeb Frameworks121564611MIT
Aero - High-performance web framework for Go, reaches top scores in Lighthouse.
74BanjoWeb Frameworks7462MPL-2.0
Banjo - Very simple and fast web framework for Go.
75catenaWeb Frameworks7081MIT
catena - http.Handler wrapper catenation (same API as "chain").
76GoRouterWeb Frameworks3492273MIT
GoRouter - GoRouter is a Server/API micro framwework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context.
77sawsijWeb Frameworks213081
sawsij - lightweight, open-source web framework for building high-performance, data-driven web applications.
78ZerverWeb Frameworks0000
Zerver - Zerver is an expressive, modular, feature completed RESTful framework.

back

Websites

No.NameCategoryStarForkCommitsContributorsLicense
1Go ProjectsWebsites61126848000
Go Projects - List of projects on the Go community wiki.
2Build web application with GolangWebsites3128286725093335BSD-3-Clause
Build web application with Golang - Golang ebook intro how to build a web app with golang.
3awesome-awesomenessWebsites245753069485195
awesome-awesomeness - List of other amazingly awesome lists.
4Awesome Remote JobWebsites144701455845287
Awesome Remote Job - Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
5Learn Go with TDDWebsites434949490958MIT
Learn Go with TDD - Learn Go with test-driven development.
6Go Cheat SheetWebsites400853510831
Go Cheat Sheet - Go's reference card.
7Working with GoWebsites113018510711
Working with Go - Intro to go for experienced programmers.
8golang-graphicsWebsites14110222View license
golang-graphics - Collection of Go images, graphics, and art.
9gocryforhelpWebsites361163MIT
gocryforhelp - Collection of Go projects that needs help. Good place to start your open-source way in Go.
10Ethereum Development with GoWebsites2944619010View license
Ethereum Development with Go - A little e-book on Ethereum Development with Go.
11Golang for Node.js DevelopersWebsites21680946MIT
Golang for Node.js Developers - Examples of Golang compared to Node.js for learning.
12Trending Go repositories on GitHub todayWebsites0000
Trending Go repositories on GitHub today - Good place to find new Go libraries.

back

Windows

No.NameCategoryStarForkCommitsContributorsLicense
1d3d9Windows854811MIT
d3d9 - Go bindings for Direct3D9.
2go-oleWindows3754834022MIT
go-ole - Win32 OLE implementation for golang.
3gosddlWindows10252Apache-2.0
gosddl - Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.

back

XML

No.NameCategoryStarForkCommitsContributorsLicense
1zekXML250171912GPL-3.0
zek - Generate a Go struct from XML.
2xpathXML158231155MIT
xpath - XPath package for Go.
3xqueryXML14524703MIT
xquery - XQuery lets you extract data from HTML/XML documents using XPath expression.
4XML-CompXML16815410MIT
XML-Comp - Simple command line XML comparer that generates diffs of folders, files and tags.
5xml2mapXML154651MIT
xml2map - XML to MAP converter written Golang.
6xmlwriterXML61381Apache-2.0
xmlwriter - Procedural XML generation API based on libxml2's xmlwriter module.

back

About

Awesome go projects sorter. Collect Github projects information and sorted by star.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published