696 Resources
Golang ttl-cache-implementation Libraries
Go Library [DEPRECATED]
Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell
This is a go implementation of Segmented Sieve and non Segmented sieve to produce prime numbers concurrently.
Prime This is a Go library to produce prime numbers using all available cpu cores. Installation $ go get github.com/kavehmz/prime Usage package main
Go implementation of BLAS (Basic Linear Algebra Subprograms)
Go implementation of BLAS (Basic Linear Algebra Subprograms) Any function is implemented in generic Go and if it is justified, it is optimized for AMD
Golang implementation of the Paice/Husk Stemming Algorithm
##Golang Implementation of the Paice/Husk stemming algorithm This project was created for the QUT course INB344. Details on the algorithm can be found
An implementation of Neural Turing Machines
Neural Turing Machines Package ntm implements the Neural Turing Machine architecture as described in A.Graves, G. Wayne, and I. Danihelka. arXiv prepr
A native Go clean room implementation of the Porter Stemming algorithm.
Go Porter Stemmer A native Go clean room implementation of the Porter Stemming Algorithm. This algorithm is of interest to people doing Machine Learni
k-modes and k-prototypes clustering algorithms implementation in Go
go-cluster GO implementation of clustering algorithms: k-modes and k-prototypes. K-modes algorithm is very similar to well-known clustering algorithm
Go implementation of the Snowball stemmers
Snowball A Go (golang) implementation of the Snowball stemmer for natural language processing. Status Latest release v0.7.0 (2020-11-30) Latest build
Go Library [DEPRECATED]
Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell
A Statsd implementation written in GO lang
statsgod Statsgod is a metric aggregation service inspired by the statsd project. Written in Golang, it increases performance and can be deployed with
graylog-golang is a full implementation for sending messages in GELF (Graylog Extended Log Format) from Go (Golang) to Graylog
graylog-golang is a full implementation for sending messages in GELF (Graylog Extended Log Format) from Go (Golang) to Graylog
Go implementation of systemd Journal's native API for logging
journald Package journald offers Go implementation of systemd Journal's native API for logging. Key features are: based on a connection-less socket wo
An Etsy StatsD (https://github.com/etsy/statsd) implementation in Go
STATSD-GO Port of Etsy's statsd, written in Go. This was forked from https://github.com/amir/gographite to provide Ganglia submission support. USAGE U
A Windows named pipe implementation written in pure Go.
npipe Package npipe provides a pure Go wrapper around Windows named pipes. Windows named pipe documentation: http://msdn.microsoft.com/en-us/library/w
A Socket.IO backend implementation written in Go
go-socket.io The socketio package is a simple abstraction layer for different web browser- supported transport mechanisms. It is fully compatible with
A LWM2M Client and Server implementation (For Go/Golang)
Betwixt - A LWM2M Client and Server in Go Betwixt is a Lightweight M2M implementation written in Go OMA Lightweight M2M is a protocol from the Open Mo
Pure Go implementation of the WebRTC API
Pion WebRTC A pure Go implementation of the WebRTC API New Release Pion WebRTC v3.0.0 has been released! See the release notes to learn about new feat
Fast RFC 5389 STUN implementation in go
STUN Package stun implements Session Traversal Utilities for NAT (STUN) [RFC5389] protocol and client with no external dependencies and zero allocatio
A QUIC implementation in pure go
A QUIC implementation in pure Go quic-go is an implementation of the QUIC protocol in Go. It implements the IETF QUIC draft-29 and draft-32. Version c
A go implementation of the STUN client (RFC 3489 and RFC 5389)
go-stun go-stun is a STUN (RFC 3489, 5389) client implementation in golang (a.k.a. UDP hole punching). RFC 3489: STUN - Simple Traversal of User Datag
Golax, a go implementation for the Lax framework.
Golax is the official go implementation for the Lax framework. About Lax Getting started Routing example Performance How interceptor works Handling pa
Golang simple thread pool implementation
Golang Threadpool implementation Scalable threadpool implementation using Go to handle the huge network trafic. Install go get github.com/shettyh/thre
🚦 Semaphore pattern implementation with timeout of lock/unlock operations.
🚦 semaphore Semaphore pattern implementation with timeout of lock/unlock operations. 💡 Idea The semaphore provides API to control access to a shared
CyclicBarrier golang implementation
cyclicbarrier CyclicBarrier is a synchronizer that allows a set of goroutines to wait for each other to reach a common execution point, also called a
Pure Go implementation of D. J. Bernstein's cdb constant database library.
Pure Go implementation of D. J. Bernstein's cdb constant database library.
gumble is a Mumble client implementation in Go (golang)
gumble gumble is a Mumble client implementation in Go Sub-projects gumble (docs) Client library gumbleopenal (docs) OpenAL audio system for gumble gum
Geocache is an in-memory cache that is suitable for geolocation based applications.
geocache geocache is an in-memory cache that is suitable for geolocation based applications. It uses geolocation as a key for storing items. You can s
Tile is a 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers.
Tile: Data-Oriented 2D Grid Engine This repository contains a 2D tile map engine which is built with data and cache friendly ways. My main goal here i
Go implementation of the A* search algorithm
go-astar A* pathfinding implementation for Go The A* pathfinding algorithm is a pathfinding algorithm noted for its performance and accuracy and is co
Go implementation of Fowler's Money pattern
Money GoMoney provides ability to work with monetary value using a currency's smallest unit. This package provides basic and precise Money operations
fastme - Fast extensible matching engine Go implementation.
fastme (fast golang matching engine) library Design The library solves the task of recalculating the exchange order book. A classic matching engine co
An implementation of the FileSystem interface for tar files.
TarFS A wrapper around tar.Reader. Implements the FileSystem interface for tar files. Adds an Open method, that enables reading of file according to i
Go implementation of the Open Packaging Conventions (OPC)
opc Package opc implements the ISO/IEC 29500-2, also known as the Open Packaging Convention. The Open Packaging specification describes an abstract mo
Go Library [DEPRECATED]
Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell
An embeddable implementation of the Ngaro Virtual Machine for Go programs
Ngaro Go Overview This is an embeddable Go implementation of the Ngaro Virtual Machine. This repository contains the embeddable virtual machine, a rud
Go Library [DEPRECATED]
Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell
The pure golang implementation of nanomsg (version 1, frozen)
mangos NOTE: This is the legacy version of mangos (v1). Users are encouraged to use mangos v2 instead if possible. No further development is taking pl
Simplified distributed locking implementation using Redis
redislock Simplified distributed locking implementation using Redis. For more information, please see examples. Examples import ( "fmt" "time"
Golang implementation of the Raft consensus protocol
raft raft is a Go library that manages a replicated log and can be used with an FSM to manage replicated state machines. It is a library for providing
A simple go implementation of json rpc 2.0 client over http
JSON-RPC 2.0 Client for golang A go implementation of an rpc client using json as data format over http. The implementation is based on the JSON-RPC 2
The Go language implementation of gRPC. HTTP/2 based RPC
gRPC-Go The Go implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information
Download, build, cache and run a Go app easily.
demand -- An easy way to install apps demand will download, build, cache and run a Go app. You can use it as an interpreter. Create a file bytes2human
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.
Olric Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service. With
The implementation of Persian (Solar Hijri) Calendar in Go
Go Persian Calendar Go Persian Calendar provides functionality for conversion among Persian (Solar Hijri) and Gregorian calendars. A Julian calendar i
Golang Cache component - Multiple drivers
Cachego Simple interface for caching Installation Cachego requires Go 1.13 or later. go get github.com/faabiosr/cachego Usage package main import (
Go Redis Client
xredis Built on top of github.com/garyburd/redigo with the idea to simplify creating a Redis client, provide type safe calls and encapsulate the low l
A rudimentary implementation of a basic document (NoSQL) database in Go
tiedot Documentation Keywords: Golang, go, document database, NoSQL, JSON tiedot - Your NoSQL database powered by Golang tiedot is a document database
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
groupcache Summary groupcache is a distributed caching and cache-filling library, intended as a replacement for a pool of memcached nodes in many case
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
go-cache go-cache is an in-memory key:value store/cache similar to memcached that is suitable for applications running on a single machine. Its major
Cache library for golang. It supports expirable Cache, LFU, LRU and ARC.
GCache Cache library for golang. It supports expirable Cache, LFU, LRU and ARC. Features Supports expirable Cache, LFU, LRU and ARC. Goroutine safe. S
Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead
fastcache - fast thread-safe inmemory cache for big number of entries in Go Features Fast. Performance scales on multi-core CPUs. See benchmark result
:handbag: Cache arbitrary data with an expiration time.
cache Cache arbitrary data with an expiration time. Features 0 dependencies About 100 lines of code 100% test coverage Usage // New cache c := cache.N
Efficient cache for gigabytes of data written in Go.
BigCache Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on hea
Eventually consistent distributed in-memory cache Go library
bcache A Go Library to create distributed in-memory cache inside your app. Features LRU cache with configurable maximum keys Eventual Consistency sync
HyperLogLog and HyperLogLog++ implementation in Go/Golang.
HyperLogLog and HyperLogLog++ Implements the HyperLogLog and HyperLogLog++ algorithms. HyperLogLog paper: http://algo.inria.fr/flajolet/Publications/F
A simple Bloom Filter implementation in Go
This is a simple Bloom filter implementation written in Go. For the theory behind Bloom filters, read http://en.wikipedia.org/wiki/Bloom_filter This
An yet-another red-black tree implementation, with a C++ STL-like API.
A red-black tree with an API similar to C++ STL's. INSTALLATION go get github.com/yasushi-saito/rbtree EXAMPLE More examples can be fou
gtreap is an immutable treap implementation in the Go Language
gtreap gtreap is an immutable treap implementation in the Go Language Overview gtreap implements an immutable treap data structure in golang. By treap
Golang implementation of Radix trees
go-radix Provides the radix package that implements a radix tree. The package only provides a single Tree implementation, optimized for sparse nodes.
A Left-Leaning Red-Black (LLRB) implementation of balanced binary search trees for Google Go
GoLLRB GoLLRB is a Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees in Go Language. Overview As of this writing and to
A slice-based implementation of a stack. In Go!
Stackgo Stackgo is a slice-based implementation of a simple stack in Go. It uses a pre-alloc pagination strategy which adds little memory overhead to
Go Library [DEPRECATED]
Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell
An in-memory string-interface{} map with various expiration options for golang
TTLCache - an in-memory cache with expiration TTLCache is a simple key/value cache in golang with the following functions: Expiration of items based o
A Go library for an efficient implementation of a skip list: https://godoc.org/github.com/MauriceGit/skiplist
Fast Skiplist Implementation This Go-library implements a very fast and efficient Skiplist that can be used as direct substitute for a balanced tree o
A simple Set data structure implementation in Go (Golang) using LinkedHashMap.
Set Set is a simple Set data structure implementation in Go (Golang) using LinkedHashMap. This library allow you to get a set of int64 or string witho
Package ring provides a high performance and thread safe Go implementation of a bloom filter.
ring - high performance bloom filter Package ring provides a high performance and thread safe Go implementation of a bloom filter. Usage Please see th
Cache Slow Database Queries
Cache Slow Database Queries This package is used to cache the results of slow database queries in memory or Redis. It can be used to cache any form of
A prefix tree implementation in go
Trie (Prefix tree) This library is compatible with Go 1.11+ Please refer to CHANGELOG.md if you encounter breaking changes. Motivation Introduction Us
A Merkle Tree implementation written in Go.
Merkle Tree in Golang An implementation of a Merkle Tree written in Go. A Merkle Tree is a hash tree that provides an efficient way to verify the cont
Go implementation to calculate Levenshtein Distance.
levenshtein Go package to calculate the Levenshtein Distance The library is fully capable of working with non-ascii strings. But the strings are not n
Go implementation of C++ STL iterators and algorithms.
iter Go implementation of C++ STL iterators and algorithms. Less hand-written loops, more expressive code. README translations: 简体中文 Motivation Althou
A skip list implementation in Go
About This is a library implementing skip lists for the Go programming language (http://golang.org/). Skip lists are a data structure that can be used
Set is a useful collection but there is no built-in implementation in Go lang.
goset Set is a useful collection but there is no built-in implementation in Go lang. Why? The only one pkg which provides set operations now is golang
☔️ A complete Go cache library that brings you multiple ways of managing your caches
Gocache Guess what is Gocache? a Go cache library. This is an extendable cache library that brings you a lot of features for caching data. Overview He
Fast in-memory key:value store/cache with TTL
MCache library go-mcache - this is a fast key:value storage. Its major advantage is that, being essentially a thread-safe . map[string]interface{} wit
A Go implementation of the Elias-Fano encoding
go-ef A Go implementation of the Elias-Fano encoding Example package main import ( "fmt" "github.com/amallia/go-ef" "os" ) func main() {
Go implementation of Count-Min-Log
Count-Min-Log Count-Min-Log sketch: Approximately counting with approximate counters - Guillaume Pitel & Geoffroy Fouquier TL;DR: Count-Min-Log Sketch
Go implementation of SipHash-2-4, a fast short-input PRF created by Jean-Philippe Aumasson and Daniel J. Bernstein.
SipHash (Go) Go implementation of SipHash-2-4, a fast short-input PRF created by Jean-Philippe Aumasson and Daniel J. Bernstein (http://131002.net/sip
An implementation of JOSE standards (JWE, JWS, JWT) in Go
Go JOSE Package jose aims to provide an implementation of the Javascript Object Signing and Encryption set of standards. This includes support for JSO
Go implementation of BLAKE2 (b) cryptographic hash function (optimized for 64-bit platforms).
Go implementation of BLAKE2b collision-resistant cryptographic hash function created by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, an
Native LZO implementation in Go
go-lzo Native LZO1X implementation in Golang This code has been written using the original LZO1X source code as a reference, to study and understand t
Go implementation of the XDG Base Directory Specification and XDG user directories
xdg Provides an implementation of the XDG Base Directory Specification. The specification defines a set of standard paths for storing application file
go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config
HOCON (Human-Optimized Config Object Notation) Configuration library for working with the Lightbend's HOCON format. HOCON is a human-friendly JSON sup
Pure Go termbox implementation
IMPORTANT This library is somewhat not maintained anymore. But I'm glad that it did what I wanted the most. It moved people away from "ncurses" mindse
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
groupcache Summary groupcache is a distributed caching and cache-filling library, intended as a replacement for a pool of memcached nodes in many case
LevelDB style LRU cache for Go, support non GC object.
Go语言QQ群: 102319854, 1055927514 凹语言(凹读音“Wa”)(The Wa Programming Language): https://github.com/wa-lang/wa LRU Cache Install go get github.com/chai2010/c
A golang implementation of a console-based trading bot for cryptocurrency exchanges
Golang Crypto Trading Bot A golang implementation of a console-based trading bot for cryptocurrency exchanges. Usage Download a release or directly bu
OAuth 1.0 implementation in go (golang).
OAuth 1.0 Library for Go (If you need an OAuth 2.0 library, check out: https://godoc.org/golang.org/x/oauth2) Developing your own apps, with this libr
OAuth 1.0a implementation in Go
Package oauth1a Summary An implementation of OAuth 1.0a in Go1. API reference Installing Run: go get github.com/kurrik/oauth1a Include in your source
[NO LONGER MAINTAINED} oauth 2 server implementation in Go
hero hero is a feature rich oauth 2 server implementation in Go. Features User account management Client management oauth 2 rfc 6749 compliant Configu
s3fs provides a S3 implementation for Go1.16 filesystem interface.
S3 FileSystem (fs.FS) implementation.Since S3 is a flat structure, s3fs simulates directories by using prefixes and "/" delim. ModTime on directories is always zero value.
Platform-Agnostic Security Tokens implementation in GO (Golang)
Golang implementation of PASETO: Platform-Agnostic Security Tokens This is a 100% compatible pure Go (Golang) implementation of PASETO tokens. PASETO
Golang implementation of JSON Web Tokens (JWT)
jwt-go A go (or 'golang' for search engine friendliness) implementation of JSON Web Tokens NEW VERSION COMING: There have been a lot of improvements s
This is an implementation of JWT in golang!
jwt This is a minimal implementation of JWT designed with simplicity in mind. What is JWT? Jwt is a signed JSON object used for claims based authentic
goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang.
goRBAC goRBAC provides a lightweight role-based access control implementation in Golang. For the purposes of this package: * an identity has one or mo
An implementation of JOSE standards (JWE, JWS, JWT) in Go
Go JOSE Package jose aims to provide an implementation of the Javascript Object Signing and Encryption set of standards. This includes support for JSO