Go Library

Open-source Go projects categorized as Library

Top 23 Go Library Projects

  • badger

    Fast key-value DB in Go.

    Project mention: What would be some database with extreme raw performance? (details in) | reddit.com/r/Database | 2023-05-25
  • go-cache

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

    Project mention: VCache vs Go-Cache | reddit.com/r/golang | 2023-02-04

    I wrote a new library called VCache (https://github.com/microup/vcache). VCahce differs from go-cache (https://github.com/patrickmn/go-cache) by using a key of type "any" instead of a key of type "string". I compared the performance of both libraries on the main operations: Add, Get, and Delete.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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. | reddit.com/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: Theine - High performance in-memory cache | reddit.com/r/golang | 2023-04-11

    I also do some hit ratio benchmarks and Theine's results are much better than Ristretto. See results in README: https://github.com/Yiling-J/theine-go#hit-ratios

  • vugu

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

    Project mention: GoLang — Simplifying Complexity “The Beginning” | dev.to | 2023-05-27

    . Web backend (with various frameworks available) . Web Assembly (one of them is vugu framework) . Microservices (some frameworks: Go Micro, Go Kit, Gizmo, Kite) . Fragments services (Term mentioned by @jeffotoni in a microservices discussion group) . Lambdas (FaaS example) . Client Server . Terminal applications (using the tview lib) . IoT (some frameworks) . Bots (some here) . Client Applications using Web technology . Desktop using Qt+QML, Native Win Lib (example Qt, Qt widgets, Qml) . Network Applications . Protocol applications . REST Applications . SOAP Applications . GraphQL Applications . RPC Applications . TCP Applications . gRPC Applications . WebSocket Applications . GopherJS (compiles Go to JavaScript)

  • Pixel

    A hand-crafted 2D game library in Go

    Project mention: Installing Pixel library (https://github.com/faiface/pixel) without go get | reddit.com/r/learnprogramming | 2023-03-23

    All tutorials I could find are either outdated or skip over installation, and the https://github.com/faiface/pixel/wiki/Building-Pixel-on-Windows github page is not detailed at all.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • chroma

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

    Project mention: Alternative to Pygments | reddit.com/r/Python | 2023-03-18
  • 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.

    Project mention: PTerm v0.12.58: You can now use beautiful structured logging for your projects! | reddit.com/r/golang | 2023-04-04
  • progressbar

    A really basic thread-safe progress bar for Golang applications

    Project mention: I'm having a hard time understanding GO111MODULE | reddit.com/r/golang | 2022-07-05

    I just want to go to https://github.com/schollz/progressbar and use this repo in my packages - what is the correct way to achieve this?

  • gorequest

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

  • lancet

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

    Project mention: lancet: A powerful utils function lib of go | reddit.com/r/golang | 2022-11-30
  • fosite

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

    Project mention: Are there any OIDC Provider libraries for Golang? | reddit.com/r/golang | 2023-05-15

    Zitadel and Fosite can be used to set up an OIDC provider

  • go-daemon

    A library for writing system daemons in golang.

    Project mention: Please, point out my mistakes | reddit.com/r/golang | 2023-01-25

    also, i would recommend not to use godotenv and leave your .env in the root of the application. i would suggest using docker/docker-compose for this or even a Makefile to load in the env and run the application. Also, if you decide to use docker, i would suggest taking a look at this application, its hot reloading for golang basically https://github.com/sevlyar/go-daemon

  • litter

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

    Project mention: TIL: panic(spew.Sdump(myVar)) | reddit.com/r/golang | 2023-01-10

    I like litter, and I have a simple helper that is effectively:

  • M3U8

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

  • machineid

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

    Project mention: I created a package for getting the native GUID of any device | reddit.com/r/Python | 2022-10-12

    As a Gopher, I've always used and recommended machineid. But there was no equivalent in Python, even though the question comes up all the time. So I wrote a quick semi-port of the machineid package.

  • auth

    Authenticator via oauth2, direct, email and telegram

    Project mention: Simple web app, how to do auth? | reddit.com/r/golang | 2022-11-02

    the simplest sso library I found is https://github.com/go-pkgz/auth

  • graph

    Graph algorithms and data structures (by yourbasic)

    Project mention: graph: A generic Go library for creating graph data structures and performing operations on them. It supports different kinds of graphs such as directed graphs, acyclic graphs, or trees. | reddit.com/r/programming | 2022-07-17

    There's also https://github.com/yourbasic/graph

  • oidc

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

    Project mention: Are there any OIDC Provider libraries for Golang? | reddit.com/r/golang | 2023-05-15

    I started with https://github.com/zitadel/oidc/tree/main/example/server/storage

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

  • grabana

    User-friendly Go library for building Grafana dashboards

  • juniper

    Juniper is an extension to the Go standard library using generics, including containers, iterators, and streams. (by bradenaw)

  • CodiumAI

    TestGPT | Generating meaningful tests for busy devs. Get non-trivial tests (and trivial, too!) suggested right inside your IDE, so you can code smart, create more value, and stay confident when you push.

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). The latest post mention was on 2023-05-27.

Go Library related posts


What are some of the best open-source Library projects in Go? This list will help you:

Project Stars
1 badger 12,256
2 go-cache 7,137
3 go-grpc-middleware 5,433
4 Ferret 5,368
5 ristretto 4,705
6 vugu 4,613
7 Pixel 4,233
8 chroma 3,770
9 pterm 3,763
10 progressbar 3,302
11 gorequest 3,294
12 lancet 2,378
13 fosite 2,079
14 go-daemon 1,940
15 litter 1,416
16 M3U8 1,031
17 machineid 783
18 auth 732
19 graph 641
20 oidc 585
21 gokv 551
22 grabana 537
23 juniper 494
ONLYOFFICE Docs — document collaboration in your environment
Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises