A curated list of awesome Go frameworks, libraries and software. Contributing Please take a quick gander at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Audio and Music Libraries for manipulating audio.
No-frills native Go FLAC decoder that decodes FLAC files into byte slices. 3v2 – Fast and stable ID3 parsing and writing library for Go. 3 – Lightweight MP3 decoder library. Sequence-based Go-native audio mixer for music apps. 3 – Native Go MP3 decoder. Go package capable of generating waveform images from audio streams.
Authentication and OAuth Libraries for implementing authentications schemes. 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. Authorization library that supports access control models like ACL, RBAC, ABAC. Fairly complete implementation of the JOSE working group’s JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. Handles multiple providers out of the box. 0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
2 – Library for keeping track of users, login states and permissions. Minimalistic RBAC package for Go applications. Signed and timestamped strings compatible with Tornado’s create_signed_value, decode_signed_value, and therefore set_secure_cookie and get_secure_cookie. Bot Building Libraries for building and working with bots. Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. Go Library for Telegram bot api. Easy to use framework to create Slack bots. Telegram bot framework written in Go. Simple and clean Telegram bot client. Tenyks – Service oriented IRC bot using Redis and JSON for messaging. Standard CLI Libraries for building standard or basic Command Line applications.
Command line argument parser inspired by Python’s argparse module. Go library to split command line string as arguments array using the bash syntax. Feature-rich and easy to use command-line package based on golang struct tags. Simple and complete API for building command line interfaces in Go.
The easy way to start building Golang command line applications. Alternative CLI with “human face”, in spirit of Go command. Commander for modern Go CLI interactions. Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
Command-line arguments parser that will make you smile. Simple but powerful command line option parsing library for Go supporting subcommand. A robust and idiomatic flags package with excellent subcommand support. A collection of flag argument types for Go’s standard flag package.