[go: up one dir, main page]

Open Source Go Formats and Protocols

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

  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    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
    pdfcpu

    pdfcpu

    A PDF processor written in Go

    pdfcpu is a PDF processing library written in Go supporting encryption. It provides both an API and a CLI. Supported are all versions up to PDF 1.7 (ISO-32000). This is an effort to build a comprehensive PDF processing library from the ground up written in Go. Over time pdfcpu aims to support the standard range of PDF processing features and also any interesting use cases that may present themselves along the way. The main focus lies on strong support for batch processing and scripting via a rich command line. At the same time pdfcpu wants to make it easy to integrate PDF processing into your Go-based backend system by providing a robust command set. Always make sure your work is based on the latest commit! pdfcpu is still Alpha - bugfixes are committed on the fly and will be mentioned in the next release notes.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 2
    dyff

    dyff

    diff tool for YAML files, and sometimes JSON

    A diff tool for YAML files, and sometimes JSON. dyff is inspired by the way the old BOSH v1 deployment output reported changes from one version to another by only showing the parts of a YAML file that changed. Similar to the standard diff tool, it follows the principle of describing the change by going from the input file to the target to the input file. Input files can be local files (filesystem path), remote files (URI), or the standard input stream (using -).
    Downloads: 9 This Week
    Last Update:
    See Project
  • 3
    XLSX

    XLSX

    Go (golang) library for reading and writing XLSX files

    xlsx is a library to simplify reading and writing the XML format used by recent version of Microsoft Excel in Go programs. Version 3.0.0 introduces some more breaking changes in the API. All methods that can return an `xlsx.File` struct now accept zero, one or many `xlsx.FileOption` functions as their final arguments. These can be used to modify the behavior of the resultant struct, in particular they replace the `…WithRowLimit` variants of those methods with the result of calling `xlsx.RowLimit` and they add the ability to define a custom backing store for the spreadsheet data to be held in whilst processing. The full API docs can be viewed using go’s built in documentation tool.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 4
    Open Policy Agent

    Open Policy Agent

    An open source, general-purpose policy engine

    Policy-based control for cloud-native environments. Flexible, fine-grained control for administrators across the stack. Stop using a different policy language, policy model, and policy API for every product and service you use. Use OPA for a unified toolset and framework for policy across the cloud-native stack. Whether for one service or for all your services, use OPA to decouple policy from the service's code so you can release, analyze, and review policies (which security and compliance teams love) without sacrificing availability or performance.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Simple, Secure Domain Registration Icon
    Simple, Secure Domain Registration

    Get your domain at wholesale price. Cloudflare offers simple, secure registration with no markups, plus free DNS, CDN, and SSL integration.

    Register or renew your domain and pay only what we pay. No markups, hidden fees, or surprise add-ons. Choose from over 400 TLDs (.com, .ai, .dev). Every domain is integrated with Cloudflare's industry-leading DNS, CDN, and free SSL to make your site faster and more secure. Simple, secure, at-cost domain registration.
    Sign up for free
  • 5
    Sonic JSON

    Sonic JSON

    A blazingly fast JSON serializing & deserializing library

    A blazingly fast JSON serializing & deserializing library, accelerated by JIT (just-in-time compiling) and SIMD (single-instruction-multiple-data).
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    CloudRetro

    CloudRetro

    Web-based Cloud Gaming service for Retro Game

    CloudRetro provides an open-source cloud gaming platform for retro games. It started as an experiment for testing cloud gaming performance with WebRTC and Libretro, and now it aims to deliver the most modern and convenient gaming experience through technology. Theoretically, in cloud gaming, games are run on remote servers and media are streamed to the player optimally to ensure the most comfortable user interaction. It opens the ability to play any retro games on a web-browser directly, which are fully compatible with multi-platform like Desktop, Android, IOS. In ideal network condition and less resource contention on servers, the game will run smoothly as in the video demo. Because I only hosted the platform on limited servers in US East, US West, Eu, Singapore, you may experience some latency issues + connection problem. You can try hosting the service following the instruction the next section to have a better sense of performance.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    Miller

    Miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data

    Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed. With Miller, you get to use named fields without needing to count positional indices, using familiar formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed. Then, on the fly, you can add new fields which are functions of existing fields, drop fields, sort, aggregate statistically, pretty-print, and more. Miller operates on key-value-pair data while the familiar Unix tools operate on integer-indexed fields: if the natural data structure for the latter is the array, then Miller's natural data structure is the insertion-ordered hash map. Miller handles a variety of data formats, including but not limited to the familiar CSV, TSV, and JSON/JSON Lines. (Miller can handle positionally-indexed data too!)
    Downloads: 4 This Week
    Last Update:
    See Project
  • 8
    omniparser

    omniparser

    Native Golang ETL streaming parser and transform library

    Omniparser is a native Golang ETL parser that ingests input data of various formats (CSV, txt, fixed length/width, XML, EDI/X12/EDIFACT, JSON, and custom formats) in streaming fashion and transforms data into desired JSON output based on a schema written in JSON.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 9
    jwx

    jwx

    Implementation of various JWx (Javascript Object Signing

    Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. If you are using this module in your product or your company, please add your product and/or company name in the Wiki! It really helps keeping up our motivation. Complete coverage of JWA/JWE/JWK/JWS/JWT, not just JWT+minimum tool set. Supports JWS messages with multiple signatures, both compact and JSON serialization. Supports JWS with detached payload. Supports JWS with unencoded payload (RFC7797). Supports JWE messages with multiple recipients, both compact and JSON serialization. Most operations work with either JWK or raw keys e.g. *rsa.PrivateKey, *ecdsa.PrivateKey, etc). Opinionated, but very uniform API. Everything is symmetric, and follows a standard convention. Arguments are organized as explicit required paramters and optional WithXXXX() style options.
    Downloads: 3 This Week
    Last Update:
    See Project
  • The All-in-One Commerce Platform for Businesses - Shopify Icon
    The All-in-One Commerce Platform for Businesses - Shopify

    Shopify offers plans for anyone that wants to sell products online and build an ecommerce store, small to mid-sized businesses as well as enterprise

    Shopify is a leading all-in-one commerce platform that enables businesses to start, build, and grow their online and physical stores. It offers tools to create customized websites, manage inventory, process payments, and sell across multiple channels including online, in-person, wholesale, and global markets. The platform includes integrated marketing tools, analytics, and customer engagement features to help merchants reach and retain customers. Shopify supports thousands of third-party apps and offers developer-friendly APIs for custom solutions. With world-class checkout technology, Shopify powers over 150 million high-intent shoppers worldwide. Its reliable, scalable infrastructure ensures fast performance and seamless operations at any business size.
    Learn More
  • 10
    webrpc

    webrpc

    webrpc is a schema-driven approach to writing backend services

    webrpc is a schema-driven approach to writing backend servers for the Web. Write your server's API interface in a schema format of RIDL or JSON, and then run webrpc-gen to generate the networking source code for your server and client apps. From the schema, webrpc-gen will generate application-based class types/interfaces, JSON encoders, and networking code. In doing so, it's able to generate fully functioning and typed client libraries to communicate with your server. Enjoy strongly-typed Web services and never have to write an API client library again.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    Gotenberg

    Gotenberg

    A Docker-powered stateless API for PDF files

    Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more! Thanks to Docker, you don't have to install each tool in your environments; drop the Docker image in your stack, and you're good to go! The webhook feature allows you to upload the output file to the destination of your choice. There are many options to fit your requirements, from the custom HTTP headers sent to your webhook to the HTTP method used to call it. Gotenberg is a platform composed of modules; each module has properties you may customize to your flavor. Build your own Docker image by adding new tools and create modules that provide new routes to the API. Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more!
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    Murex

    Murex

    A smarter shell and scripting environment with advanced features

    Murex is a shell, like bash / zsh / fish / etc however Murex supports improved features and an enhanced UX. Support for additional type information in pipelines, which can be used for complex data formats like JSON or tables. Meaning all of your existing UNIX tools to work more intelligently and without any additional configuration. Usability improvements such as in-line spell checking, context-sensitive hint text that details the behavior of a command before you hit return, and auto-parsing man pages for auto-completions on commands that don't have auto-completions already defined. Smarter handling of errors and debugging tools. For example try/catch blocks, line numbers included in error messages, STDOUT highlighted in red and script testing and debugging frameworks baked into the language itself.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    alp

    alp

    Access Log Profiler

    alp is Access Log Profiler.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    bluemonday

    bluemonday

    Fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer

    bluemonday is an HTML sanitizer implemented in Go. It is fast and highly configurable. bluemonday takes untrusted user-generated content as an input, and will return HTML that has been sanitized against an allowlist of approved HTML elements and attributes so that you can safely include the content in your web page. If you accept user-generated content, and your server uses Go, you need bluemonday. It protects sites from XSS attacks. There are many vectors for an XSS attack and the best way to mitigate the risk is to sanitize user input against a known safe list of HTML elements and attributes. If you use blackfriday or Pandoc then bluemonday should be run after these steps. This ensures that no insecure HTML is introduced later in your process. Allowlist based, you need to either build a policy describing the HTML elements and attributes to permit.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    gron

    gron

    Make JSON greppable

    Make JSON greppable. gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute 'path' to it. It eases the exploration of APIs that return large blobs of JSON.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    json2csv

    json2csv

    command line tool to convert json to csv

    Converts a stream of newline-separated JSON data to csv format. Pre-built binaries are available under releases.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    yj

    yj

    Convert between YAML, TOML, JSON, and HCL

    Convert between YAML, TOML, JSON, and HCL.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    DJSON

    DJSON

    Fast Go decoder for dynamic JSON

    DJSON is a JSON decoder for Go that is 2~ to 3~ times faster than the standard encoding/json and the existing solutions when dealing with arbitrary JSON payload. It is a good approach for people who are using json.Unmarshal together with interface, don't know what the schema is, and still want good performance with minimal changes. DJSON is faster and allocates less memory than the other alternatives.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    JJ

    JJ

    JSON Stream Editor (command line utility)

    JJ is a command line utility that provides a fast and simple way to retrieve or update values from JSON documents. It's powered by GJSON and SJSON under the hood. It's fast because it avoids parsing irrelevant sections of json, skipping over values that do not apply, and aborts as soon as the target value has been found or updated.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    JSON diff and patch

    JSON diff and patch

    JSON diff and patch

    jd is a command line utility and Go library for diffing and patching JSON and YAML values. It supports a native jd format (similar to a unified format) as well as JSON Merge Patch (RFC 7386) and a subset of JSON Patch (RFC 6902).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    JSONAPI

    JSONAPI

    jsonapi.org style payload serializer and deserializer

    jsonapi provides helpers and reference code for working with the JSON:API specification, focusing on predictable serialization, deserialization, and linkage of related resources. It enforces the spec’s conventions—data, attributes, relationships, included—so clients and servers exchange data in a consistent, cacheable way. By centralizing how resource identifiers, links, and pagination metadata are emitted, it reduces subtle incompatibilities between services. The library favors explicit schemas and type-safe bindings where possible, which helps large teams avoid drift in field names and relationship structures. It also offers utilities for sparse fieldsets and compound documents, minimizing payload size while keeping related entities synchronized. With consistent error objects and status mapping, it makes API error handling uniform across clients.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Joker

    Joker

    Small Clojure interpreter, linter and formatter

    Joker is a small interpreted dialect of Clojure written in Go. It is also a Clojure(Script) linter. Send HTTP requests, read and parse JSON, work with file system, start external processes etc. Checks for syntax errors, function arity mismatches, unresolvable symbols, unused namespaces, vars, bindings and much more. Joker uses .joke filename extension. Normally exits after executing the script, unless --exit-to-repl is specified before --file <filename> in which case drops into the REPL after the script is (successfully) executed. (Note use of --file, in this case, to ensure <filename> is not treated as a <socket> specification for the reply.) Our goal is to be suitable for scripting (lightweight, fast startup). This is something that Clojure is not good at and my personal itch I am trying to scratch. Also, to provide some tooling for Clojure and its dialects. Joker has linter mode which can be used for linting Joker, Clojure and ClojureScript code.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Mercure

    Mercure

    Server-sent live updates, protocol and reference implementation

    Mercure is an open protocol for real-time communications designed to be fast, reliable and battery-efficient. It is a modern and convenient replacement for both the WebSocket API and the higher-level libraries and services relying on it. Mercure is especially useful to add streaming and asynchronous capabilities to REST and GraphQL APIs. Because it is a thin layer on top of HTTP and SSE, Mercure is natively supported by modern web browsers, mobile applications, and IoT devices. A free (as in beer, and as in speech) reference server, as well as a hosted service, are available. Designed for REST and GraphQL. Private updates (JWT authorization). Presence API and subscription events. Event store. Compatible with serverless, PHP, and the like. Supports end-to-end encryption. Reading the documentation is an excellent way to discover Mercure.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    PufferPanel

    PufferPanel

    PufferPanel is an open source game server management panel

    The simplest, free, open source game management panel. PufferPanel is an open source game server management panel designed to be easy to use and easy to install. PufferPanel supports Minecraft, Forge, Spigot, Sponge, Source Dedicated Servers, BungeeCord, PocketMine, Forge, and much more. In addition to being a free and open source project, PufferPanel provides an easy-to-use interface for everyone from individual users to large networks or companies. We strive to create a friendly community, and we would love for you to join us.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    Serf

    Serf

    Service orchestration and management tool

    Serf is a decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant. Serf runs on Linux, Mac OS X, and Windows. An efficient and lightweight gossip protocol is used to communicate with other nodes. Serf can detect node failures and notify the rest of the cluster. An event system is built on top of Serf, letting you use Serf's gossip protocol to propagate events such as deploys, configuration changes, etc. Serf is completely masterless with no single point of failure. Serf is first and foremost a library with a command-line interface, serf. The Serf library is independent of the command line agent, serf. The serf binary is located under cmd/serf and can be installed stand alone by issuing the command go get -u github.com/hashicorp/serf/cmd/serf.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • Next