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)