Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-go

A curated list of awesome Go frameworks, libraries and software
https://github.com/widemeadows/awesome-go

Last synced: 3 days ago
JSON representation

  • Audio/Music

    • flac - A native Go FLAC decoder.
    • flac - A native Go FLAC decoder.
    • gaad - A native Go AAC bitstream parser
    • go-sox - libsox bindings for go.
    • go_mediainfo - libmediainfo bindings for go.
    • gosamplerate - libsamplerate bindings for go.
    • id3v2 - Fast and stable ID3 parsing and writing library for Go
    • mix - Sequence-based Go-native audio mixer for music apps.
    • mp3 - A native Go MP3 decoder.
    • music-theory - Music theory models in Go.
    • PortAudio - Go bindings for the PortAudio audio I/O library.
    • portmidi - Go bindings for PortMidi.
    • taglib - Go bindings for taglib.
    • vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies).
    • waveform - Go package capable of generating waveform images from audio streams.
  • Authentication & OAuth

    • Go-AWS-Auth - AWS (Amazon Web Services) request signing library.
    • go-jose - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
    • go-oauth2-server - A standalone, specification-compliant, OAuth2 server written in Golang.
    • go.auth - Authentication API for Go web applications.
    • gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
    • gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
    • goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box.
    • httpauth - HTTP Authentication middleware.
    • jwt - A clean and easy to use implementation of JSON Web Tokens (JWT).
    • jwt-go - Golang implementation of JSON Web Tokens (JWT).
    • oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
    • osin - Golang OAuth2 server library.
    • permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
    • yubigo - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application.
    • authboss - A 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.
  • Command Line

    • Standard CLI

      • cli - A feature-rich and easy to use command-line package based on golang tag
      • cli-init - The easy way to start building Golang command line application.
    • Advanced Console UIs

      • gommon/color - Style terminal text.
      • termtables - A Go port of the Ruby library [terminal-tables](https://github.com/tj/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output
  • Conferences

  • Database Drivers

    • Advanced Console UIs

      • goes - A library to interact with Elasticsearch.
  • Logging

    • Advanced Console UIs

      • gone/log - Fast, extendable, full-featured, std-lib source compatible log library.
      • slf - The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go)
      • slog - The reference implementation of the Structured Logging Facade (SLF) for Go
  • Websites

  • E-Books

  • Twitter

  • Database

    • Advanced Console UIs

      • soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
      • scaneo - Generate Go code to convert database rows into arbitrary structs.
  • Distributed Systems

    • Advanced Console UIs

      • raft - Go implementation of the Raft consensus protocol, by CoreOS.
      • dht - BitTorrent Kademlia DHT implementation.
  • Miscellaneous

    • Advanced Console UIs

      • go-openapi - A collection of packages to parse and utilize open-api schemas
      • secdl - Lighttpd ModSecDownload algorithm ported to go to secure download urls.
      • werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.
  • ORM

    • Advanced Console UIs

      • beego orm - A powerful orm framework for go. Support: pq/mysql/sqlite3.
  • Package Management

    • Advanced Console UIs

      • gigo - PIP-like dependency tool for golang, with support for private repositories and hashes.
  • Resource Embedding

    • Advanced Console UIs

      • go-embed - Generates go code to embed resource files into your library or executable
  • Science and Data Analysis

    • Advanced Console UIs

      • mudlark-go - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language.
  • Server Applications

    • Advanced Console UIs

      • consul - Consul is a tool for service discovery, monitoring and configuration.
      • yakvs - A small, networked, in-memory key-value store.
  • Testing

    • Advanced Console UIs

      • gocheck - A more advanced testing framework alternative to gotest.
  • Text Processing

    • Advanced Console UIs

      • go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs.
      • go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions.
      • gommon/bytes - Format bytes to string.
  • Third-party APIs

    • Advanced Console UIs

      • go-twitch - A Go client for interacting with the Twitch v3 API.
  • Utilities

    • Advanced Console UIs

      • go-debug - Conditional debug logging for Golang libraries & applications.
      • profile - Simple profiling support package for Go.
  • Web Frameworks

    • Advanced Console UIs

      • Florest - High-performance workflow based REST API framework
      • sawsij - lightweight, open-source web framework for building high-performance, data-driven web applications.
      • VarHandler - Generate boilerplate http input and ouput handling.
      • Zerver - Zerver is an expressive, modular, feature completed RESTful framework.
      • zeus - A very simple and fast HTTP router for Go.
      • REST Layer - A framework to build REST/GraphQL API on top of databases with mostly configuration over code.
    • Middlewares

      • go-wrap - Small middlewares package for net/http.
  • Code Analysis

    • Middlewares

      • GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
      • Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
      • goreturns - Adds zero-value return statements to match the func return types.
  • Go Tools

    • Middlewares

      • gb - An easy to use project based build tool for the Go programming language.
  • Software Packages

    • DevOps Tools

      • Banshee - Anomalies detection system for periodic metrics.
      • Gogs - A Self Hosted Git Service in the Go Programming Language.
      • Wide - A Web-based IDE for Teams using Golang.
    • Other Software

      • limetext - source software successor to Sublime Text.
      • orange-cat - A Markdown previewer written in Go.
      • syncthing - An open, decentralized file synchronization tool and protocol.
      • tsuru - An extensible and open source Platform as a Service software.
      • hsync - A filesystem hierarchy synchronizer.
      • hsync - A filesystem hierarchy synchronizer.