awesome-go
A curated list of amazingly awesome Go libraries, resources and shiny things.
https://github.com/abaron/awesome-go
Last synced: 11 days ago
JSON representation
-
Audio and Music
- EasyMIDI - |
- flac - frills native Go FLAC decoder that decodes FLAC files into byte slices. | 82 | 9 | - |
- flac - |
- gaad - |
- go-sox - |
- go_mediainfo - |
- gosamplerate - |
- malgo - |
- minimp3 - |
- mix - based Go-native audio mixer for music apps. | 91 | 17 | - |
- mp3 - |
- music-theory - |
- PortAudio - |
- portmidi - |
- taglib - |
- vorbis - |
- waveform - |
- id3v2 - |
- Oto - level library to play sound on multiple platforms. | 365 | 24 | - |
-
Authentication and OAuth
- authboss
- branca
- cookiestxt
- go-jose
- go-oauth2-server - compliant, OAuth2 server written in Golang. | 1,205 | 171 | 13 |
- gologin
- gorbac - based access control (RBAC) implementation in Golang. | 866 | 121 | 2 |
- goth
- httpauth
- jwt
- jwt
- jwt-auth
- jwt-go
- oauth2
- osin
- paseto - Agnostic Security Tokens (PASETO). | 208 | 9 | 0 |
- permissions2
- rbac
- securecookie
- session - GAE). | 87 | 8 | 5 |
- sessiongate-go
- sessions
- signedvalue
- casbin
- loginsrv
-
Benchmarks
-
Other Software
- autobench - | - | - |
- go-benchmark-app - benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results. | - | - | - |
- go-benchmarks - | - | - |
- go-http-routing-benchmark - | - | - |
- go-web-framework-benchmark - | - | - |
- go_serialization_benchmarks - | - | - |
- golang-micro-benchmarks - | - | - |
- golang-sql-benchmark - | - | - |
- gospeed - benchmarks for calculating the speed of language constructs. | - | - | - |
- kvbench - | - | - |
- skynet - | - | - |
- speedtest-resize - | - | - |
- gocostmodel - | - | - |
-
-
Bot Building
- go-chat-bot
- go-sarah
- go-tgbot - based router and middleware. | 82 | 3 | 2 |
- Golang CryptoTrading Bot - based trading bot for cryptocurrency exchanges. | 181 | 41 | 10 |
- govkbot
- hanu
- margelet
- micha
- slacker
- tbot
- telebot
- Tenyks
- Kelp - making bot for the [Stellar](https://www.stellar.org/) DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies. | 134 | 36 | 28 |
- telegram-bot-api
-
Code Analysis
-
Routers
- GoCover.io - | - | - |
- Golint online - | - | - |
- goreturns - value return statements to match the func return types. | - | - | - |
- gosimple - | - | - |
- staticcheck - | - | - |
- unused - | - | - |
- apicompat - | - | - |
- dupl - | - | - |
- errcheck - | - | - |
- gcvis - | - | - |
- go-checkstyle - | - | - |
- go-cleanarch - cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects. | - | - | - |
- go-critic - | - | - |
- go-mod-outdated - | - | - |
- go-outdated - | - | - |
- goast-viewer - | - | - |
- GoLint - | - | - |
- gostatus - | - | - |
- lint - | - | - |
- php-parser - | - | - |
- unconvert - | - | - |
- validate - | - | - |
- tarp - | - | - |
- goimports - | - | - |
-
-
Command Line
-
Advanced Console UIs
- gommon/color - | - | - |
- asciigraph - | - | - |
- aurora - | - | - |
- cfmt - | - | - |
- chalk - | - | - |
- color - | - | - |
- colourize - | - | - |
- ctc - invasive cross-platform terminal color library does not need to modify the Print method. | - | - | - |
- go-ataman - | - | - |
- go-colorable - | - | - |
- go-colortext - | - | - |
- go-isatty - | - | - |
- go-prompt - prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit). | - | - | - |
- gocui - | - | - |
- gookit/color - | - | - |
- mpb - | - | - |
- progressbar - safe progress bar that works in every OS. | - | - | - |
- simpletable - | - | - |
- tabby - | - | - |
- tabular - | - | - |
- termbox-go - platform text-based interfaces. | - | - | - |
- termdash - go** and inspired by [termui](https://github.com/gizak/termui). | - | - | - |
- termui - go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). | - | - | - |
- uilive - | - | - |
- uiprogress - | - | - |
- uitable - | - | - |
- termtables - tables](https://github.com/tj/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output. | - | - | - |
-
Standard CLI
- hiboot cli - | - | - |
- argparse - | - | - |
- argv - | - | - |
- cli - rich and easy to use command-line package based on golang struct tags. | - | - | - |
- cli - | - | - |
- cli-init - | - | - |
- cobra - | - | - |
- commandeer - friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags. | - | - | - |
- complete - | - | - |
- docopt.go - line arguments parser that will make you smile. | - | - | - |
- env - based environment configuration for structs. | - | - | - |
- flag - | - | - |
- flaggy - | - | - |
- flagvar - | - | - |
- go-arg - based argument parsing in Go. | - | - | - |
- go-commander - | - | - |
- go-flags - | - | - |
- go-getoptions - | - | - |
- gocmd - | - | - |
- kingpin - | - | - |
- liner - like library for command-line interfaces. | - | - | - |
- mitchellh/cli - line interfaces. | - | - | - |
- mow.cli - | - | - |
- pflag - in replacement for Go's flag package, implementing POSIX/GNU-style --flags. | - | - | - |
- readline - Readline under MIT license. | - | - | - |
- sand - | - | - |
- sflags - | - | - |
- strumt - | - | - |
- ukautz/clif - | - | - |
- urfave/cli - | - | - |
- wlog - platform color and concurrency. | - | - | - |
- wmenu - | - | - |
- climax - | - | - |
-
-
Conferences
-
Configuration
-
Advanced Console UIs
- gone/jconf
- config
- config
- configure
- confita
- conflate
- env
- envcfg - marshaling environment variables to Go structs. | 90 | 6 | 0 |
- envconf
- envconfig
- envh
- gcfg - style configuration files into Go structs; supports user-defined types and subsections. | 112 | 30 | 3 |
- go-up
- goConfig
- godotenv
- gofigure
- gookit/config
- hjson
- ingo - like config file. | 23 | 3 | 0 |
- ini
- joshbetz/config
- kelseyhightower/envconfig
- mini - style configuration files. | 19 | 15 | 1 |
- sprbox - environment aware toolbox factory and agnostic config parser (YAML, TOML, JSON and Environment vars). | 3 | 0 | 0 |
- store
- viper
- xdg - spec/basedir-spec-latest.html). | 29 | 1 | 0 |
-
Programming Languages
Categories
Utilities
118
Software Packages
101
Web Frameworks
78
Third-party APIs
71
Database
70
Command Line
60
Testing
57
Networking
57
Miscellaneous
53
Text Processing
50
Data Structures
49
Meetups
49
Database Drivers
47
Logging
40
Websites
40
Messaging
40
Distributed Systems
36
Natural Language Processing
34
Images
32
Machine Learning
32
Science and Data Analysis
30
Configuration
27
Authentication and OAuth
25
Code Analysis
24
Goroutines
23
Template Engines
19
Security
19
Audio and Music
19
Game Development
19
Conferences
18
Embeddable Scripting Languages
17
ORM
17
Date and Time
16
Server Applications
15
Serialization
15
Package Management
15
GUI
15
Bot Building
14
Editor Plugins
14
JSON
14
Benchmarks
13
Email
12
Files
12
IoT (Internet of Things)
11
Gophers
11
Go Tools
11
Resource Embedding
10
Generation and Generics
10
Financial
10
Twitter
9
Video
9
Query Language
9
Job Scheduler
8
Validation
8
E-Books
8
Forms
8
Geographic
7
Go Generate Tools
7
XML
6
Continuous Integration
6
Error Handling
6
Version Control
6
UUID
5
Microsoft Office
5
OpenGL
5
Go Compilers
5
Windows
3
Functional
3
CSS Preprocessors
2
Hardware
1
Sub Categories
Keywords
golang
547
go
520
golang-library
42
cli
40
database
35
http
31
json
28
testing
27
sql
24
middleware
20
api
20
golang-package
19
library
19
framework
19
router
16
docker
16
command-line
15
machine-learning
15
html
14
parser
14
redis
14
awesome-go
14
mysql
13
xml
13
orm
12
server
12
logging
12
postgresql
12
fast
11
distributed-systems
11
concurrency
11
security
11
log
10
client
10
github
10
configuration
10
microservice
10
pubsub
10
image
10
validation
10
sqlite
10
microservices
9
websocket
9
windows
9
terminal
9
rpc
9
web
9
kubernetes
8
api-client
8
queue
8