Awesome Go Build Status Awesome

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 and Music

Libraries for manipulating audio.

Authentication and 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 and 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.

Files

Libraries for handling files and file systems.

Financial

Packages for accounting and finance.

Forms

Libraries for working with forms.

Game Development

Awesome game development libraries.

Generation and 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.

GUI

Libraries for building GUI Applications.

Toolkits

Interaction

Hardware

Libraries, tools, and tutorials for interacting with hardware.

See go-hardware for a comprehensive list.

Images

Libraries for manipulating images.

IoT (Internet of Things)

Libraries for programming devices of the IoT.

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

Routers

Windows

XML

Libraries and tools for manipulating XML.

Tools

Go software and plugins.

Code Analysis

Editor Plugins

Go Generate Tools

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