From 75568ab98d691ea1b96b4162bb5625872c082312 Mon Sep 17 00:00:00 2001 From: Sohom Majumdar Date: Sun, 27 Mar 2022 12:29:04 +0530 Subject: [PATCH 01/16] Adding go118ds --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f87e53ee..3532e4d5 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ _Generic datastructures and algorithms in Go._ - [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. - [go-mcache](https://github.com/OrlovEvgeny/go-mcache) - Fast in-memory key:value store/cache library. Pointer caches. - [go-rquad](https://github.com/aurelien-rainone/go-rquad) - Region quadtrees with efficient point location and neighbour finding. +- [go18ds](https://github.com/daichi-m/go18ds) - Go Data Structures using Go 1.18 generics. - [gocache](https://github.com/eko/gocache) - A complete Go cache library with mutiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more. - [goconcurrentqueue](https://github.com/enriquebris/goconcurrentqueue) - Concurrent FIFO queue. - [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. From 6a8d714ef342fc1347a80af38659a805da7b0609 Mon Sep 17 00:00:00 2001 From: Sohom Majumdar Date: Mon, 4 Apr 2022 11:51:40 +0530 Subject: [PATCH 02/16] Merge upstream main --- README.md | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 9f00fe8e..d609a62e 100644 --- a/README.md +++ b/README.md @@ -579,7 +579,7 @@ _Databases implemented in Go._ - [badger](https://github.com/dgraph-io/badger) - Fast key-value store in Go. - [bbolt](https://github.com/etcd-io/bbolt) - An embedded key/value database for Go. -- [bcache](https://github.com/iwanbk/bcache) - Eventually consistent distributed in-memory cache Go library. +- [bcache](https://github.com/iwanbk/bcache) - Eventually consistent distributed in-memory cache Go library. - [BigCache](https://github.com/allegro/bigcache) - Efficient key/value cache for gigabytes of data. - [Bitcask](https://git.mills.io/prologic/bitcask) - Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL). - [buntdb](https://github.com/tidwall/buntdb) - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. @@ -612,11 +612,11 @@ _Databases implemented in Go._ - [lotusdb](https://github.com/flower-corp/lotusdb) - Fast k/v database compatible with lsm and b+tree. - [Milvus](https://github.com/milvus-io/milvus) - Milvus is a vector database for embedding management, analytics and search. - [moss](https://github.com/couchbase/moss) - Moss is a simple LSM key-value storage engine written in 100% Go. -- [nutsdb](https://github.com/xujiajun/nutsdb) - Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. +- [nutsdb](https://github.com/xujiajun/nutsdb) - Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. - [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures. - [pogreb](https://github.com/akrylysov/pogreb) - Embedded key-value store for read-heavy workloads. - [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. -- [pudge](https://github.com/recoilme/pudge) - Fast and simple key/value store written using Go's standard library. +- [pudge](https://github.com/recoilme/pudge) - Fast and simple key/value store written using Go's standard library. - [rosedb](https://github.com/roseduan/rosedb) - An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset. - [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. - [Scribble](https://github.com/nanobox-io/golang-scribble) - Tiny flat file JSON store. @@ -624,7 +624,7 @@ _Databases implemented in Go._ - [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. - [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. - [ttlcache](https://github.com/cheshir/ttlcache) - In-memory key value storage with TTL for each record. -- [unitdb](https://github.com/unit-io/unitdb) - Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application. +- [unitdb](https://github.com/unit-io/unitdb) - Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application. - [Vasto](https://github.com/chrislusf/vasto) - A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption. - [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL. @@ -703,7 +703,6 @@ _SQL query builder, libraries for building and using SQL._ _Libraries for connecting and operating databases._ - Relational Databases - - [avatica](https://github.com/apache/calcite-avatica-go) - Apache Avatica/Phoenix SQL driver for database/sql. - [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery for go. - [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go. @@ -721,7 +720,6 @@ _Libraries for connecting and operating databases._ - [sqlhooks](https://github.com/qustavo/sqlhooks) - Attach hooks to any database/sql driver. - NoSQL Databases - - [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. - [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. - [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go. @@ -751,7 +749,6 @@ _Libraries for connecting and operating databases._ - [xredis](https://github.com/shomali11/xredis) - Typesafe, customizable, clean & easy to use Redis client. - Search and Analytic Databases. - - [bleve](https://github.com/blevesearch/bleve) - Modern text indexing library for go. - [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go. - [elasticsql](https://github.com/cch123/elasticsql) - Convert sql to elasticsearch dsl in Go. @@ -961,7 +958,7 @@ _Libraries for handling files and file systems._ - [pathtype](https://github.com/jonchun/pathtype) - Treat paths as their own type instead of using strings. - [pdfcpu](https://github.com/pdfcpu/pdfcpu) - PDF processor. - [skywalker](https://github.com/dixonwille/skywalker) - Package to allow one to concurrently go through a filesystem with ease. -- [stl](https://gitlab.com/russoj88/stl) - Modules to read and write STL (stereolithography) files. Concurrent algorithm for reading. +- [stl](https://gitlab.com/russoj88/stl) - Modules to read and write STL (stereolithography) files. Concurrent algorithm for reading. - [tarfs](https://github.com/posener/tarfs) - Implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files. - [todotxt](https://github.com/1set/todotxt) - Go library for Gina Trapani's [_todo.txt_](http://todotxt.org/) files, supports parsing and manipulating of task lists in the [_todo.txt_ format](https://github.com/todotxt/todo.txt). - [vfs](https://github.com/C2FO/vfs) - A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS. @@ -1375,7 +1372,7 @@ _Libraries for generating and working with log files._ - [rollingwriter](https://github.com/arthurkiller/rollingWriter) - RollingWriter is an auto-rotate `io.Writer` implementation with multi policies to provide log file rotation. - [seelog](https://github.com/cihub/seelog) - Logging functionality with flexible dispatching, filtering, and formatting. - [spew](https://github.com/davecgh/go-spew) - Implements a deep pretty printer for Go data structures to aid in debugging. -- [sqldb-logger](https://github.com/simukti/sqldb-logger) - A logger for Go SQL database driver without modify existing \*sql.DB stdlib usage. +- [sqldb-logger](https://github.com/simukti/sqldb-logger) - A logger for Go SQL database driver without modify existing *sql.DB stdlib usage. - [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. - [structy/log](https://github.com/structy/log) - A simple to use log system, minimalist but with features for debugging and differentiation of messages. - [tail](https://github.com/hpcloud/tail) - Go package striving to emulate the features of the BSD tail program. @@ -1672,7 +1669,7 @@ See also [Text Processing](#text-processing). - [MMSEGO](https://github.com/awsong/MMSEGO) - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm. - [prose](https://github.com/jdkato/prose) - Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only. - [segment](https://github.com/blevesearch/segment) - Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/) -- [sentences](https://github.com/neurosnap/sentences) - Sentence tokenizer: converts text into a list of sentences. +- [sentences](https://github.com/neurosnap/sentences) - Sentence tokenizer: converts text into a list of sentences. - [shamoji](https://github.com/osamingo/shamoji) - The shamoji is word filtering package written in Go. - [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers. - [textcat](https://github.com/pebbe/textcat) - Go package for n-gram based text categorization, with support for utf-8 and raw text. @@ -1980,7 +1977,7 @@ _Libraries that are used to help make your application more secure._ - [nacl](https://github.com/kevinburke/nacl) - Go implementation of the NaCL set of API's. - [optimus-go](https://github.com/pjebs/optimus-go) - ID hashing and Obfuscation using Knuth's Algorithm. - [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. -- [secret](https://github.com/rsjethani/secret) - Prevent your secrets from leaking into logs, std\* etc. +- [secret](https://github.com/rsjethani/secret) - Prevent your secrets from leaking into logs, std* etc. - [secure](https://github.com/unrolled/secure) - HTTP middleware for Go that facilitates some quick security wins. - [secureio](https://github.com/xaionaro-go/secureio) - An keyexchanging+authenticating+encrypting wrapper and multiplexer for `io.ReadWriteCloser` based on XChaCha20-poly1305, ECDH and ED25519. - [simple-scrypt](https://github.com/elithrar/simple-scrypt) - Scrypt package with a simple, obvious API and automatic cost calibration built-in. @@ -2091,7 +2088,6 @@ _Libraries and tools for templating and lexing._ _Libraries for testing codebases and generating test data._ - Testing Frameworks - - [apitest](https://apitest.dev) - Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams. - [assert](https://github.com/go-playground/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions. - [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package. @@ -2152,7 +2148,6 @@ _Libraries for testing codebases and generating test data._ - [wstest](https://github.com/posener/wstest) - Websocket client for unit-testing a websocket http.Handler. - Mock - - [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects. - [genmock](https://gitlab.com/so_literate/genmock) - Go mocking system with code generator for building calls of the interface methods. - [go-localstack](https://github.com/elgohr/go-localstack) - Tool for using localstack in AWS testing. @@ -2170,13 +2165,11 @@ _Libraries for testing codebases and generating test data._ - [timex](https://github.com/cabify/timex) - A test-friendly replacement for the native `time` package. - Fuzzing and delta-debugging/reducing/shrinking. - - [go-fuzz](https://github.com/dvyukov/go-fuzz) - Randomized testing system. - [gofuzz](https://github.com/google/gofuzz) - Library for populating go objects with random values. - [Tavor](https://github.com/zimmski/tavor) - Generic fuzzing and delta-debugging framework. - Selenium and browser control tools. - - [cdp](https://github.com/mafredri/cdp) - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it. - [chromedp](https://github.com/knq/chromedp) - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol. - [ggr](https://github.com/aerokube/ggr) - a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs. @@ -2489,7 +2482,7 @@ _General utilities and tools to make your life easier._ - [minquery](https://github.com/icza/minquery) - MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off). - [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. -- [mongo-go-pagination](https://github.com/gobeam/mongo-go-pagination) - Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines. +- [mongo-go-pagination](https://github.com/gobeam/mongo-go-pagination) - Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines. - [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. - [myhttp](https://github.com/inancgumus/myhttp) - Simple API to make HTTP GET requests with timeout support. @@ -3198,7 +3191,7 @@ _Where to discover new Go libraries._ - [Utah Go User Group](https://www.meetup.com/utahgophers/) - [Women Who Go - San Francisco, CA](https://www.meetup.com/Women-Who-Go/) -_Add the group of your city/country here (send **PR**)_ +*Add the group of your city/country here (send **PR**)* **[⬆ back to top](#contents)** @@ -3265,7 +3258,7 @@ _Add the group of your city/country here (send **PR**)_ - [Gophercises](https://gophercises.com/) - Free coding exercises for budding gophers. - [gowalker.org](https://gowalker.org) - Go Project API documentation. - [json2go](https://m-zajac.github.io/json2go) - Advanced JSON to Go struct conversion - online tool. -- [justforfunc](https://www.youtube.com/c/justforfunc) - Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy [@francesc](https://twitter.com/francesc). +- [justforfunc](https://www.youtube.com/c/justforfunc) - Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy [@francesc](https://twitter.com/francesc). - [Learn Go Programming](https://blog.learngoprogramming.com) - Learn Go concepts with illustrations. - [Lille Gophers](https://lille-gophers.loscrackitos.codes/) - Golang talks community in Lille, France ([@LilleGophers](https://twitter.com/LilleGophers)). - [Made with Golang](https://madewithgolang.com/?ref=awesome-go) From ba302eeb0867995d8577d61431600376ca142474 Mon Sep 17 00:00:00 2001 From: Anton Kornilov Date: Mon, 11 Apr 2022 07:01:05 +0300 Subject: [PATCH 03/16] Add fasapay-sdk-go (#4158) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71907e7c..1982f180 100644 --- a/README.md +++ b/README.md @@ -2357,6 +2357,7 @@ _Libraries for accessing third party APIs._ - [dusupay-sdk-go](https://github.com/Kachit/dusupay-sdk-go) - Unofficial Dusupay payment gateway API Client for Go - [ethrpc](https://github.com/onrik/ethrpc) - Go bindings for Ethereum JSON RPC API. - [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API. +- [fasapay-sdk-go](https://github.com/Kachit/fasapay-sdk-go) - Unofficial Fasapay payment gateway XML API Client for Golang. - [fcm](https://github.com/maddevsio/fcm) - Go library for Firebase Cloud Messaging. - [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API. - [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. From 03853dc82e19e80668edd79acba3abbf76406d7d Mon Sep 17 00:00:00 2001 From: Goktug <26507081+PIMPfiction@users.noreply.github.com> Date: Mon, 11 Apr 2022 07:04:19 +0300 Subject: [PATCH 04/16] add govader-backend (#4166) govader-backend under the title of Natural Language Processing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1982f180..319e746a 100644 --- a/README.md +++ b/README.md @@ -1705,6 +1705,7 @@ See also [Text Processing](#text-processing) and [Text Analysis](#text-analysis) - [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2. - [gosentiwordnet](https://github.com/dinopuguh/gosentiwordnet) - Sentiment analyzer using sentiwordnet lexicon in Go. - [govader](https://github.com/jonreiter/govader) - Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment). +- [govader-backend](https://github.com/PIMPfiction/govader_backend) - Microservice implementation of [GoVader](https://github.com/jonreiter/govader). - [kagome](https://github.com/ikawaha/kagome) - JP morphological analyzer written in pure Go. - [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. - [nlp](https://github.com/Shixzie/nlp) - Extract values from strings and fill your structs with nlp. From c8b3566bb3533f3b54f4b2f427a2b964963a88e2 Mon Sep 17 00:00:00 2001 From: Alessio Enrico Repetti Date: Mon, 11 Apr 2022 23:19:46 +0200 Subject: [PATCH 05/16] add fp-go to Functional packages (#4167) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 319e746a..619c17b7 100644 --- a/README.md +++ b/README.md @@ -1076,6 +1076,7 @@ _Libraries for working with forms._ _Packages to support functional programming in Go._ +- [fp-go](https://github.com/repeale/fp-go) - Collection of Functional Programming helpers powered by Golang 1.18+ generics. - [fpGo](https://github.com/TeaEntityLab/fpGo) - Monad, Functional Programming features for Golang. - [fuego](https://github.com/seborama/fuego) - Functional Experiment in Go. - [go-underscore](https://github.com/tobyhede/go-underscore) - Useful collection of helpfully functional Go collection utilities. From 2e0f9bb9ecd311940f50eb213a77e53e5750182e Mon Sep 17 00:00:00 2001 From: Shannon Date: Mon, 11 Apr 2022 15:53:26 -0700 Subject: [PATCH 06/16] Clarifying documentation requirements now that GoReportCard no longer checks for documentation formatting. (#4173) --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1225013e..2c325478 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,10 +23,10 @@ To be on the list, project repositories should adhere to the following quality s - function as documented and expected; - be generally useful to the wider community of Go programmers; - be actively maintained with: - - Regular, recent commits; - - Or, for finished projects, issues and pull requests are responded to generally within 2 weeks; + - regular, recent commits; + - or, for finished projects, issues and pull requests are responded to generally within 2 weeks; - be stable or progressing toward stable; -- be thoroughly documented (README, pkg.go.dev doc comments, etc.) in the english language, so everyone is able to understand the project's intention and how it works; +- be thoroughly documented (README, pkg.go.dev doc comments, etc.) in the english language, so everyone is able to understand the project's intention and how it works. All public functions and types should have a Go style documentation header; - if the library/program is testable, then coverage should be >= 80% for non-data-related packages and >=90% for data related packages. (**Note**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results); - have at least one official version-numbered release that allows go.mod files to list the file by version number, of the form vX.X.X. From 9d4ee1b55080993f9135591e0ea5af8a89d97b2b Mon Sep 17 00:00:00 2001 From: Travis Harmon Date: Tue, 12 Apr 2022 15:35:22 -0500 Subject: [PATCH 07/16] Add golamb (#4162) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 619c17b7..fd76b731 100644 --- a/README.md +++ b/README.md @@ -2706,6 +2706,7 @@ _Full stack web frameworks._ - [go-rest](https://github.com/ungerik/go-rest) - Small and evil REST framework for Go. - [Goa](https://github.com/goadesign/goa) - Goa provides a holistic approach for developing remote APIs and microservices in Go. - [goa](https://github.com/goa-go/goa) - goa is just like koajs for golang, it is a flexible, light, high-performance and extensible web framework based on middleware. +- [golamb](https://github.com/twharmon/golamb) - Golamb makes it easier to write API endpoints for use with AWS Lambda and API Gateway. - [Golax](https://github.com/fulldump/golax) - A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more. - [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. - [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster. From b08acafe75ffd36e4553226986dc615ef162cf9c Mon Sep 17 00:00:00 2001 From: Max Lowther Date: Wed, 13 Apr 2022 13:16:18 +0100 Subject: [PATCH 08/16] add goven (#4165) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd76b731..43d5a9b8 100644 --- a/README.md +++ b/README.md @@ -1941,6 +1941,7 @@ _Unofficial libraries for package and dependency management._ - [api-fu](https://github.com/ccbrown/api-fu) - Comprehensive GraphQL implementation. - [dasel](https://github.com/tomwright/dasel) - Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies. - [gojsonq](https://github.com/thedevsaddam/gojsonq) - A simple Go package to Query over JSON Data. +- [goven](https://github.com/SeldonIO/goven) - A drop-in query language for any database schema. - [gqlgen](https://github.com/99designs/gqlgen) - go generate based graphql server library. - [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. - [graphql](https://github.com/neelance/graphql-go) - GraphQL server with a focus on ease of use. From 2b1b5e4a06ff6d2a7ec8560456cfb62741d67a0a Mon Sep 17 00:00:00 2001 From: Amirreza Askarpour Date: Thu, 14 Apr 2022 14:31:42 +0430 Subject: [PATCH 09/16] Adds Golobby/orm (#4171) Adds Golobby/orm --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43d5a9b8..b1047caf 100644 --- a/README.md +++ b/README.md @@ -1880,6 +1880,7 @@ _Libraries that implement Object-Relational Mapping or datamapping techniques._ - [go-sql](https://github.com/rushteam/gosql) - A easy ORM for mysql. - [go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) - A flexible and powerful SQL string builder library plus a zero-config ORM. - [go-store](https://github.com/gosuri/go-store) - Simple and fast Redis backed key-value store library for Go. +- [golobby/orm](https://github.com/golobby/orm) - Simple, fast, type-safe, generic orm for developer happiness. - [GORM](https://github.com/go-gorm/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. - [gormt](https://github.com/xxjwxc/gormt) - Mysql database to golang gorm struct. - [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. From d30d8e78b56ca07f643f3a57a378fdabacab85ce Mon Sep 17 00:00:00 2001 From: Milad Rahimi Date: Thu, 21 Apr 2022 15:34:11 +0430 Subject: [PATCH 10/16] Rename package "container" to "GoLobby/Container" (#4188) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b1047caf..91681819 100644 --- a/README.md +++ b/README.md @@ -1573,13 +1573,13 @@ _Libraries for working with Microsoft Excel._ _Libraries for working with dependency injection._ - [alice](https://github.com/magic003/alice) - Additive dependency injection container for Golang. -- [container](https://github.com/golobby/container) - A powerful IoC Container with fluent and easy-to-use interface. - [di](https://github.com/goava/di) - A dependency injection container for go programming language. - [dig](https://github.com/uber-go/dig) - A reflection based dependency injection toolkit for Go. - [dingo](https://github.com/i-love-flamingo/dingo) - A dependency injection toolkit for Go, based on Guice. - [fx](https://github.com/uber-go/fx) - A dependency injection based application framework for Go (built on top of dig). - [gocontainer](https://github.com/vardius/gocontainer) - Simple Dependency Injection Container. - [goioc/di](https://github.com/goioc/di) - Spring-inspired Dependency Injection Container. +- [GoLobby/Container](https://github.com/golobby/container) - GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language. - [google/wire](https://github.com/google/wire) - Automated Initialization in Go. - [HnH/di](https://github.com/HnH/di) - DI container library that is focused on clean API and flexibility. - [kinit](https://github.com/go-kata/kinit) - Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization. From 1fd4cc27bd41c80b396b251827fcb11917781bc7 Mon Sep 17 00:00:00 2001 From: Milad Rahimi Date: Thu, 21 Apr 2022 15:34:22 +0430 Subject: [PATCH 11/16] Rename package "router" to "GoLobby/Router" (#4186) Since package name is simple, we've prepended the org name to it. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91681819..2bfa4a36 100644 --- a/README.md +++ b/README.md @@ -2786,6 +2786,7 @@ _Full stack web frameworks._ - [goblin](https://github.com/bmf-san/goblin) - A golang http router based on trie tree. - [gocraft/web](https://github.com/gocraft/web) - Mux and middleware package in Go. - [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +- [GoLobby/Router](https://github.com/golobby/router) - GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language. - [goroute](https://github.com/goroute/route) - Simple yet powerful HTTP request multiplexer. - [GoRouter](https://github.com/vardius/gorouter) - GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting `net/context`. - [gowww/router](https://github.com/gowww/router) - Lightning fast HTTP router fully compatible with the net/http.Handler interface. @@ -2797,7 +2798,6 @@ _Full stack web frameworks._ - [ngamux](https://github.com/ngamux/ngamux) - Simple HTTP router for Go. - [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. - [pure](https://github.com/go-playground/pure) - Is a lightweight HTTP router that sticks to the std "net/http" implementation. -- [router](https://github.com/golobby/router) - GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language. - [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. From 4839fbaaeb089783ace61314f98d89db3a2b575c Mon Sep 17 00:00:00 2001 From: Milad Rahimi Date: Thu, 21 Apr 2022 15:34:36 +0430 Subject: [PATCH 12/16] Rename package "config" to "GoLobby/Config" (#4187) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bfa4a36..d5f54ac4 100644 --- a/README.md +++ b/README.md @@ -435,7 +435,6 @@ _Libraries for configuration parsing._ - [aconfig](https://github.com/cristalhq/aconfig) - Simple, useful and opinionated config loader. - [cleanenv](https://github.com/ilyakaznacheev/cleanenv) - Minimalistic configuration reader (from files, ENV, and wherever you want). -- [config](https://github.com/golobby/config) - A lightweight yet powerful config package for Go projects. - [config](https://github.com/JeremyLoy/config) - Cloud native application configuration. Bind ENV to structs in only two lines. - [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. - [configuration](https://github.com/BoRuDar/configuration) - Library for initializing configuration structs from env variables, files, flags and 'default' tag. @@ -460,6 +459,7 @@ _Libraries for configuration parsing._ - [goConfig](https://github.com/crgimenes/goConfig) - Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. - [godotenv](https://github.com/joho/godotenv) - Go port of Ruby's dotenv library (Loads environment variables from `.env`). - [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy. +- [GoLobby/Config](https://github.com/golobby/config) - GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language. - [gone/jconf](https://github.com/One-com/gone/tree/master/jconf) - Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization. - [gonfig](https://github.com/milad-abbasi/gonfig) - Tag-based configuration parser which loads values from different providers into typesafe struct. - [gookit/config](https://github.com/gookit/config) - application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge. From 30b48d01364772d03c6c28358fdd024a30f079fc Mon Sep 17 00:00:00 2001 From: David Sharnoff Date: Thu, 21 Apr 2022 04:43:09 -0700 Subject: [PATCH 13/16] add nfigure (#4152) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5f54ac4..203cecdd 100644 --- a/README.md +++ b/README.md @@ -476,6 +476,7 @@ _Libraries for configuration parsing._ - [kong](https://github.com/alecthomas/kong) - Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (succesor to `kingpin`). - [mini](https://github.com/sasbury/mini) - Golang package for parsing ini-style configuration files. - [nasermirzaei89/env](https://github.com/nasermirzaei89/env) - Simple useful package for read environment variables. +- [nfigure](https://github.com/muir/nfigure) - Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML - [onion](https://github.com/goraz/onion) - Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP. - [piper](https://github.com/Yiling-J/piper) - Viper wrapper with config inheritance and key generation. - [store](https://github.com/tucnak/store) - Lightweight configuration manager for Go. From 012f7a4e77acd3f99c07e2e355830153a5ea4804 Mon Sep 17 00:00:00 2001 From: Travis Harmon Date: Sun, 24 Apr 2022 01:03:02 -0500 Subject: [PATCH 14/16] add twharmon/slices (#4136) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 203cecdd..909ab345 100644 --- a/README.md +++ b/README.md @@ -576,6 +576,7 @@ additional ordered map implementations. - [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. - [hyperloglog](https://github.com/axiomhq/hyperloglog) - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction. - [slices](https://github.com/srfrog/slices) - Functions that operate on slices; like `package strings` but adapted to work with slices. +- [slices](https://github.com/twharmon/slices) - Pure, generic functions for slices. ### Nullable Types From ebc4134bba50eeee4ce5b8db3815f4db4dcce821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Ali=C3=A8s?= Date: Sun, 24 Apr 2022 08:06:34 +0200 Subject: [PATCH 15/16] add go-rocket-update (#4196) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 909ab345..37f2fd69 100644 --- a/README.md +++ b/README.md @@ -2979,6 +2979,7 @@ _Software written in Go._ - [Gitea](https://github.com/go-gitea/gitea) - Fork of Gogs, entirely community driven. - [gitea-github-migrator](https://git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator) - Migrate all your GitHub repositories, issues, milestones and labels to your Gitea instance. - [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-rocket-update](https://github.com/mouuff/go-rocket-update) - A simple way to make self updating Go applications - Supports Github and Gitlab. - [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. - [godbg](https://github.com/sirnewton01/godbg) - Web-based gdb front-end application. From 8768e9e6c0b862aec329859fbebd793772bd796e Mon Sep 17 00:00:00 2001 From: SwitchUpCB <81384235+switchupcb@users.noreply.github.com> Date: Sun, 24 Apr 2022 21:09:02 -0500 Subject: [PATCH 16/16] add copygen (#4181) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37f2fd69..80b94cc3 100644 --- a/README.md +++ b/README.md @@ -1116,6 +1116,7 @@ _Awesome game development libraries._ _Tools that generate Go code._ +- [copygen](https://github.com/switchupcb/copygen) - Generate type-to-type code without reflection. - [efaceconv](https://github.com/t0pep0/efaceconv) - Code generation tool for high performance conversion from interface{} to immutable type without allocations. - [generis](https://github.com/senselogic/GENERIS) - Code generation tool providing generics, free-form macros, conditional compilation and HTML templating. - [go-enum](https://github.com/abice/go-enum) - Code generation for enums from code comments.