Go Library

Open-source Go projects categorized as Library

Top 23 Go Library Projects

  • badger

    Fast key-value DB in Go.

  • Project mention: Anytype helper crashed | /r/Anytype | 2023-12-09

    github.com/dgraph-io/badger/v3/table.OpenTable(0xc000bb4000, {0x0, 0x1, 0x200000, 0x0, 0x0, 0x3f847ae147ae147b, 0x1000, 0x0, 0x0, ...})

  • go-cache

    An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

  • Project mention: My first package in go. An in-memory cache package useful when creating multiple instances of the cache | /r/golang | 2023-08-18

    Why 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.

  • 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.

    InfluxDB logo
  • go-grpc-middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

  • Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24

    Hello, 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 )

  • Ferret

    Declarative web scraping

  • ristretto

    A high performance memory-bound Go cache

  • Project mention: Otter, Fastest Go in-memory cache based on S3-FIFO algorithm | news.ycombinator.com | 2023-12-23

    1. 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:

  • vugu

    Vugu: A modern UI library for Go+WebAssembly (experimental)

  • Project mention: Dependency Managers Don't Manage Your Dependencies (2021) | news.ycombinator.com | 2023-06-19

    I 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/

  • 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

    SaaSHub logo
  • Pixel

    A hand-crafted 2D game library in Go

  • chroma

    A general purpose syntax highlighter in pure Go (by alecthomas)

  • progressbar

    A really basic thread-safe progress bar for Golang applications

  • Project mention: When creating console based applications how do you replicate the following realtime updates: | /r/golang | 2023-12-07

    For 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:

  • lancet

    A comprehensive, efficient, and reusable util function library of Go.

  • Project mention: Show HN: A comprehensive, efficient, and reusable util function library of Go | news.ycombinator.com | 2024-02-20
  • gorequest

    GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )

  • fosite

    Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.

  • Project mention: Golang library for AuthN/AuthZ | /r/golang | 2023-06-06

    You can take a look to https://github.com/ory/fosite

  • go-daemon

    A library for writing system daemons in golang.

  • litter

    Litter is a pretty printer library for Go data structures to aid in debugging and testing.

  • fp-go

    functional programming library for golang (by IBM)

  • Project mention: IBM/fp-go: functional programming library for golang | /r/functionalprogramming | 2023-08-19
  • oidc

    Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation

  • Project mention: Easy to use OpenID Connect client and server library written for Go | /r/hackernews | 2023-12-04
  • M3U8

    Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema: (by grafov)

  • auth

    Authenticator via oauth2, direct, email and telegram (by go-pkgz)

  • Project mention: How to build Auth in 2023 with go? | /r/golang | 2023-05-31
  • machineid

    Get the unique machine id of any host (without admin privileges)

  • Project mention: NPM won't publish packages containing the word keygen | news.ycombinator.com | 2023-06-14

    Why 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

  • graph

    Graph algorithms and data structures (by yourbasic)

  • 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)

  • Project mention: Map of Golang Key Value Engines | news.ycombinator.com | 2024-01-21

    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

  • grabana

    User-friendly Go library for building Grafana dashboards

  • Project mention: Write Grafana dashboards in Python, without losing thousands of dashboards in the zoo | /r/kubernetes | 2023-07-11

    How does it compare to grafanalib (Python) or grabana (Go)?

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Library related posts

  • Anytype helper crashed

    1 project | /r/Anytype | 9 Dec 2023
  • IBM/fp-go: functional programming library for golang

    1 project | /r/functionalprogramming | 19 Aug 2023
  • My first package in go. An in-memory cache package useful when creating multiple instances of the cache

    2 projects | /r/golang | 18 Aug 2023
  • Release #golang share v0.47.0

    1 project | /r/kilabit | 4 Jun 2023
  • What would be some database with extreme raw performance? (details in)

    1 project | /r/Database | 25 May 2023
  • The Power Of Golang's Decorator Pattern

    1 project | /r/golang | 29 Apr 2023
  • Theine - High performance in-memory cache

    2 projects | /r/golang | 11 Apr 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 4 May 2024
    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 →

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com