Awesome Go Build Status Awesome Join the chat at https://gitter.im/avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Contents

Audio/Music

Libraries for manipulating audio.

Authentication & OAuth

Libraries for implementing authentications schemes.

Command Line

Standard CLI

Libraries for building standard or basic Command Line applications

Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces

Configuration

Libraries for configuration parsing

Continuous Integration

Tools for help with continuous integration

CSS Preprocessors

Libraries for preprocessing CSS files

Data Structures

Generic datastructures and algorithms in Go.

Database

Databases implemented in Go.

Database schema migration.

Database tools.

SQL query builder, libraries for building and using SQL.

Database Drivers

Libraries for connecting and operating databases.

Date & Time

Libraries for working with dates and times.

Distributed Systems

Packages that help with building Distributed Systems.

Email

Libraries that implement email creation and sending

Embeddable Scripting Languages

Embedding other languages inside your go code

Financial

Packages for accounting and finance

Forms

Libraries for working with forms.

Game Development

Awesome game development libraries.

Generation & Generics

Tools to enhance the language with features like generics via code generation

Go Compilers

Tools for compiling Go to other languages

Goroutines

Tools for managing and working with Goroutines * go-flow - Control goroutines execution order. * goworker - goworker is a Go-based background worker * grpool - Lightweight Goroutine pool. * pool - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. * tunny - A goroutine pool for golang.

GUI

Libraries for building GUI Applications

Hardware

Libraries, tools, and tutorials for interacting with hardware.

See go-hardware for a comprehensive list.

Images

Libraries for manipulating images.

Logging

Libraries for generating and working with log files.

Machine Learning

Libraries for Machine Learning.

Messaging

Libraries that implement messaging systems

Miscellaneous

These libraries were placed here because none of the other categories seemed to fit

Natural Language Processing

Libraries for working with human languages.

Networking

Libraries for working with various layers of the network

OpenGL

Libraries for using OpenGL in Go.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Package Management

Libraries for package and dependency management.

Query Language

Resource Embedding

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Security

Libraries that are used to help make your application more secure.

Serialization

Libraries and tools for binary serialization

Server Applications

Template Engines

Libraries and tools for templating and lexing.

Testing

Libraries for testing codebases and generating test data.

Text Processing

Libraries for parsing and manipulating texts.

Third-party APIs

Libraries for accessing third party APIs.

Utilities

General utilities and tools to make your life easier.

Validation

Libraries for validation.

Version Control

Libraries for version control.

Video

Libraries for manipulating video.

Web Frameworks

Full stack web frameworks.

Middlewares

Actual middlewares

Libraries for creating HTTP middlewares

Tools

Go software and plugins.

Code Analysis

Editor Plugins

Go Tools

Software Packages

Software written in Go.

DevOps Tools

Other Software

Resources

Where to discover new Go libraries.

Benchmarks

Conferences

E-Books

Twitter

Websites

Tutorials

Windows