From 3e410e38c4e2e1c828aec65346a55379e79e0a0f Mon Sep 17 00:00:00 2001 From: Ceriath Date: Fri, 14 Dec 2018 11:02:15 +0100 Subject: [PATCH] update (#1) * Add me to maintainers list (#2238) * Http clients (#2237) * Remove gorequest This does not really meet the required quality https://goreportcard.com/report/github.com/parnurzeal/gorequest * Add HTTP-Clients category and sling * Add grequests * I suck at pressing ctrl+f * Add Hoverfly API simulation tool (#2214) * Update README.md (#2236) * Add did (#2235) * Add errorx (#2231) * Add errorx * fix errorx description * Remove Florest, no longer exist (#2239) * Add go-zero-width (#2242) * Deprecate Go-AWS-Auth (#2243) * Add huego. Updated README (#2241) * Add Octillery (#2244) * Remove github.com/GeertJohan/yubigo (#2247) * Remove github.com/rcrowley/go-metric (#2246) * Add a link to fastcache (#2249) * Added iso601 (#2250) * Remove mgutz/dat (#2251) * No PR reviews * last Commits on Mar 28, 2017 * Add mole (#2210) * Deprecate github.com/FiloSottile/gvt (#2256) * Deprecate github.com/sevki/graphql (#2257) * Deprecate github.com/gonum/matrix (#2258) * Deprecate github.com/fatih/structs (#2259) * Deprecate github.com/toby3d/go-telegraph (#2260) * Deprecate github.com/mitchellh/goamz (#2261) * Deprecate github.com/franela/goreq (#2262) * Deprecate github.com/facebookgo/httpcontrol (#2263) * Deprecate github.com/markbates/validate (#2264) * Deprecate github.com/codehack/go-relax (#2265) * Deprecate github.com/volatile/core (#2266) * Deprecate github.com/imdario/medeina (#2267) * Deprecate github.com/daryl/zeus (#2268) * Deprecate github.com/mvdan/interfacer (#2269) * Deprecate github.com/GoClipse/goclipse (#2270) * Add gonum (#2273) * Add gonum * add period * Update validate (#2271) * Update validate package * accidentally removed a word, add it again * Update go-telegraph (#2272) * Remove https://github.com/bmizerany/pat (#2252) * Commits on Aug 15, 2017 * PR No reviews * fix project link (#2278) * Add llir/llvm (#2279) * Koazee (#2248) Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! **Please provide package links to:** - github.com repo: https://github.com/wesovilabs/koazee - godoc.org: https://godoc.org/github.com/wesovilabs/koazee - goreportcard.com: https://goreportcard.com/report/github.com/wesovilabs/koazee - coverage service link ([cover.run](https://cover.run/), [gocover](http://gocover.io/), [coveralls](https://coveralls.io/) etc.), example: `[![cover.run](https://cover.run/go/github.com/user/repository.svg?style=flat&tag=golang-1.10)](https://cover.run/go?tag=golang-1.10&repo=github.com%2Fuser%2Frepository)` [![codecov](https://codecov.io/gh/wesovilabs/koazee/branch/master/graph/badge.svg)](https://codecov.io/gh/wesovilabs/koazee) Very good coverage **Note**: that new categories can be added only when there are 3 packages or more. **Make sure that you've checked the boxes below before you submit PR:** - [x] I have added my package in alphabetical order. - [x] I have an appropriate description with correct grammar. - [x] I know that this package was not listed before. - [x] I have added godoc link to the repo and to my pull request. - [x] I have added coverage service link to the repo and to my pull request. - [x] I have added goreportcard link to the repo and to my pull request. - [x] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines), [maintainers note](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#maintainers) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). Thanks for your PR, you're awesome! :+1: --- MAINTAINERS | 1 + README.md | 61 ++++++++++++++++++++++++++--------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index e4ab3d21..f0d97201 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8,3 +8,4 @@ Felipe Oliveira (@felipeweb) Bo-Yi Wu (@appleboy) Cássio Botaro (@cassiobotaro) Jessica Temporal (@jtemporal) +Ceriath (@ceriath) diff --git a/README.md b/README.md index 479a6cf8..bdeb9620 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Miscellaneous](#miscellaneous) - [Natural Language Processing](#natural-language-processing) - [Networking](#networking) + - [HTTP Clients](#http-clients) - [OpenGL](#opengl) - [ORM](#orm) - [Package Management](#package-management) @@ -121,7 +122,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [branca](https://github.com/hako/branca) - Golang implementation of Branca Tokens. * [casbin](https://github.com/hsluoyz/casbin) - Authorization library that supports access control models like ACL, RBAC, ABAC. * [cookiestxt](https://github.com/mengzhuo/cookiestxt) - provides parser of cookies.txt file format. -* [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library. * [go-jose](https://github.com/square/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](https://github.com/RichardKnop/go-oauth2-server) - Standalone, specification-compliant, OAuth2 server written in Golang. * [gologin](https://github.com/dghubble/gologin) - chainable handlers for login with OAuth1 and OAuth2 authentication providers. @@ -143,7 +143,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [sessiongate-go](https://github.com/f0rmiga/sessiongate-go) - Go session management using the SessionGate Redis module. * [sessions](https://github.com/adam-hanna/sessions) - Dead simple, highly performant, highly customizable sessions service for go http servers. * [signedvalue](https://github.com/sashka/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`. -* [yubigo](https://github.com/GeertJohan/yubigo) - Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. ## Command Line @@ -177,6 +176,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [mow.cli](https://github.com/jawher/mow.cli) - Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [pflag](https://github.com/spf13/pflag) - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. * [readline](https://github.com/chzyer/readline) - Pure golang implementation that provides most features in GNU-Readline under MIT license. +* [sand](https://github.com/Zaba505/sand) - Simple API for creating interpreters and so much more. * [sflags](https://github.com/octago/sflags) - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries. * [strumt](https://github.com/antham/strumt) - Library to create prompt chain. * [ukautz/clif](https://github.com/ukautz/clif) - Small command line interface framework. @@ -321,6 +321,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [dgraph](https://github.com/dgraph-io/dgraph) - Scalable, Distributed, Low Latency, High Throughput Graph Database. * [diskv](https://github.com/peterbourgon/diskv) - Home-grown disk-backed key-value store. * [eliasdb](https://github.com/krotik/eliasdb) - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. +* [fastcache](https://github.com/VictoriaMetrics/fastcache) - fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead. * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. * [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. * [go-cache](https://github.com/pmylund/go-cache) - In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. @@ -362,6 +363,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Supports statement and row based replication. +* [octillery](https://github.com/knocknote/octillery) - Go package for sharding databases ( Supports every ORM or raw SQL ). * [orchestrator](https://github.com/github/orchestrator) - MySQL replication topology manager & visualizer. * [pgweb](https://github.com/sosedoff/pgweb) - Web-based PostgreSQL database browser. * [prep](https://github.com/hexdigest/prep) - Use prepared SQL statements without changing your code. @@ -371,7 +373,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *SQL query builder, libraries for building and using SQL.* -* [dat](https://github.com/mgutz/dat) - Go Postgres Data Access Toolkit. * [Dotsql](https://github.com/gchaincl/dotsql) - Go library that helps you keep sql files in one place and use them with ease. * [gendry](https://github.com/didi/gendry) - Non-invasive SQL builder and powerful data binder. * [godbal](https://github.com/xujiajun/godbal) - Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily. @@ -449,6 +450,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [go-sunrise](https://github.com/nathan-osman/go-sunrise) - Calculate the sunrise and sunset times for a given location. * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. +* [iso8601](https://github.com/relvacode/iso8601) - Efficiently parse ISO8601 date-times without regex. * [Kair](https://github.com/GuilhermeCaruso/Kair) - Date and Time - Golang Formatting Library. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. * [NullTime](https://github.com/kirillDanshin/nulltime) - Nullable `time.Time`. @@ -475,7 +477,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-kit](https://github.com/go-kit/kit) - Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. -* [heimdall](https://github.com/gojektech/heimdall) - An enchanced http client with retry and hystrix capabilities. * [hprose](https://github.com/hprose/hprose-golang) - Very newbility RPC Library, support 25+ languages now. * [jaeger](https://github.com/jaegertracing/jaeger) - A distributed tracing system. * [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. @@ -595,7 +596,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gonet](https://github.com/xtaci/gonet) - Game server skeleton implemented with golang. * [goworld](https://github.com/xiaonanln/goworld) - Scalable game server engine, featuring space-entity framework and hot-swapping * [Leaf](https://github.com/name5566/leaf) - Lightweight game server framework. -* [nano](https://github.com/lonnng/nano) - Lightweight, facility, high performance golang based game server framework +* [nano](https://github.com/lonng/nano) - Lightweight, facility, high performance golang based game server framework * [Oak](https://github.com/oakmound/oak) - Pure Go game engine. * [Pitaya](https://github.com/topfreegames/pitaya) - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. * [Pixel](https://github.com/faiface/pixel) - Hand-crafted 2D game library in Go. @@ -740,6 +741,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [flogo](https://github.com/tibcosoftware/flogo) - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration. * [gatt](https://github.com/paypal/gatt) - Gatt is a Go package for building Bluetooth Low Energy peripherals. * [gobot](https://github.com/hybridgroup/gobot/) - Gobot is a framework for robotics, physical computing, and the Internet of Things. +* [huego](https://github.com/amimof/huego) - An extensive Philips Hue client library for Go. * [iot](https://github.com/vaelen/iot/) - IoT is a simple framework for implementing a Google IoT Core device. * [mainflux](https://github.com/Mainflux/mainflux) - Industrial IoT Messaging and Device Management Server. * [periph](https://periph.io/) - Peripherals I/O to interface with low-level board facilities. @@ -882,6 +884,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [conv](https://github.com/cstockton/go-conv) - Package conv provides fast and intuitive conversions across Go types. * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [errors](https://github.com/pkg/errors) - Package that provides simple error handling primitives. +* [errorx](https://github.com/joomcode/errorx) - A feature rich error package with stack traces, composition of errors and more. * [ffmt](https://github.com/go-ffmt/ffmt) - Beautify data display for Humans. * [ghorg](https://github.com/gabrie30/ghorg) - Clone all repos from a GitHub org into a single directory. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. @@ -905,6 +908,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [indigo](https://github.com/osamingo/indigo) - Distributed unique ID generator of using Sonyflake and encoded by Base58. * [jobs](https://github.com/albrow/jobs) - Persistent and flexible background jobs library. * [lk](https://github.com/hyperboloide/lk) - A simple licensing library for golang. +* [llvm](https://github.com/llir/llvm) - Library for interacting with LLVM IR in pure Go. * [margelet](https://github.com/zhulik/margelet) - Framework for building Telegram bots. * [morse](https://github.com/alwindoss/morse) - Library to convert to and from morse code. * [pdfgen](https://github.com/hyperboloide/pdfgen) - HTTP service to generate PDF from Json requests. @@ -1020,6 +1024,18 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [winrm](https://github.com/masterzen/winrm) - Go WinRM client to remotely execute commands on Windows machines. * [xtcp](https://github.com/xfxdev/xtcp) - TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol. +### HTTP Clients + +*Libraries for making HTTP requests* + +* [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. +* [goreq](https://github.com/smallnest/goreq) - Enhanced simplified HTTP client based on gorequest. +* [grequests](https://github.com/levigross/grequests) - A Go "clone" of the great and famous Requests library +* [heimdall](https://github.com/gojektech/heimdall) - An enchanced http client with retry and hystrix capabilities. +* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. +* [rq](https://github.com/ddo/rq) - A nicer interface for golang stdlib HTTP client. +* [sling](https://github.com/dghubble/sling) - Sling is a Go HTTP client library for creating and sending API requests. + ## OpenGL *Libraries for using OpenGL in Go.* @@ -1071,7 +1087,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopm](https://github.com/gpmgo/gopm) - Go Package Manager. * [govendor](https://github.com/kardianos/govendor) - Go Package Manager. Go vendor tool that works with the standard vendor file. * [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. -* [gvt](https://github.com/FiloSottile/gvt) - `gvt` is a simple vendoring tool made for Go native vendoring (aka GO15VENDOREXPERIMENT), based on gb-vendor. * [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git. * [nut](https://github.com/jingweno/nut) - Vendor Go dependencies. * [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments. @@ -1080,7 +1095,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gojsonq](https://github.com/thedevsaddam/gojsonq) - A simple Go package to Query over JSON Data. * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. -* [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. * [graphql](https://github.com/neelance/graphql-go) - GraphQL server with a focus on ease of use. * [graphql-go](https://github.com/graphql-go/graphql) - Implementation of GraphQL for Go. * [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. @@ -1113,9 +1127,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-fn](https://github.com/ematvey/go-fn) - Mathematical functions written in Go language, that are not covered by math pkg. * [go-gt](https://github.com/ThePaw/go-gt) - Graph theory algorithms written in "Go" language. * [gocomplex](https://github.com/varver/gocomplex) - Complex number library for the Go programming language. -* [goent](https://github.com/kzahedi/goent) - GO Implementation of Entropy Measures +* [goent](https://github.com/kzahedi/goent) - GO Implementation of Entropy Measures. * [gohistogram](https://github.com/VividCortex/gohistogram) - Approximate histograms for data streams. -* [gonum/mat64](https://github.com/gonum/matrix) - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. +* [gonum](https://github.com/gonum/gonum) - Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more. * [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. * [goraph](https://github.com/gyuho/goraph) - Pure Go graph theory library(data structure, algorith visualization). * [gosl](https://github.com/cpmech/gosl) - Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more. @@ -1170,7 +1184,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures. * [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions. * [structomap](https://github.com/tuvistavie/structomap) - Library to easily and dynamically generate maps from static structures. -* [structs](https://github.com/fatih/structs) - Library with support for converting structs to maps, struct keys/values to slices, and more. ## Server Applications @@ -1261,6 +1274,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gock](https://github.com/h2non/gock) - Versatile HTTP mocking made easy. * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. * [govcr](https://github.com/seborama/govcr) - HTTP mock for Golang: record and replay HTTP interactions for offline testing. + * [hoverfly](https://github.com/SpectoLabs/hoverfly) - HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI. * [minimock](https://github.com/gojuno/minimock) - Mock generator for Go interfaces. * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter. @@ -1288,6 +1302,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [colly](https://github.com/asciimoo/colly) - Fast and Elegant Scraping Framework for Gophers * [commonregex](https://github.com/mingrammer/commonregex) - A collection of common regular expressions for Go * [dataflowkit](https://github.com/slotix/dataflowkit) - Web scraping Framework to turn websites into structured data. + * [did](https://github.com/ockam-network/did) - DID (Decentralized Identifiers) Parser and Stringer in Go. * [doi](https://github.com/hscells/doi) - Document object identifier (doi) parser in Go. * [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) - Editorconfig file parser and manipulator for Go. * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). @@ -1300,6 +1315,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. * [go-slugify](https://github.com/mozillazg/go-slugify) - Make pretty slug with multiple languages support. * [go-vcard](https://github.com/emersion/go-vcard) - Parse and format vCard. + * [go-zero-width](https://github.com/trubitsyn/go-zero-width) - Zero-width character detection and removal for Go. * [gofeed](https://github.com/mmcdole/gofeed) - Parse RSS and Atom feeds in Go. * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. @@ -1359,14 +1375,13 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-myanimelist](https://github.com/nstratos/go-myanimelist) - Go client library for accessing the [MyAnimeList API](http://myanimelist.net/modules.php?go=api). * [go-sophos](https://github.com/esurdam/go-sophos) - Go client library for the [Sophos UTM REST API](https://www.sophos.com/en-us/medialibrary/PDFs/documentation/UTMonAWS/Sophos-UTM-RESTful-API.pdf?la=en) with zero dependencies. * [go-sptrans](https://github.com/sergioaugrod/go-sptrans) - Go client library for the SPTrans Olho Vivo API. -* [go-telegraph](https://github.com/toby3d/go-telegraph) - Telegraph publishing platform API client. +* [go-telegraph](https://gitlab.com/toby3d/telegraph) - Telegraph publishing platform API client. * [go-tgbot](https://github.com/olebedev/go-tgbot) - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitch](https://github.com/knspriggs/go-twitch) - Go client for interacting with the Twitch v3 API. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [go-unsplash](https://github.com/hbagdi/go-unsplash) - Go client library for the [Unsplash.com](https://unsplash.com) API. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. -* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. * [golyrics](https://github.com/mamal72/golyrics) - Golyrics is a Go library to fetch music lyrics data from the Wikia website. * [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - Go MusicBrainz WS2 client library. * [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go. @@ -1439,7 +1454,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fzf](https://github.com/junegunn/fzf) - Command-line fuzzy finder written in Go. * [gaper](https://github.com/maxcnunes/gaper) - Builds and restarts a Go project when it crashes or some watched file changes. * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. -* [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git. * [GJSON](https://github.com/tidwall/gjson) - Get a JSON value with one line of code. * [go-astitodo](https://github.com/asticode/go-astitodo) - Parse TODOs in your GO code. @@ -1467,18 +1481,13 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images. * [goreleaser](https://github.com/goreleaser/goreleaser) - Deliver Go binaries as fast and easily as possible. * [goreporter](https://github.com/wgliang/goreporter) - Golang tool that does static analysis, unit testing, code review and generate code quality report. -* [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. -* [goreq](https://github.com/smallnest/goreq) - Enhanced simplified HTTP client based on gorequest. -* [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. * [goseaweedfs](https://github.com/linxGnu/goseaweedfs) - SeaweedFS client library with almost full features. * [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go. * [goxlsxwriter](https://github.com/fterrag/goxlsxwriter) - Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files. * [gpath](https://github.com/tenntenn/gpath) - Library to simplify access struct fields with Go's expression in reflection. -* [grequests](https://github.com/levigross/grequests) - Elegant and simple `net/http` wrapper that follows Python's requests library. * [gron](https://github.com/roylee0704/gron) - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly. * [gubrak](https://gubrak.github.io/) - Golang utility library with syntactic sugar. It's like lodash, but for golang. * [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility. -* [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. * [hub](https://github.com/github/hub) - wrap git commands with additional functionality to interact with github from the terminal. * [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. * [immortal](https://github.com/immortal/immortal) - \*nix cross-platform (OS agnostic) supervisor. @@ -1489,6 +1498,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. * [jsonhal](https://github.com/RichardKnop/jsonhal) - Simple Go package to make custom structs marshal into HAL compatible JSON responses. * [kazaam](https://github.com/Qntfy/kazaam) - API for arbitrary transformation of JSON documents. +* [koazee](https://github.com/wesovilabs/koazee) - Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays. * [leprechaun](https://github.com/kilgaloon/leprechaun) - Job scheduler that supports webhooks, crons and classic scheduling * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go. * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. @@ -1499,6 +1509,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [minquery](https://github.com/icza/minquery) - MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off). * [mmake](https://github.com/tj/mmake) - Modern Make. * [moldova](https://github.com/StabbyCutyou/moldova) - Utility for generating random data based on an input template. +* [mole](https://github.com/davrodpin/mole) - cli app to easily create ssh tunnels * [mp](https://github.com/sanbornm/mp) - Simple cli email parser. It currently takes stdin and outputs JSON. * [mssqlx](https://github.com/linxGnu/mssqlx) - Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers. @@ -1508,7 +1519,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [onecache](https://github.com/adelowo/onecache) - Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc). * [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. * [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. -* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/pkg/profile) - Simple profiling support package for Go. * [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. @@ -1524,9 +1534,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [retry](https://github.com/shafreeck/retry) - A pretty simple library to ensure your work to be done. * [retry-go](https://github.com/rafaeljesus/retry-go) - Retrying made simple and easy for golang. * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics. -* [rq](https://github.com/ddo/rq) - A nicer interface for golang stdlib HTTP client. * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. -* [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. * [sslice](https://github.com/yaa110/sslice) - Create a slice which is always sorted. @@ -1551,7 +1559,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [govalidator](https://github.com/thedevsaddam/govalidator) - Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. * [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. * [validate](https://github.com/gookit/validate) - Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features. -* [validate](https://github.com/markbates/validate) - This package provides a framework for writing validations for Go applications. +* [validate](https://github.com/gobuffalo/validate) - This package provides a framework for writing validations for Go applications. * [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. ## Version Control @@ -1589,12 +1597,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Buffalo](http://gobuffalo.io) - Bringing the productivity of Rails to Go! * [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework. * [Fireball](https://github.com/zpatrick/fireball) - More "natural" feeling web framework. -* [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework. * [Gem](https://github.com/go-gem/gem) - Simple and fast web framework, friendly to REST API. * [Gin](https://github.com/gin-gonic/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. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. * [go-json-rest](https://github.com/ant0ine/go-json-rest) - Quick and easy way to setup a RESTful JSON API. -* [go-relax](https://github.com/codehack/go-relax) - Framework of pluggable components to build RESTful API's. * [go-rest](https://github.com/ungerik/go-rest) - Small and evil REST framework for Go. * [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis. * [Golax](https://github.com/fulldump/golax) - A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more. @@ -1647,7 +1653,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [renderer](https://github.com/thedevsaddam/renderer) - Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go. * [rye](https://github.com/InVisionApp/rye) - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context. * [stats](https://github.com/thoas/stats) - Go middleware that stores various information about your web application. -* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. ### Routers @@ -1664,17 +1669,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [httprouter](https://github.com/julienschmidt/httprouter) - High performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. * [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. -* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. * [mux](https://github.com/gorilla/mux) - Powerful URL router and dispatcher for golang. * [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. -* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. * [pure](https://github.com/go-playground/pure) - Is a lightweight HTTP router that sticks to the std "net/http" implementation. * [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers. * [vestigo](https://github.com/husobee/vestigo) - Performant, stand-alone, HTTP compliant URL Router for go web applications. * [violetear](https://github.com/nbari/violetear) - Go HTTP router. * [xmux](https://github.com/rs/xmux) - High performance muxer based on `httprouter` with `net/context` support. * [xujiajun/gorouter](https://github.com/xujiajun/gorouter) - A simple and fast HTTP router for Go. -* [zeus](https://github.com/daryl/zeus) - Very simple and fast HTTP router for Go. ## Windows @@ -1714,7 +1716,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. * [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) - gosimple is a linter for Go source code that specialises on simplifying code. * [gostatus](https://github.com/shurcooL/gostatus) - Command line tool, shows the status of repositories that contain Go packages. -* [interfacer](https://github.com/mvdan/interfacer) - Linter that suggests interface types. * [lint](https://github.com/surullabs/lint) - Run linters as part of go test. * [php-parser](https://github.com/z7zmey/php-parser) - A Parser for PHP written in Go. * [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/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#. @@ -1729,7 +1730,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-language-server](https://github.com/theia-ide/go-language-server) - A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol. * [go-mode](https://github.com/dominikh/go-mode.el) - Go mode for GNU/Emacs. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting. -* [Goclipse](https://github.com/GoClipse/goclipse) - Eclipse plugin for Go. * [gocode](https://github.com/nsf/gocode) - Autocompletion daemon for the Go programming language. * [GoSublime](https://github.com/DisposaBoy/GoSublime) - Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features. * [gounit-vim](https://github.com/hexdigest/gounit-vim) - Vim plugin for generating Go tests based on the function's or method's signature. @@ -1786,7 +1786,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fac](https://github.com/mkchoi212/fac) - Command-line user interface to fix git merge conflicts * [gaia](https://github.com/gaia-pipeline/gaia) - Build powerful pipelines in any programming language. * [Gitea](https://github.com/go-gitea/gitea) - Fork of Gogs, entirely community driven. -* [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. * [go-furnace](https://github.com/go-furnace/go-furnace) - Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean. * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. * [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go.