avelino

Awesome Go

A curated list of awesome Go frameworks, libraries and software
Under MIT License
By avelino

hacktoberfest golang go awesome-list awesome golang-library

Awesome Go



Sponsorships



We have no monthly cost, but we have employees working hard to maintain the Awesome Go, with money raised we can repay the effort of each person involved! All billing and distribution will be open to the entire community.


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

⬆ back to top


Audio and Music

Libraries for manipulating audio.



⬆ back to top


Authentication and OAuth

Libraries for implementing authentications schemes.



⬆ back to top


Blockchain

Tools for building blockchains.



⬆ back to top


Bot Building

Libraries for building and working with bots.



⬆ back to top


Build Automation

Libraries and tools helping with build automation.



⬆ back to top


Command Line
Standard CLI

Libraries for building standard or basic Command Line applications.



⬆ back to top


Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces.



⬆ back to top


Configuration

Libraries for configuration parsing.



⬆ back to top


Continuous Integration

Tools for help with continuous integration.



⬆ back to top


CSS Preprocessors

Libraries for preprocessing CSS files.



⬆ back to top


Data Structures

Generic datastructures and algorithms in Go.



⬆ back to top


Database

Databases implemented in Go.



Database schema migration.



Database tools.



SQL query builder, libraries for building and using SQL.



⬆ back to top


Database Drivers

Libraries for connecting and operating databases.



⬆ back to top


Date and Time

Libraries for working with dates and times.



⬆ back to top


Distributed Systems

Packages that help with building Distributed Systems.



⬆ back to top


Dynamic DNS

Tools for updating dynamic DNS records.



⬆ back to top


Email

Libraries and tools that implement email creation and sending.



⬆ back to top


Embeddable Scripting Languages

Embedding other languages inside your go code.



⬆ back to top


Error Handling

Libraries for handling errors.



⬆ back to top


File Handling

Libraries for handling files and file systems.



⬆ back to top


Financial

Packages for accounting and finance.



⬆ back to top


Forms

Libraries for working with forms.



⬆ back to top


Functional

Packages to support functional programming in Go.



⬆ back to top


Game Development

Awesome game development libraries.



⬆ back to top


Generation and Generics

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



⬆ back to top


Geographic

Geographic tools and servers



⬆ back to top


Go Compilers

Tools for compiling Go to other languages.



⬆ back to top


Goroutines

Tools for managing and working with Goroutines.



⬆ back to top


GUI

Libraries for building GUI Applications.


Toolkits



Interaction



⬆ back to top


Hardware

Libraries, tools, and tutorials for interacting with hardware.


See go-hardware for a comprehensive list.


⬆ back to top


Images

Libraries for manipulating images.



⬆ back to top


IoT (Internet of Things)

Libraries for programming devices of the IoT.



⬆ back to top


Job Scheduler

Libraries for scheduling jobs.



⬆ back to top


JSON

Libraries for working with JSON.



⬆ back to top


Logging

Libraries for generating and working with log files.



⬆ back to top


Machine Learning

Libraries for Machine Learning.



⬆ back to top


Messaging

Libraries that implement messaging systems.



⬆ back to top


Microsoft Office

Microsoft Excel

Libraries for working with Microsoft Excel.



⬆ back to top


Miscellaneous
Dependency Injection

Libraries for working with dependency injection.



⬆ back to top


Project Layout

Unofficial set of patterns for structuring projects.



⬆ back to top


Strings

Libraries for working with strings.



⬆ back to top


Uncategorized

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



⬆ back to top


Natural Language Processing

Libraries for working with human languages.



⬆ back to top


Networking

Libraries for working with various layers of the network.



⬆ back to top


HTTP Clients

Libraries for making HTTP requests.



⬆ back to top


OpenGL

Libraries for using OpenGL in Go.



⬆ back to top


ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.



⬆ back to top


Package Management

Official tooling for dependency and package management



Official experimental tooling for package management



Unofficial libraries for package and dependency management.



⬆ back to top


Performance

⬆ back to top


Query Language

⬆ back to top


Resource Embedding

⬆ back to top


Science and Data Analysis

Libraries for scientific computing and data analyzing.



⬆ back to top


Security

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



⬆ back to top


Serialization

Libraries and tools for binary serialization.



⬆ back to top


Server Applications

⬆ back to top


Stream Processing

Libraries and tools for stream processing and reactive programming.



⬆ back to top


Template Engines

Libraries and tools for templating and lexing.



⬆ back to top


Testing

Libraries for testing codebases and generating test data.



⬆ back to top


Text Processing

Libraries for parsing and manipulating texts.



⬆ back to top


Third-party APIs

Libraries for accessing third party APIs.



⬆ back to top


Utilities

General utilities and tools to make your life easier.



⬆ back to top


UUID

Libraries for working with UUIDs.



⬆ back to top


Validation

Libraries for validation.



⬆ back to top


Version Control

Libraries for version control.



⬆ back to top


Video

Libraries for manipulating video.



⬆ back to top


Web Frameworks

Full stack web frameworks.



⬆ back to top


Middlewares
Actual middlewares

Libraries for creating HTTP middlewares

⬆ back to top


Routers

⬆ back to top


WebAssembly

⬆ back to top


Windows

⬆ back to top


XML

Libraries and tools for manipulating XML.



Tools

Go software and plugins.


⬆ back to top


Code Analysis

⬆ back to top


Editor Plugins

⬆ back to top


Go Generate Tools

⬆ back to top


Go Tools

⬆ back to top


Software Packages

Software written in Go.


⬆ back to top


DevOps Tools

⬆ back to top


Other Software

⬆ back to top


Resources

Where to discover new Go libraries.


⬆ back to top


Benchmarks

⬆ back to top


Conferences

⬆ back to top


E-Books

⬆ back to top


Gophers

⬆ back to top


Meetups

Add the group of your city/country here (send PR)


⬆ back to top


Style Guides

⬆ back to top


Social Media
Twitter

⬆ back to top


Reddit

⬆ back to top


Websites

⬆ back to top


Tutorials

⬆ back to top