Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

awesome-go

Daily clone of avelino/awesome-go with information from go-search
https://github.com/nouney/awesome-go

Last synced: 1 day ago
JSON representation

  • Conferences

  • Websites

  • Audio and Music

    • EasyMIDI - EasyMidi is a simple and reliable library for working with standard midi file (SMF).
    • flac - No-frills native Go FLAC decoder that decodes FLAC files into byte slices. - :arrow_down:4 - :star:52
    • flac - Native Go FLAC encoder/decoder with support for FLAC streams. - :arrow_down:17 - :star:29
    • gaad - Native Go AAC bitstream parser. - :arrow_down:0 - :star:11
    • go-sox - libsox bindings for go. - :arrow_down:13 - :star:37
    • go_mediainfo - libmediainfo bindings for go. - :arrow_down:2 - :star:9
    • gosamplerate - libsamplerate bindings for go. - :arrow_down:0 - :star:3
    • malgo - Mini audio library. - :arrow_down:0 - :star:26
    • minimp3 - Lightweight MP3 decoder library. - :arrow_down:0 - :star:8
    • mix - Sequence-based Go-native audio mixer for music apps. - :arrow_down:5 - :star:40
    • mp3 - Native Go MP3 decoder. - :arrow_down:11 - :star:19
    • music-theory - Music theory models in Go. - :arrow_down:0 - :star:120
    • PortAudio - Go bindings for the PortAudio audio I/O library. - :arrow_down:93 - :star:63
    • portmidi - Go bindings for PortMidi. - :arrow_down:55 - :star:93
    • taglib - Go bindings for taglib. - :arrow_down:22 - :star:44
    • vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). - :arrow_down:1 - :star:9
    • waveform - Go package capable of generating waveform images from audio streams. - :arrow_down:1 - :star:135
    • id3v2 - Fast and stable ID3 parsing and writing library for Go. - :arrow_down:10 - :star:8
  • Authentication and OAuth

    • 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. - :arrow_down:16 - :star:1426
    • branca - Golang implementation of Branca Tokens. - :arrow_down:0 - :star:20
    • cookiestxt - provides parser of cookies.txt file format. - :arrow_down:0 - :star:0
    • go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. - :arrow_down:284 - :star:536
    • go-oauth2-server - Standalone, specification-compliant, OAuth2 server written in Golang. - :arrow_down:0 - :star:381
    • gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers. - :arrow_down:70 - :star:647
    • gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang. - :arrow_down:10 - :star:401
    • goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box. - :arrow_down:446 - :star:825
    • httpauth - HTTP Authentication middleware. - :arrow_down:68 - :star:102
    • jwt - Clean and easy to use implementation of JSON Web Tokens (JWT). - :arrow_down:4 - :star:0
    • jwt - Lightweight JSON Web Token (JWT) library. - :arrow_down:0 - :star:1
    • jwt-auth - JWT middleware for Golang http servers with many configuration options.
    • jwt-go - Golang implementation of JSON Web Tokens (JWT). - :arrow_down:2878 - :star:1459
    • oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. - :arrow_down:60 - :star:854
    • osin - Golang OAuth2 server library.
    • paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO). - :arrow_down:1 - :star:116
    • permissions2 - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. - :arrow_down:21 - :star:176
    • rbac - Minimalistic RBAC package for Go applications. - :arrow_down:0 - :star:18
    • securecookie - Efficient secure cookie encoding/decoding. - :arrow_down:0 - :star:17
    • session - Go session management for web servers (including support for Google App Engine - GAE). - :arrow_down:7 - :star:6
    • sessiongate-go - Go session management using the SessionGate Redis module. - :arrow_down:0 - :star:4
    • sessions - Dead simple, highly performant, highly customizable sessions service for go http servers. - :arrow_down:0 - :star:29
    • signedvalue - Signed and timestamped strings compatible with [Tornado's](https://github.com/tornadoweb/tornado) `create_signed_value`, `decode_signed_value`, and therefore `set_secure_cookie` and `get_secure_cookie`. - :arrow_down:0 - :star:5
    • casbin - Authorization library that supports access control models like ACL, RBAC, ABAC. - :arrow_down:0 - :star:2445
    • loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam. - :arrow_down:0 - :star:589
  • Bot Building

    • go-chat-bot - IRC, Slack & Telegram bot written in Go. - :arrow_down:103 - :star:122
    • go-sarah - Framework to build bot for desired chat services including LINE, Slack, Gitter and more. - :arrow_down:28 - :star:94
    • go-tgbot - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. - :arrow_down:1 - :star:71
    • Golang CryptoTrading Bot - A golang implementation of a console-based trading bot for cryptocurrency exchanges. - :arrow_down:0 - :star:67
    • govkbot - Simple Go [VK](https://vk.com) bot library. - :arrow_down:0 - :star:15
    • hanu - Framework for writing Slack bots. - :arrow_down:3 - :star:5
    • margelet - Framework for building Telegram bots. - :arrow_down:6 - :star:35
    • micha - Go Library for Telegram bot api. - :arrow_down:1 - :star:0
    • slacker - Easy to use framework to create Slack bots. - :arrow_down:7 - :star:181
    • tbot - Telegram bot server with API similar to net/http. - :arrow_down:5 - :star:2
    • telebot - Telegram bot framework written in Go. - :arrow_down:78 - :star:229
    • Tenyks - Service oriented IRC bot using Redis and JSON for messaging. - :arrow_down:0 - :star:160
    • telegram-bot-api - Simple and clean Telegram bot client. - :arrow_down:38 - :star:304
  • Command Line

    • Standard CLI

      • argparse - Command line argument parser inspired by Python's argparse module. - :arrow_down:4 - :star:29
      • argv - Go library to split command line string as arguments array using the bash syntax. - :arrow_down:2 - :star:8
      • cli - Feature-rich and easy to use command-line package based on golang struct tags. - :arrow_down:82 - :star:204
      • cli - Simple and complete API for building command line interfaces in Go. - :arrow_down:2 - :star:28
      • cli-init - The easy way to start building Golang command line applications. - :arrow_down:0 - :star:559
      • hiboot cli - cli application framework with auto configuration and dependency injection.
    • Advanced Console UIs

      • gommon/color - Style terminal text.
      • termtables - 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. - :arrow_down:33 - :star:64
  • Text Processing

  • Third-party APIs

    • HTTP Clients

      • go-twitch - Go client for interacting with the Twitch v3 API. - :arrow_down:2 - :star:12
  • Utilities

    • HTTP Clients

      • gubrak - Golang utility library with syntactic sugar. It's like lodash, but for golang.
      • sslice - Create a slice which is always sorted.
  • Web Frameworks

    • HTTP Clients

      • nio - Modern, minimal and productive Go HTTP framework.
      • Zerver - Zerver is an expressive, modular, feature completed RESTful framework. - :arrow_down:10 - :star:136
    • Middlewares

      • go-wrap - Small middlewares package for net/http. - :arrow_down:1 - :star:52
  • Code Analysis

    • Routers

      • GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
      • GolangCI - GolangCI is an automated Golang code review service for GitHub pull requests. Service is open source and it's free for open source projects.
      • 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.
      • gosimple - gosimple is a linter for Go source code that specialises on simplifying code.
      • staticcheck - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
      • unused - unused checks Go code for unused constants, variables, functions and types.
  • Editor Plugins

  • Software Packages

    • DevOps Tools

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

      • limetext - Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
      • orange-cat - Markdown previewer written in Go. - :arrow_down:1 - :star:141
      • Pipe - A small and beautiful blogging platform. - :arrow_down:0 - :star:1021
      • syncthing - Open, decentralized file synchronization tool and protocol.
      • tsuru - Extensible and open source Platform as a Service software.
  • Go Generate Tools

    • Routers

      • re2dfa - Transform regular expressions into finite state machines and output Go source code. - :arrow_down:0 - :star:100
  • Go Tools

    • Routers

      • gb - An easy to use project based build tool for the Go programming language.
      • generator-go-lang - A [Yeoman](http://yeoman.io) generator to get new Go projects started.
  • E-Books

  • Meetups

  • Twitter

  • Configuration

    • Advanced Console UIs

      • gone/jconf - Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.
  • Database

    • Advanced Console UIs

      • gorocksdb - Gorocksdb is a wrapper for [RocksDB](https://rocksdb.org) written in Go. - :arrow_down:0 - :star:4
      • scaneo - Generate Go code to convert database rows into arbitrary structs. - :arrow_down:0 - :star:79
  • Distributed Systems

    • Advanced Console UIs

      • dynamolock - DynamoDB-backed distributed locking implementation.
      • pglock - PostgreSQL-backed distributed locking implementation.
      • raft - Go implementation of the Raft consensus protocol, by CoreOS.
  • Error Handling

    • Advanced Console UIs

      • werr - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. - :arrow_down:0 - :star:5
  • Financial

    • Advanced Console UIs

      • go-finance - Comprehensive financial markets data in Go. - :arrow_down:4 - :star:359
  • Goroutines

    • Advanced Console UIs

      • GoSlaves - Simple and Asynchronous Goroutine pool library. - :arrow_down:0 - :star:25
      • oversight - Oversight is a complete implementation of the Erlang supervision trees.
  • IoT (Internet of Things)

    • Advanced Console UIs

      • periph - Peripherals I/O to interface with low-level board facilities.
  • Logging

    • Advanced Console UIs

      • gone/log - Fast, extendable, full-featured, std-lib source compatible log library.
  • Miscellaneous

    • Strings

      • go-openapi - Collection of packages to parse and utilize open-api schemas.
      • VarHandler - Generate boilerplate http input and output handling.
  • ORM

    • HTTP Clients

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

    • HTTP Clients

      • gigo - PIP-like dependency tool for golang, with support for private repositories and hashes. - :arrow_down:0 - :star:187
  • Resource Embedding

    • HTTP Clients

      • go-embed - Generates go code to embed resource files into your library or executable. - :arrow_down:0 - :star:3
  • Server Applications

    • HTTP Clients

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

    • HTTP Clients

      • gocheck - More advanced testing framework alternative to gotest.