Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Go Library Projects
-
go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
pterm
✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
oidc
Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
-
M3U8
Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema: (by grafov)
-
gokv
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
github.com/dgraph-io/badger/v3/table.OpenTable(0xc000bb4000, {0x0, 0x1, 0x200000, 0x0, 0x0, 0x3f847ae147ae147b, 0x1000, 0x0, 0x0, ...})
Project mention: My first package in go. An in-memory cache package useful when creating multiple instances of the cache | /r/golang | 2023-08-18Why I am creating this package? There is an already existing memory cache package which creates (One Janitor for One Cache) So I am running into issues where many go routines are running in our use cases causing the application to crash due to some memory leakage in the library itself or maybe multiple timers running at same time casuing the issue. Also this is a very popular github library but just doesn't fits when I am creating many cache instances. So thought about creating one package by myself.
Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24Hello, Those interviews are even crazy for internship. Anyway 1. Try to find a simple CRUD example online. You can check [this](https://tutorialedge.net/golang/go-grpc-beginners-tutorial/) 2. For logging you can check [go-grpc-middleware](https://github.com/grpc-ecosystem/go-grpc-middleware) 3. You can grpc-gateway in case they want some REST endpoints too 4. Use base62 to encode your url. So at least 2 columns in your table **shortenedUrl** and **url** 5. For such a project no need to use an ORM ( it's not advised anyway ). Implement 2 functions, one to insert into the db and the other one to read from the db. Remember to use transaction though 5. For unit tests go with the standard library and mock the 2 functions ( erroneous and valid cases )
Project mention: Otter, Fastest Go in-memory cache based on S3-FIFO algorithm | news.ycombinator.com | 2023-12-231. Unfortunately, ristretto has been showing hit ratio around 0 on almost all traces for a very long time now and the authors don't respond to this in any way. Vitess for example has already changed it to another cache. Here are two issues about it: https://github.com/dgraph-io/ristretto/issues/346 and https://github.com/dgraph-io/ristretto/issues/336. That is, ristretto shows such results even on its own benchmarks. You can see it just by running hit ratio benchmarks on a very simple zipf distribution from the ristretto repository: https://github.com/dgraph-io/ristretto/blob/main/stress_test.... On this test I got the following:
Project mention: Dependency Managers Don't Manage Your Dependencies (2021) | news.ycombinator.com | 2023-06-19I can't share any of my own examples, but most of the work I do was originally based on Vugu[0] which is open source. It is loosely modelled on Vue, so template files have both HTML and Go source (for the view / front end / ui handling) in the one file.[1] The code I have written has since diverged a bit from Vugu but at its core it's handled the same way.
People are still working on Vugu (you can check the issues / branches) but there hasn't been a new release in a while; it's still somewhat experimental.
[0] https://www.vugu.org/
Project mention: When creating console based applications how do you replicate the following realtime updates: | /r/golang | 2023-12-07For example, https://github.com/schollz/progressbar seems to be a common implementation. You can see in the code that the package clears the current line each time before it writes the new rendered progress bar:
Project mention: Show HN: A comprehensive, efficient, and reusable util function library of Go | news.ycombinator.com | 2024-02-20
You can take a look to https://github.com/ory/fosite
Project mention: IBM/fp-go: functional programming library for golang | /r/functionalprogramming | 2023-08-19
Project mention: Easy to use OpenID Connect client and server library written for Go | /r/hackernews | 2023-12-04
Project mention: NPM won't publish packages containing the word keygen | news.ycombinator.com | 2023-06-14Why would you want to scroll horizontally? Or are you referring to the code samples? It's only a code "sample" (i.e. non-working just to show off the platform), so fingerprint would likely come from something like https://github.com/denisbrodbeck/machineid. Full examples are available in the Go SDK docs [^0].
[^0]: https://github.com/keygen-sh/keygen-go
Really great overview!
I've been tracking some of them for a while as part of evaluating which ones to add to my key-value abstraction library gokv [1], but others only noticed recently. It's really interesting that there's no single most popular implementation, but new ones emerging and gaining popularity regularly.
[1] https://github.com/philippgille/gokv
Project mention: Write Grafana dashboards in Python, without losing thousands of dashboards in the zoo | /r/kubernetes | 2023-07-11How does it compare to grafanalib (Python) or grabana (Go)?
Go Library related posts
-
Anytype helper crashed
-
IBM/fp-go: functional programming library for golang
-
My first package in go. An in-memory cache package useful when creating multiple instances of the cache
-
Release #golang share v0.47.0
-
What would be some database with extreme raw performance? (details in)
-
The Power Of Golang's Decorator Pattern
-
Theine - High performance in-memory cache
-
A note from our sponsor - InfluxDB
www.influxdata.com | 4 May 2024
Index
What are some of the best open-source Library projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | badger | 13,397 |
2 | go-cache | 7,839 |
3 | go-grpc-middleware | 6,058 |
4 | Ferret | 5,620 |
5 | ristretto | 5,321 |
6 | vugu | 4,767 |
7 | pterm | 4,556 |
8 | Pixel | 4,405 |
9 | chroma | 4,190 |
10 | progressbar | 3,830 |
11 | lancet | 3,695 |
12 | gorequest | 3,392 |
13 | fosite | 2,253 |
14 | go-daemon | 2,074 |
15 | litter | 1,491 |
16 | fp-go | 1,497 |
17 | oidc | 1,194 |
18 | M3U8 | 1,166 |
19 | auth | 920 |
20 | machineid | 904 |
21 | graph | 686 |
22 | gokv | 669 |
23 | grabana | 646 |
Sponsored