Go Libraries for Linux

View 52 business solutions

Browse free open source Go Libraries for Linux and projects below. Use the toggles on the left to filter open source Go Libraries for Linux by OS, license, language, programming language, and project status.

  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 1
    AWS Lambda for Go

    AWS Lambda for Go

    Libraries, samples and tools to help Go developers develop AWS Lambda

    Libraries, samples and tools to help Go developers develop AWS Lambda functions. Libraries, samples, and tools to help Go developers develop AWS Lambda functions. Preparing a binary to deploy to AWS Lambda requires that it is compiled for Linux and placed into a .zip file. Windows developers may have trouble producing a zip file that marks the binary as executable on Linux. To create a .zip that will work on AWS Lambda, the build-lambda-zip tool may be helpful.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 2
    The Go Cloud Development Kit

    The Go Cloud Development Kit

    Library and tools for open cloud development in Go

    The Go Cloud Development Kit (Go CDK) allows Go application developers to seamlessly deploy cloud applications on any combination of cloud providers. It does this by providing stable, idiomatic interfaces for common uses like storage and databases. Think database/sql for cloud products. The project works well with a code generator called Wire. It creates human-readable code that only imports the cloud SDKs for services you use. This allows the Go CDK to grow to support any number of cloud services, without increasing compile times or binary sizes, and avoiding any side effects from init() functions. The Go CDK builds at the latest stable release of Go. Previous Go versions may compile but are not supported.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 3
    cache2go

    cache2go

    Concurrency-safe Go caching library with expiration capabilities

    cache2go is an in-memory caching library for Go that provides a simple and efficient way to store and retrieve data with optional expiration policies. It supports multiple independent cache tables, allowing developers to organize cached data according to different use cases or domains. The library includes features such as automatic expiration, callbacks on data eviction, and thread-safe operations for concurrent environments. It is designed to be easy to integrate into Go applications, offering a straightforward API for common caching tasks. cache2go can help improve performance by reducing the need for repeated computations or database queries. It also provides flexibility in managing cache lifecycles and behaviors. Overall, it is a practical solution for adding caching capabilities to Go applications.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 4
    jvm-mon

    jvm-mon

    Console-based JVM monitoring tool

    Console-based JVM monitoring - when you just want to SSH into a server and see what’s going on. jvm-top lets you monitor your JVM server applications from the terminal.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Full-stack observability with actually useful AI | Grafana Cloud Icon
    Full-stack observability with actually useful AI | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • 5
    koanf

    koanf

    Simple, lightweight, extensible, configuration management library

    koanf (pronounced conf; a play on the Japanese Koan) is a library for reading configurations from different sources in different formats in Go applications. It is a cleaner, lighter alternative to spf13/viper with better abstractions and extensibility, and fewer dependencies. koanf comes with built-in support for reading configuration from files, command line flags, and environment variables, and can parse JSON, YAML, TOML, and Hashicorp HCL. Any external dependencies are detached from the core into sub-packages, so only the ones that are explicitly referenced get compiled into an application. Once loaded into koanf, configuration are values queried by a delimited key path syntax. eg: app.server.port. Any delimiter can be chosen. Configuration from multiple sources can be loaded and merged into a koanf instance, for example, load from a file first and override certain values with flags from the command line.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 6
    lancet

    lancet

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

    Lancet is a comprehensive, efficient, and reusable util function library of go. Inspired by the java apache common package and lodash.js. support 600+ go util functions. includes string, slice, datetime, net, crypto, concurrency, etc. Each module is designed as a package with no coupling between modules. Only depends on two kinds of libraries, go standard library and golang.org/x. Well structured, test for every exported function.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    retry

    retry

    Simple golang library for retry mechanism

    Simple library for retry mechanism. Context allow to set context of retry default are Background context. Return the direct last error that came from the retried function default is false (return wrapped errors with everything) WithTimer provides a way to swap out timer module implementations. This primarily is useful for mocking/testing, where you may not want to explicitly wait for a set duration for retries. DelayTypeFunc is called to return the next delay to wait after the retriable function fails on err after n attempts. FixedDelay is a DelayType that keeps delay the same through all iterations. DelayTypeFunc accepts a new parameter err - this breaking change affects only your custom Delay Functions. RetryIf controls whether a retry should be attempted after an error (assuming there are any retry attempts remaining).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    smartcrop

    smartcrop

    smartcrop finds good image crops for arbitrary crop sizes

    smartcrop is an image processing library that automatically crops images to focus on the most visually important regions using content-aware algorithms. It analyzes images to detect areas of interest such as faces, edges, and high-contrast regions, ensuring that the cropped output retains meaningful content. The library is particularly useful for generating thumbnails or resizing images while preserving key visual elements. It supports different aspect ratios and can be customized to prioritize certain features depending on the use case. smartcrop is designed to be efficient and easy to integrate into applications that require automated image processing. It can be used in web services, content management systems, or media pipelines. Overall, smartcrop provides an intelligent approach to image cropping that improves visual quality.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    unioffice

    unioffice

    Pure go library for creating and processing Office Word documents

    unioffice is a library for creation of Office Open XML documents (.docx, .xlsx and .pptx). Its goal is to be the most compatible and highest-performance Go library for the creation and editing of docx/xlsx/pptx files. Every release of our libraries is automatically tested against known vulnerabilities and do not pass unless everything is remediated. All changes are carefully reviewed by our team. Our SDKs libraries are flexible and developed to solve common problems. We provide high-level interfaces for common problem-solving and lower-level interfaces for less generic tasks. UniPDF and UniOffice are all in Pure go meaning you can build your applications easily, cross-compile across platforms and enjoy all the advantages of Golang. Our creator package enables you to generate flexible report in lightning speed. Complex reports can be generated in milliseconds, enabling you to create reports at the click of a button.
    Downloads: 1 This Week
    Last Update:
    See Project
  • AI-generated apps that pass security review Icon
    AI-generated apps that pass security review

    Stop waiting on engineering. Build production-ready internal tools with AI—on your company data, in your cloud.

    Retool lets you generate dashboards, admin panels, and workflows directly on your data. Type something like “Build me a revenue dashboard on my Stripe data” and get a working app with security, permissions, and compliance built in from day one. Whether on our cloud or self-hosted, create the internal software your team needs without compromising enterprise standards or control.
    Try Retool free
  • 10
    xdg

    xdg

    Go implementation of the XDG Base Directory Specification

    Provides an implementation of the XDG Base Directory Specification. The specification defines a set of standard paths for storing application files, including data and configuration files. For portability and flexibility reasons, applications should use the XDG-defined locations instead of hardcoding paths. The package also includes the locations of well-known user directories, as well as other common directories such as fonts and applications. The current implementation supports most flavors of Unix, Windows, macOS and Plan 9. On Windows, where XDG environment variables are not usually set, the package uses Known Folders as defaults. Therefore, appropriate locations are used for common folders which may have been redirected.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Amazon EC2 Instance Selector

    Amazon EC2 Instance Selector

    A CLI tool and go library which recommends instance types

    A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory. There are over 270 different instance types available on EC2 which can make the process of selecting appropriate instance types difficult. Instance Selector helps you select compatible instance types for your application to run on. The command-line interface can be passed resource criteria like vcpus, memory, network performance, and much more and then return the available, matching instance types. If you are using spot instances to save on costs, it is a best practice to use multiple instances types within your auto-scaling group (ASG) to ensure your application doesn't experience downtime due to one instance type being interrupted. Instance Selector will help to find a set of instance types that your application can run on.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    BTree implementation for Go

    BTree implementation for Go

    BTree provides a simple, ordered, in-memory data structure for Go

    This package is a high-performance, in-memory B-tree for Go that implements an ordered set/map with efficient insert, delete, and range iteration. It’s parameterized by tree degree so callers can tune cache behavior and memory overhead for their workload. Instead of relying on Go’s built-in maps—which are hash-based and unordered—btree preserves sorted order and provides rich traversal APIs like ascending, descending, and range scans. The implementation favors minimal allocations and locality, making it attractive for indexing, query engines, and caches that need predictable iteration costs. A simple Item interface with a Less method defines ordering, keeping the API small and flexible for custom types. The library includes benchmarks and optional freelists so users can trade memory reuse for speed in hot paths.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Casbin

    Casbin

    An authorization library that supports access control models

    An authorization library that supports access control models like ACL, RBAC, ABAC for Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) and Elixir. In Casbin, an access control model is abstracted into a CONF file based on the PERM metamodel (Policy, Effect, Request, Matchers). So switching or upgrading the authorization mechanism for a project is just as simple as modifying a configuration. Besides memory and file, Casbin policy can be stored into lots of places. Currently, dozens of databases are supported, from MySQL, Postgres, Oracle to MongoDB, Redis, Cassandra, AWS S3. Check the full supported list at: adapters. Casbin is implemented in Golang, Java, PHP and Node.js. All implementations share the same API and behaviors. You can learn Casbin once and use it everywhere. In Casbin, the policy storage is implemented as an adapter(aka middleware for Casbin).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Centrifuge

    Centrifuge

    Real-time messaging library for Go with scalability in mind

    This library has no v1 release, API may change. Before v1 release patch version updates only have backward-compatible changes and fixes, minor version updates can have backward-incompatible API changes. Master branch can have unreleased code. Only two last Go minor versions are officially supported by this library. Centrifuge library is a real-time core of Centrifugo server. It's a general-purpose real-time messaging library for Go programming language. Real-time messaging can help create interactive applications where events are delivered to online users with minimal delay. Chats apps, live comments, multiplayer games, real-time data visualizations, collaborative tools, etc. can all be built on top of Centrifuge library. The library is built on top of efficient client-server protocol schema and exposes various real-time oriented primitives for a developer.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Cloud Foundation Toolkit Project

    Cloud Foundation Toolkit Project

    The Cloud Foundation toolkit provides GCP best practices as code

    Cloud Foundation Toolkit is a best-practices-as-code project intended to help teams build and manage Google Cloud environments in a more standardized, production-ready way. At its core, it combines a comprehensive set of Terraform blueprints with developer tooling that supports the creation and management of those blueprints. The repository is aimed at infrastructure teams that want reusable, policy-aligned starting points instead of assembling foundational cloud environments from scratch every time. Because the included blueprints are described as production-ready and aligned with Google recommendations, the project is particularly useful for organizations establishing landing zones, repeatable environment patterns, and governed infrastructure workflows. The presence of a dedicated CLI also expands the project beyond static modules by giving users tooling support for authoring and operating blueprint-based infrastructure.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    DarwinKit

    DarwinKit

    Native Mac APIs for Go. Previously known as MacDriver

    DarwinKit is a lightweight framework that provides system-level utilities and APIs for macOS and iOS development, allowing deeper interaction with the Darwin operating system.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Dragonboat

    Dragonboat

    A feature complete and high performance multi-group Raft library in Go

    Dragonboat is a high-performance multi-group Raft consensus library in pure Go. Consensus algorithms such as Raft provides fault tolerance by allowing a system to continue to operate as long as the majority of member servers are available. For example, a Raft shard of 5 servers can make progress even if 2 servers fail. It also appears to clients as a single entity with strong data consistency always provided. All Raft replicas can be used to handle read requests for aggregated read throughput. Dragonboat handles all technical difficulties associated with Raft to allow users to just focus on their application domains. It is also very easy to use, our step-by-step examples can help new users to master it in half an hour. Easy to use pure-Go APIs for building Raft based applications. Feature complete and scalable multi-group Raft implementation. Disk based and memory based state machine support. Fully pipelined and TLS mutual authentication support.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Functional programming library golang

    Functional programming library golang

    functional programming library for golang

    This library aims to provide a set of data types and functions that make it easy and fun to write maintainable and testable code in Golang. Write many small, testable, and pure functions, i.e. functions that produce output only depending on their input and that do not execute side effects. Offer helpers to isolate side effects into lazily executed functions (IO). Expose a consistent set of compositions to create new functions from existing ones. For each data type, there exists a small set of composition functions. These functions are called the same across all data types, so you only have to learn a small number of function names. The semantic of functions of the same name is consistent across all data types.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    GCP Config Connector

    GCP Config Connector

    GCP Config Connector, a Kubernetes add-on for managing GCP resources

    GCP Config Connector is a Kubernetes add-on that allows Google Cloud resources to be managed through Kubernetes-style configuration and the cluster API. Its central idea is that infrastructure objects such as Cloud Storage or Cloud Spanner resources can be described declaratively in manifests, after which Config Connector creates or updates the corresponding Google Cloud resources and continuously reconciles them to match the declared state. This makes the project highly valuable for teams practicing GitOps, platform engineering, or Kubernetes-centered operations, because it brings cloud resource management into the same control model used for application deployment. The repository also reflects an active emphasis on resource development and reconciliation reliability, including a newer direct development approach intended to provide a more Kubernetes-native authoring experience.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    GWeb

    GWeb

    Interact with browser from Go. Manually crafted WebAPI interoperation

    gweb, strictly typed WebAPI library on top of syscall/js. Like flow or TypeScript but for Go. You need it if you want to interact with the browser from the wasm-compiled Go program. The library provides only useful methods and attributes from WebAPI. No obsolete and deprecated methods, no experimental APIs that are only supported by a few engines. Only what we really need right now. WebAPI has a long history of incremental changes and spaces for unimplemented dreams. However, we can see the full picture to provide a better experience and more namespaces.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    GXUI

    GXUI

    An experimental Go cross platform UI library

    GXUI is an experimental, cross-platform GUI toolkit for Go that explored what a modern, GPU-accelerated desktop UI could look like for the language. It provided a set of widgets, layout containers, and event models that ran on Windows, macOS, and Linux, targeting a single Go API surface. Rendering was driven by a graphics backend so that animations, text, and compositing could be smooth without relying on heavyweight native bindings. The library encouraged idiomatic Go patterns—composition and interfaces—while offering a retained-mode tree of views for common desktop interactions. Although the project is no longer actively developed, it remains a reference for how to bridge Go’s concurrency model with UI event loops and rendering pipelines. Developers still look to it for examples of input handling, focus management, and custom drawing in pure Go environments.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    Go + hardware

    Go + hardware

    A directory of hardware related libs, tools, and tutorials for Go

    Go + hardware is a curated directory of libraries, tools, and tutorials that help developers use the Go programming language in hardware and embedded systems projects. Rather than being a single runtime library, the repository serves as a knowledge hub that aggregates resources for interacting with sensors, boards, and low-level devices using Go. It highlights Go’s cross-compilation capabilities and concurrency primitives, which are advantageous when building networked devices or controllers. The project is especially valuable for engineers exploring Go in IoT, robotics, or single-board computer environments. By organizing ecosystem resources in one place, it lowers the barrier to entry for hardware experimentation with Go. Overall, go-hardware functions as both a roadmap and reference point for developers bridging software and physical computing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Go Container Registry

    Go Container Registry

    Go library and CLIs for working with container registries

    go-containerregistry is a Go library (with companion tools) for interacting with container images and registries using OCI/Docker formats. It provides primitives to read, write, mutate, sign, and copy images and indexes across registries without shelling out to Docker. High-level utilities like crane and gcrane offer convenient CLIs for everyday tasks—listing tags, copying images between registries, flattening, creating tarballs, and more. The library handles authentication via a pluggable keychain system that understands Docker config files, credential helpers, and environment credentials. It understands multiple on-disk layouts (tarball, OCI layout, remote) and lets you transform images in memory by adding or rebasing layers, adjusting config, and annotating manifests. Because everything is regular Go code, it’s straightforward to embed in CI/CD systems, policy engines, and bespoke supply-chain tooling.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    Go Examples

    Go Examples

    Go(lang) examples

    Now with an online live editor with Golang support. Try out and edit the examples directly in the browser. These examples explain the basics of Golang. There will be more examples from time to time. The examples are divided into three levels of difficulty. The Beginner section contains very easy examples, starting with Hello World but also containing a few easy algorithms. The Advanced section uses more complicated features of Golang. Finally, the Expert section contains applications like telnet-clients or http-server (even with SSL). If you want even more Golang examples, you can take a look at my other go repositories at GitHub. To execute a Golang program, write go run at the cli followed by the name of the file. You also can convert the file to a binary executable program by the command go build. One great aspect of Golang is, that you can start go applications via go run name.go, but also compile it to an executable with go build name.go.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Go Katas

    Go Katas

    A collection of daily coding challenges

    Go Katas is a curated collection of practice exercises and coding challenges specifically crafted to improve proficiency in Go, including idiomatic patterns, language fundamentals, and algorithm design. It mirrors the kata practice tradition from martial arts—repetitive, thoughtful practice where each exercise reinforces technique, discipline, and problem-solving approach. Each kata prompt focuses on a precise aspect of Go, such as concurrency patterns, memory management, interfaces, error handling, or performance optimization, giving learners structured practice opportunities that go beyond syntax. Implementations can be tested locally, graded automatically with included test suites, and iterated on so that learners get rapid feedback and measurable progress. Because Go is widely used for backend services, cloud tooling, and systems programming, this repository helps participants build confidence in writing reliable, idiomatic, and maintainable code in real environments.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB