8000 GitHub - visar/awesome-go: A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. · GitHub
[go: up one dir, main page]

Skip to content
  • About

    A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

    Resources

    Stars

    4 stars

    Watchers

    0 watching

    Forks

     
     

    Latest commit

     

    History

    44 Commits

    Folders and files

    NameName
    Last commit message
    Last commit date
     
     
     
     

    Repository files navigation

    Awesome Go

    A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

    Web Frameworks

    Full stack web frameworks.

    • Martini - Martini is a powerful package for quickly writing modular web applications/services in Golang.
    • Gorilla - Gorilla is a web toolkit for the Go programming language.
    • Gin - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
    • Goji - Goji is a minimalistic web framework for Golang that's high in antioxidants.
    • web.go - A simple framework to write webapps in Go.
    • pat - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra.
    • Revel - A high-productivity web framework for the Go language.
    • Beego - beego is an open-source, high-performance web framework for the Go programming language.
    • traffic - Sinatra inspired regexp/pattern mux and web framework for Go.
    • httprouter - A high performance router. Use this and the standard http handlers to form a very high performance web framework.

    Middlewares

    • negroni - Idiomatic HTTP Middleware for Golang
    • alice - Painless middleware chaining for Go

    Template Engine

    Libraries and tools for templating and lexing.

    • mustache - A Go implementation of the Mustache template language.
    • kasia.go - Templating system for HTML and other text documents - go implementation.
    • gold - Gold is a template engine for Go. This simplifies HTML coding in Go web application development. This is influenced by Slim and Jade.
    • Razor - Razor view engine for Golang.

    Authentication and OAuth

    Libraries for implementing authentications schemes.

    • goauth - A Go library for doing header-based OAuth over HTTP or HTTPS. Mostly created for working with Twitter.
    • httpauth - HTTP Authentication middlewares.

    Database

    Databases implemented in Go.

    • tiedot - Your NoSQL database powered by Golang.
    • diskv - A home-grown disk-backed key-value store.
    • bolt - A low-level key/value database for Go.
    • go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

    Database Drivers

    Libraties for connecting and operating databases.

    • Relational Databases
      • pq - Pure Go Postgres driver for database/sql.
      • go-pgsql - A PostgreSQL client package for the Go Programming Language.
      • GoMySQL - A quite complete threadsafe MySQL client library written in Go.
      • go-sqlite3 - SQLite3 driver for go that using database/sql.
      • go-db - Generic database API for Go.
    • NoSQL Databases
      • mgo - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
      • redis - A simple, powerful Redis client for Go.
      • Neo4j-GO - Neo4j REST Client in golang.
      • gocouch - Couchdb client for Go.
      • gomemcache - memcache client library for the Go programming language.

    ORM

    Libraries that implement Object-Relational Mapping or datamapping techniques.

    • BeeDB - go ORM,support database/sql interface,pq/mysql/sqlite.
    • GORM - The fantastic ORM library for Golang, aims to be developer friendly.
    • gorp - Go Relational Persistence, ORM-ish library for Go.
    • hood - Database agnostic ORM for Go.
    • QBS - Stands for Query By Struct. A Go ORM.
    • Xorm - Simple and powerful ORM for Go.
    • upper.io/db - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.

    Imagery

    Libraries for manipulating images.

    • img - A selection of image manipulation tools.
    • svgo - Go Language Library for SVG generation.
    • resize - Image resizing for the Go with common interpolation methods.

    Text Processing

    • Specific Formats
      • yaml - Implements a YAML 1.2 parser in Go.
      • 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.
      • go-pkg-rss - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs.

    Testing

    Libraries for testing codebases and generating test data.

    • gocheck - A more advanced testing framework alternative to gotest.
    • GoSpec - BDD-style testing framework for the Go programming language.
    • gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
    • gomock - Mocking framework for the Go programming language.
    • mockhttp.go - Mock object for Go http.ResponseWriter
    • assert - Asserts to Go testing
    • Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
    • restit - A Go micro framework to help writing RESTful API integration test.
    • ginkgo - BDD Testing Framework for Go

    Audio

    Libraries for manipulating audio.

    • PortAudio - Go bindings for the PortAudio audio I/O library.
    • gosndfile - Go bindings for libsndfile.
    • go-sox - libsox bindings for go.

    Resources

    Where to discover new Go libraries.

    Websites

    Twitter

    (e)Books

    Contributing

    Your contributions are always welcome!

    About

    A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

    Resources

    Stars

    4 stars

    Watchers

    0 watching

    Forks

    Releases

    Packages

    Used by

    Contributors

    0