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/szuecs/awesome-go

Last synced: about 15 hours ago
JSON representation

  • Sponsorships

  • Audio and Music

    • Contents

      • flac - Native Go FLAC encoder/decoder with support for FLAC streams.
      • gaad - Native Go AAC bitstream parser.
      • go-sox - libsox bindings for go.
      • GoAudio - Native Go Audio Processing Library.
      • gosamplerate - libsamplerate bindings for go.
      • malgo - Mini audio library.
      • minimp3 - Lightweight MP3 decoder library.
      • mix - Sequence-based Go-native audio mixer for music apps.
      • mp3 - 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.
      • vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies).
      • waveform - Go package capable of generating waveform images from audio streams.
      • id3v2 - ID3 decoding and encoding library for Go.
      • Oto - A low-level library to play sound on multiple platforms.
  • Authentication and OAuth

    • Contents

      • authboss - 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.
      • branca - Golang implementation of Branca Tokens.
      • cookiestxt - provides parser of cookies.txt file format.
      • go-email-normalizer - Golang library for providing a canonical representation of email address.
      • go-guardian - Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token and Certificate based authentication.
      • go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
      • go-oauth2-server - Standalone, specification-compliant, OAuth2 server written in Golang.
      • 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 providers out of the box.
      • httpauth - HTTP Authentication middleware.
      • jeff - Simple, flexible, secure and idiomatic web session management with pluggable backends.
      • jwt - Clean and easy to use implementation of JSON Web Tokens (JWT).
      • jwt - Lightweight JSON Web Token (JWT) library.
      • jwt - Safe, simple and fast JSON Web Tokens for Go.
      • jwt-auth - JWT middleware for Golang http servers with many configuration options.
      • 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.
      • otpgo - Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
      • paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO).
      • permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
      • rbac - Minimalistic RBAC package for Go applications.
      • scs - Session Manager for HTTP servers.
      • securecookie - Efficient secure cookie encoding/decoding.
      • session - Go session management for web servers (including support for Google App Engine - GAE).
      • sessiongate-go - Go session management using the SessionGate Redis module.
      • sessions - Dead simple, highly performant, highly customizable sessions service for go http servers.
      • sessionup - Simple, yet effective HTTP session management and identification package.
      • sjwt - Simple jwt generator and parser.
      • loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
      • casbin - Authorization library that supports access control models like ACL, RBAC, ABAC.
      • scope - Easily Manage OAuth2 Scopes In Go.
  • Bot Building

    • Contents

      • ephemeral-roles - A Discord bot for managing ephemeral roles based upon voice channel member presence.
      • go-chat-bot - IRC, Slack & Telegram bot written in Go.
      • go-sarah - Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
      • go-tgbot - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
      • go-twitch-irc - Libary to write bots for twitch.tv chat
      • Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges.
      • govkbot - Simple Go [VK](https://vk.com) bot library.
      • hanu - Framework for writing Slack bots.
      • margelet - Framework for building Telegram bots.
      • micha - Go Library for Telegram bot api.
      • olivia - A chatbot built with an artificial neural network.
      • slacker - Easy to use framework to create Slack bots.
      • slackscot - Another framework for building Slack bots.
      • tbot - Telegram bot server with API similar to net/http.
      • telebot - Telegram bot framework written in Go.
      • Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
      • Kelp - official trading and market-making bot for the [Stellar](https://www.stellar.org/) DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
      • telegram-bot-api - Simple and clean Telegram bot client.
  • Command Line

    • Standard CLI

      • 1build - Command line tool to frictionlessly manage project-specific commands.
      • argparse - Command line argument parser inspired by Python's argparse module.
      • argv - Go library to split command line string as arguments array using the bash syntax.
      • cli - Feature-rich and easy to use command-line package based on golang struct tags.
      • cli - Simple and complete API for building command line interfaces in Go.