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.

  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Try 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
    go-socket.io

    go-socket.io

    socket.io library for golang, a realtime application framework

    go-socket.io is the library implementation of Socket.IO in Golang, which is a real-time application framework. Current this library supports 1.4 version of the Socket.IO client. It supports room, namespaces and broadcast at now. This project is looking for contributors to help fix bugs and implement new features.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    gokv

    gokv

    Simple key-value store abstraction and implementations for Go

    Simple key-value store abstraction and implementations for Go. Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB, and many more. There are detailed descriptions of the methods in the docs and in the code. You should read them if you plan to write your own gokv.Store implementation or if you create a Go package with a method that takes a gokv.Store as a parameter, so you know exactly what happens in the background.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    gon

    gon

    Sign, notarize, and package macOS CLI tools and applications

    gon is a simple, no-frills tool for signing and notarizing your CLI binaries for macOS. gon is available as a CLI that can be run manually or in automation pipelines. It is also available as a Go library for embedding in projects written in Go. gon can sign and notarize binaries written in any language. Beginning with macOS Catalina (10.15), Apple is requiring all software distributed outside of the Mac App Store to be signed and notarized. Software that isn't properly signed or notarized will be shown an error message with the only actionable option being to "Move to Bin". The software cannot be run even from the command-line. The workarounds are painful for users. gon helps you automate the process of notarization.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    gopkg

    gopkg

    Example for the go pkg's function

    gopkg is a large community-driven repository of examples for Go’s standard library packages, created to fill the gap left by the relatively sparse official examples. The project organizes content so that each package has its own directory and each function within that package gets its own Markdown file with code examples. The idea is that developers can quickly look up “how do I actually use this function?” without digging through source code or scattered blog posts. The maintainer provides conventions for naming and formatting, and requires that submitted examples compile and run locally or on the Go Playground, which helps keep the collection reliable. A todo.md file coordinates contributions so collaborators do not duplicate work, and there is an associated chat group for discussion. Overall, gopkg acts like a practical cookbook or living “examples companion” for the Go standard library.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try Free
  • 5
    goqu

    goqu

    SQL builder and query library for golang

    SQL builder and query library for golang. goqu is an expressive SQL builder and executor. Query builder, parameter interpolation (e.g SELECT * FROM "items" WHERE "id" = ? -> SELECT * FROM "items" WHERE "id" = 1). Built from the ground up with multiple dialects in mind. Insert, multi insert, update, and delete support. Scanning of rows to struct[s] or primitive value[s]. While goqu may support the scanning of rows into structs it is not intended to be used as an ORM if you are looking for common ORM features like associations, or hooks I would recommend looking at some of the great ORM libraries. The test suite requires a postgres, mysql and sqlserver databases.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    goquery

    goquery

    A little like that j-thing, only in Go

    goquery brings a syntax and a set of features similar to jQuery to the Go language. It is based on Go's net/HTML package and the CSS Selector library Cascadia. Since the net/html parser returns nodes, and not a full-featured DOM tree, jQuery's stateful manipulation functions (like height(), css(), and detach()) have been left off. Also, because the net/HTML parser requires UTF-8 encoding, so does goquery: it is the caller's responsibility to ensure that the source document provides UTF-8 encoded HTML. See the wiki for various options to do this. Syntax-wise, it is as close as possible to jQuery, with the same function names when possible, and that warm and fuzzy chainable interface. jQuery being the ultra-popular library that it is, I felt that writing a similar HTML-manipulating library was better to follow its API than to start anew (in the same spirit as Go's fmt package), even though some of its methods are less than intuitive (looking at you, index()...).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    ishell

    ishell

    Library for creating interactive cli applications

    ishell is an interactive shell library for creating interactive cli applications. In some situations it is desired to exit the program directly after executing a single command. ishell is in active development and can still change significantly. Library for creating interactive cli applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    kafka-go

    kafka-go

    Kafka library in Go

    We rely on both Go and Kafka a lot at Segment. Unfortunately, the state of the Go client libraries for Kafka at the time of this writing was not ideal. sarama, which is by far the most popular but is quite difficult to work with. It is poorly documented, the API exposes low level concepts of the Kafka protocol, and it doesn't support recent Go features like contexts. It also passes all values as pointers which causes large numbers of dynamic memory allocations, more frequent garbage collections, and higher memory usage. confluent-kafka-go is a cgo based wrapper around librdkafka, which means it introduces a dependency to a C library on all Go code that uses the package. It has much better documentation than sarama but still lacks support for Go contexts. goka is a more recent Kafka client for Go which focuses on a specific usage pattern. It provides abstractions for using Kafka as a message passing bus between services rather than an ordered log of events.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    lo

    lo

    A Lodash-style Go library based on Go 1.18+ Generics

    Samber/lo is a Lodash-style Go library based on Go 1.18+ Generics. This project started as an experiment with the new generics implementation. It may look like Lodash in some aspects. I used to code with the fantastic "go-funk" package, but "go-funk" uses reflection and therefore is not typesafe. As expected, benchmarks demonstrate that generics are much faster than implementations based on the "reflect" package. Benchmarks also show similar performance gains compared to pure for loops. In the future, 5 to 10 helpers will overlap with those coming into the Go standard library (under package names slices and maps). I feel this library is legitimate and offers many more valuable abstractions.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • 10
    migrate Database

    migrate Database

    Database migrations. CLI and Golang library

    Database migrations written in Go. Use as CLI or import as a library.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    mo - Monads

    mo - Monads

    Monads and popular FP abstractions, powered by Go 1.18+ Generics

    mo - Monads is a functional programming utility library for Go that introduces monads and related abstractions using modern Go generics. The project brings well-known FP constructs such as Option, Result, Either, Future, IO, and Task into the Go ecosystem to help developers write safer and more composable code. By leveraging generics introduced in Go 1.18+, the library provides strong type safety without relying on reflection or code generation. It is particularly useful for managing nullable values, error propagation, asynchronous workflows, and functional pipelines in a predictable way. The design draws inspiration from languages like Scala, Rust, and TypeScript FP libraries, making it familiar to developers with functional backgrounds. Overall, samber/mo enables a more declarative and expressive programming style in Go while remaining lightweight and dependency-free.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    sarama

    sarama

    Sarama is a Go library for Apache Kafka 0.8, and up

    Sarama is an MIT-licensed Go client library for Apache Kafka version 0.8 (and later). API documentation and examples are available via godoc. Sarama provides a “2 releases + 2 months” compatibility guarantee: we support the two latest stable releases of Kafka and Go, and we provide a two month grace period for older releases. This means we currently officially support Go 1.12 through 1.14, and Kafka 2.1 through 2.4, although older releases are still likely to work. Sarama follows semantic versioning and provides API stability via the gopkg.in service. You can import a version with a guaranteed stable API.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    spaGO

    spaGO

    Self-contained Machine Learning and Natural Language Processing lib

    A Machine Learning library written in pure Go designed to support relevant neural architectures in Natural Language Processing. Spago is self-contained, in that it uses its own lightweight computational graph both for training and inference, easy to understand from start to finish. The core module of Spago relies only on testify for unit testing. In other words, it has "zero dependencies", and we are committed to keeping it that way as much as possible. Spago uses a multi-module workspace to ensure that additional dependencies are downloaded only when specific features (e.g. persistent embeddings) are used. A good place to start is by looking at the implementation of built-in neural models, such as the LSTM. Except for a few linear algebra operations written in assembly for optimal performance (a bit of copying from Gonum), it's straightforward Go code, so you don't have to worry.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    the-way-to-go_ZH_CN

    the-way-to-go_ZH_CN

    The Chinese translation of "The Way to Go" Guide

    the-way-to-go_ZH_CN is the Chinese translation of the Go programming book The Way to Go, known as (“Go Introduction Guide”). The translator, along with a team of contributors, created this project to make a high-quality Go learning resource accessible to Chinese readers who might struggle with English-language books. The README explains that the original author, Ivo Balbaert, granted authorization for the translation and even for updating certain content to match newer Go versions. The repository is structured like a full book: there are directories for cover and eBook materials, a table of contents file (TOC.md), configuration for building, and the chapters themselves in Markdown. It also documents translation progress, acknowledges all translators and reviewers by handle, and explains how new contributors can help correct or extend the text.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    unipdf

    unipdf

    Golang PDF library for creating and processing PDF files (pure go)

    UniDoc UniPDF is a PDF library for Go (golang) with capabilities for creating and reading, processing PDF files. The library is written and supported by FoxyUtils.com, where the library is used to power many of its services. 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.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    websocket for Go

    websocket for Go

    Minimal and idiomatic WebSocket library for Go

    websocket is a minimal and idiomatic WebSocket library for Go. Minimal and idiomatic API. First class context.Context support. Fully passes the WebSocket autobahn-testsuite. Single dependency. JSON and protobuf helpers in the wsjson and wspb subpackages. Zero alloc reads and writes. Concurrent writes. Close handshake. net.Conn wrapper. Ping pong API. RFC 7692 permessage-deflate compression. Compile to Wasm. Transparent message buffer reuse with wsjson and wspb subpackages. Gorilla writes directly to a net.Conn and so duplicates features of net/http.Client. Gorilla requires registering a pong callback before sending a Ping. Compare godoc of nhooyr.io/websocket with gorilla/websocket side by side. Will enable easy HTTP/2 support in the future.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    ws

    ws

    Tiny WebSocket library for Go

    Zero-copy upgrade. No intermediate allocations during I/O. Low-level API which allows building your own logic of packet handling and buffers reuse. High-level wrappers and helpers around API in wsutil package, which allow to start fast without digging the protocol internals. Existing WebSocket implementations do not allow users to reuse I/O buffers between connections in clear way. This library aims to export efficient low-level interface for working with the protocol without forcing only one way it could be used. Library is tagged as v1* so its API must not be broken during some improvements or refactoring. Example applications using ws are developed in separate repository ws-examples. We can apply the same pattern to read and write structured responses through a JSON encoder and decoder.Zero-copy upgrade helps to avoid unnecessary allocations and copying while handling HTTP Upgrade request.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    xorm

    xorm

    xorm is a simple and powerful Go language ORM library

    xorm is a simple and powerful Go language ORM library, through which database operations can be made very easy. This library is a customized and enhanced version based on the original xorm, which provides xorm with ibatis-like configuration files and dynamic SQL support, and supports ActiveRecord operations. This library is based on the customized and enhanced version of the original xorm. Since this customized version has third-party library dependencies (the original version of xorm does not have any third-party library dependencies), the original version of xorm must maintain The third-party library has zero dependencies, so I had to open this Github library separately. The relevant customization functions of this library are developed to solve simpler complex SQL calls and some special business requirements scenarios. The core functions of this customized version of ORM are consistent with the original version, and will be updated with the original version of xorm.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB