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.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • MongoDB 8.0 on Atlas | Run anywhere Icon
    MongoDB 8.0 on Atlas | Run anywhere

    Now available in even more cloud regions across AWS, Azure, and Google Cloud.

    MongoDB 8.0 brings enhanced performance and flexibility to Atlas—with expanded availability across 125+ regions globally. Build modern apps anywhere your users are, with the power of a modern database behind you.
    Learn More
  • 1
    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: 47 This Week
    Last Update:
    See Project
  • 2
    Algernon

    Algernon

    Small self-contained pure-Go web server with Lua, Markdown, HTTP/2

    Web server with built-in support for QUIC, HTTP/2, Lua, Teal, Markdown, Pongo2, HyperApp, Amber, Sass(SCSS), GCSS, JSX, BoltDB (built-in, stores the database in a file, like SQLite), Redis, PostgreSQL, MariaDB/MySQL, rate limiting, graceful shutdown, plugins, users and permissions. Written in Go. Uses Bolt (built-in), MySQL, PostgreSQL or Redis (recommended) for the database backend, permissions2 for handling users and permissions, gopher-Lua for interpreting and running Lua, optional Teal for type-safe Lua scripting, http2 for serving HTTP/2, QUIC for serving over QUIC, blackfriday for Markdown rendering, amber for Amber templates, Pongo2 for Pongo2 templates, Sass(SCSS) and GCSS for CSS preprocessing. logrus is used for logging, goja-babel for converting from JSX to JavaScript, tollbooth for rate limiting, pie for plugins and graceful for graceful shutdowns.
    Downloads: 45 This Week
    Last Update:
    See Project
  • 3
    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: 39 This Week
    Last Update:
    See Project
  • 4
    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: 29 This Week
    Last Update:
    See Project
  • Build apps or websites quickly on a fully managed platform Icon
    Build apps or websites quickly on a fully managed platform

    Get two million requests free per month.

    Run frontend and backend services, batch jobs, host LLMs, and queue processing workloads without the need to manage infrastructure.
    Try it for free
  • 5
    sq data wrangler

    sq data wrangler

    sq data wrangler

    sq is a command line tool that provides jq-style access to structured data sources: SQL databases, or document formats like CSV or Excel. sq executes jq-like queries, or database-native SQL. It can join across sources: join a CSV file to a Postgres table, or MySQL with Excel. sq outputs to a multitude of formats including JSON, Excel, CSV, HTML, Markdown and XML, and can insert query results directly to a SQL database. sq can also inspect sources to view metadata about the source structure (tables, columns, size). You can use sq diff to compare tables, or entire databases. sq has commands for common database operations to copy, truncate, and drop tables.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 6
    sttr

    sttr

    Cross-platform, cli app to perform various operations on string

    sttr is command-line software that allows you to quickly run various transformation operations on the string.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 7
    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: 18 This Week
    Last Update:
    See Project
  • 8
    Restish

    Restish

    Restish is a CLI for interacting with REST-ish HTTP APIs

    Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in, like always having the latest API resources, fields, and operations available when they go live on the API without needing to install or update anything. Check out how Restish compares to cURL & HTTPie.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 9
    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: 14 This Week
    Last Update:
    See Project
  • Powering the best of the internet | Fastly Icon
    Powering the best of the internet | Fastly

    Fastly's edge cloud platform delivers faster, safer, and more scalable sites and apps to customers.

    Ensure your websites, applications and services can effortlessly handle the demands of your users with Fastly. Fastly’s portfolio is designed to be highly performant, personalized and secure while seamlessly scaling to support your growth.
    Try for free
  • 10
    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: 14 This Week
    Last Update:
    See Project
  • 11
    go-jsonschema

    go-jsonschema

    A tool to generate Go data types from JSON Schema definitions

    go-jsonschema is a tool to generate Go data types from JSON Schema definitions. This tool generates Go data types and structs that corresponds to definitions in the schema, along with unmarshalling code that validates the input JSON according to the schema's validation rules.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 12

    Negroni

    Idiomatic HTTP Middleware for Golang

    Negroni is a middleware-focused library for Go with an idiomatic approach. It is similar to Martini, but comes in a small, non-intrusive package. Negroni is not a framework. It is designed to work directly with net/http. It is also BYOR (Bring Your Own Router), and plays well with most http routers available in the Go community by fully supporting net/http. Negroni is currently translated in a number of different languages, and comes with some default middleware that can be used for most applications and makes getting started with some of Negroni’s features a lot easier.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 13
    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: 11 This Week
    Last Update:
    See Project
  • 14
    ChirpStack Gateway Bridge

    ChirpStack Gateway Bridge

    ChirpStack Gateway Bridge abstracts Packet Forwarder protocols

    ChirpStack Gateway Bridge is a service that converts LoRa® Packet Forwarder protocols into a ChirpStack common data format (JSON and Protobuf). This component is part of the ChirpStack open-source LoRaWAN® Network Server project.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    Grafana Tanka

    Grafana Tanka

    Flexible, reusable and concise configuration for Kubernetes

    The clean, concise, and super flexible alternative to YAML for your Kubernetes cluster.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 16
    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: 9 This Week
    Last Update:
    See Project
  • 17
    Prototool

    Prototool

    Your swiss army knife for protocol buffers

    Prototool lets you handle the installation of protoc and the import of all of the well-known types behind the scenes in a platform-independent manner. Standardize building of your Protobuf files with a common configuration. Lint your Protobuf files with common linting rules according to Google' Style Guide, Uber's V1 Style Guide, Uber's V2 style guide, or your own set of configured lint rules. Format your Protobuf files in a consistent manner. Create Protobuf files from a template that passes lint, taking care of package naming for you. Generate stubs using any plugin based on a simple configuration file, including handling imports of all the well-known types. Call gRPC endpoints with ease, taking care of the JSON to binary conversion for you. Check for breaking changes on a per-package basis, verifying that your API never breaks.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 18
    Terraform

    Terraform

    Safely and predictably create, change, and improve infrastructure

    Terraform is an open source tool that allows you to use infrastructure as code to provision and manage any cloud, infrastructure or service. It codifies APIs into declarative configuration files, which can then be shared among team members, reviewed, applied, edited and versioned.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 19
    Amazon EKS Pod Identity Webhook

    Amazon EKS Pod Identity Webhook

    Amazon EKS Pod Identity Webhook

    This webhook is for mutating pods that will require AWS IAM access. After version v0.3.0, --in-cluster=true no longer works and is deprecated. Please use --in-cluster=false and manage the cluster certificate with a cert-manager or some other external certificate provisioning system. This is because certificates using the legacy-unknown signer are no longer signed when using the v1 certificates API. Create an OIDC provider in IAM for your cluster. You can find the OIDC discovery endpoint by describing your EKS cluster. Create an IAM role for your pods and modify the trust policy to allow your pod's service account to use the role. All new pod pods launched using this Service Account will be modified to use IAM for pods. Below is an example pod spec with the environment variables and volume fields added by the webhook. To ensure workloads are scheduled on windows nodes have the right environment variables, they must have a nodeSelector targeting windows it must run on.
    Downloads: 8 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: 8 This Week
    Last Update:
    See Project
  • 21
    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: 8 This Week
    Last Update:
    See Project
  • 22
    encoding

    encoding

    Go package containing implementations of efficient encoding

    Go package containing implementations of encoders and decoders for various data formats. At Segment, we do a lot of marshaling and unmarshaling of data when sending, queuing, or storing messages. The resources we need to provision on the infrastructure are directly related to the type and amount of data that we are processing. At the scale we operate at, the tools we choose to build programs can have a large impact on the efficiency of our systems. It is important to explore alternative approaches when we reach the limits of the code we use. This package has no dependencies outside of the core runtime of Go. It requires a recent version of Go.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 23
    GoatCounter

    GoatCounter

    Easy web analytics. No tracking of personal data

    GoatCounter is an open-source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy-to-use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo. Privacy-aware; doesn’t track users with unique identifiers and doesn't need a GDPR notice. Fine-grained control over which data is collected. Also see the privacy policy and GDPR consent notices. Lightweight and fast; adds just ~3.5KB of extra data to your site. Also has JavaScript-free "tracking pixel" option, or you can use it from your application's middleware or import from logfiles. Keeps useful statistics such as browser information, location, and screen size. Keep track of referring sites and campaigns. Easy; if you've been confused by the myriad of options and flexibility of Google Analytics and Matomo that you don't need then GoatCounter will be a breath of fresh air.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 24
    Twirp

    Twirp

    A simple RPC framework with protobuf service definitions

    Twirp is a simple RPC framework built on protobuf. You define a service in a .proto specification file, then Twirp will generate servers and clients for that service. It's your job to fill in the "business logic" that powers the server, and then generated clients can consume your service straight away. Twirp routing and serialization reduces the risk of introducing bugs. Both JSON and Protobuf are supported. The Protobuf protocol is designed to allow backwards compatible changes (unlike JSON, it is trivial to rename fields). Protobuf is super fast and the proto file definition also works well as documentation for your service. Twirp is similar to gRPC, but without the custom HTTP server and transport implementations: it runs on the standard library's extremely-well-tested-and-high-performance net/http Server. It can run on HTTP 1.1, not just http/2, and supports JSON serialization for easy debugging.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 25
    YAO

    YAO

    Yao A low code engine to create web services and dashboard

    Yao allows developers to create web services by processes. Yao is a low-code engine that creates a database model, writes API services, and describes dashboard interface just by JSON for web & hardware, no code, and 10x productivity. Yao is based on the flow-based programming idea, developed in the Go language, and supports multiple ways to expand the data stream processor. This makes Yao extremely versatile, which can replace programming languages ​​in most scenarios, and is 10 times more efficient than traditional programming languages ​​in terms of reusability and coding efficiency; application performance and resource ratio Better than PHP, JAVA and other languages. Yao has a built-in data management system. By writing JSON to describe the interface layout, 90% of the common interface interaction functions can be realized. It is especially suitable for quickly making various management backgrounds, CRM, ERP, and other internal enterprise systems.
    Downloads: 6 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.