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.

  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it 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
    dasel

    dasel

    Select, put and delete data from JSON, TOML, YAML, XML and CSV files

    Dasel (short for data-selector) allows you to query and modify data structures using selector strings. Say goodbye to learning new tools just to work with a different data format. Dasel uses a standard selector syntax no matter the data format. This means that once you learn how to use dasel you immediately have the ability to query/modify any of the supported data types without any additional tools or effort. Dasel can be imported and used just like any other go package. This can be very useful if you need to manipulate data from your own applications. From then on the rest of the docs and comments should be enough to get you going. Uses a standard query/selector syntax across all data formats. Zero runtime dependencies. Available on Linux, Mac and Windows. Available to import and use in your own projects. Run via Docker.
    Downloads: 124 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: 36 This Week
    Last Update:
    See Project
  • 3
    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: 34 This Week
    Last Update:
    See Project
  • 4
    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: 29 This Week
    Last Update:
    See Project
  • Secure User Management, Made Simple | Frontegg Icon
    Secure User Management, Made Simple | Frontegg

    Get 7,500 MAUs, 50 tenants, and 5 SSOs free – integrated into your app with just a few lines of code.

    Frontegg powers modern businesses with a user management platform that’s fast to deploy and built to scale. Embed SSO, multi-tenancy, and a customer-facing admin portal using robust SDKs and APIs – no complex setup required. Designed for the Product-Led Growth era, it simplifies setup, secures your users, and frees your team to innovate. From startups to enterprises, Frontegg delivers enterprise-grade tools at zero cost to start. Kick off today.
    Start for Free
  • 5
    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: 21 This Week
    Last Update:
    See Project
  • 6
    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
  • 7
    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: 17 This Week
    Last Update:
    See Project
  • 8
    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: 15 This Week
    Last Update:
    See Project
  • 9
    freegeoip

    freegeoip

    IP geolocation web server

    Launched more than 6 years ago, the freegeoip.net API has grown into one of the biggest and most widely used APIs for IP to location services worldwide. The API is used by thousands of developers, SMBs and large corporations around the globe and is currently handling more than 2 billion requests per day. After years of operation and the API remaining almost unchanged, today we announce the complete re-launch of freegeoip into a faster, more advanced and more scalable API service called ipstack. All users that wish to continue using our IP to location service will be required to sign up to obtain a free API access key and perform a few simple changes to their integration. While the new API offers the ability to return data in the same structure as the old freegeoip API, the new API structure offers various options of delivering much more advanced data for IP Addresses.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 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
  • 10
    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: 12 This Week
    Last Update:
    See Project
  • 11
    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: 12 This Week
    Last Update:
    See Project
  • 12
    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: 11 This Week
    Last Update:
    See Project
  • 13
    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: 11 This Week
    Last Update:
    See Project
  • 14
    Apache Dubbo-go

    Apache Dubbo-go

    Go Implementation For Apache Dubbo

    Apache Dubbo-go, a Dubbo implementation written in Golang, is born to bridge the gap between Java/Dubbo and Go/X. Dubbo-go has supported many RPC protocols, like Triple, Dubbo JSONRPC, gRPC, HTTP, HTTP2. Triple is the supported protocol of Dubbo3 ecology and is a gRPC extended protocol based on HTTP2, which is compatible with the gRPC service. In other words, on the basis of gRPC's reliable invocation, it adds Dubbo's service governance capability. Dubbo protocol is traditional Dubbo ecology protocol, which is capable of Dubbo 2. x, and is a good choice for cross-language invocation between GO and Java old service. The project gives a series of samples that show each feature available for Dubbo-go and help you know how to integrate Dubbo-go with your system.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 15
    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: 10 This Week
    Last Update:
    See Project
  • 16
    TEMPL

    TEMPL

    A language for writing HTML user interfaces in Go

    Create components that render fragments of HTML and compose them to create screens, pages, documents, or apps.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 17
    Rod

    Rod

    A Devtools driver for web automation and scraping

    Rod is a high-level driver for DevTools Protocol. It's widely used for web automation and scraping. Rod can automate most things in the browser that can be done manually. Chained context design, intuitive to timeout or cancel the long-running task. Auto-wait elements to be ready. Debugging friendly, auto input tracing, remote monitoring headless browser. Thread-safe for all operations. Automatically find or download browser. High-level helpers like WaitStable, WaitRequestIdle, HijackRequests, WaitDownload, etc. Two-step WaitEvent design, never miss an event (how it works). Correctly handles nested iframes or shadow DOMs. No zombie browser process after the crash (how it works). CI enforced 100% test coverage.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 18
    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: 9 This Week
    Last Update:
    See Project
  • 19
    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
  • 20
    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: 8 This Week
    Last Update:
    See Project
  • 21
    jid

    jid

    json incremental digger

    Json Incremental Digger is a very simple tool. You can drill down JSON interactively by using filtering queries like jq. Suggestion and Auto completion of this tool will provide you a very comfortable JSON drill down. Jid can install by package management systems of many OS. If you simply want to use jid command, please download binary. You can dig JSON data incrementally. First argument of jid is initial query.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 22
    HCL

    HCL

    HCL is the HashiCorp configuration language

    HCL is a toolkit for creating structured configuration languages that are both human- and machine-friendly, for use with command-line tools. Although intended to be generally useful, it is primarily targeted toward DevOps tools, servers, etc. HCL has both a native syntax, intended to be pleasant to read and write for humans, and a JSON-based variant that is easier for machines to generate and parse. It includes an expression syntax that allows basic inline computation and, with support from the calling application, the use of variables and functions for more dynamic configuration languages. HCL provides a set of constructs that can be used by a calling application to construct a configuration language. The application defines which attribute names and nested block types are expected, and HCL parses the configuration file, verifies that it conforms to the expected structure, and returns high-level objects that the application can use for further processing.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 23
    decimal

    decimal

    Arbitrary-precision fixed-point decimal numbers in go

    Arbitrary-precision fixed-point decimal numbers in go. Note: Decimal library can "only" represent numbers with a maximum of 2^31 digits after the decimal point. The zero-value is 0, and is safe to use without initialization. Addition, subtraction, and multiplication with no loss of precision. Division with specified precision. Database/sql serialization/deserialization. JSON and XML serialization/deserialization. big.Int's API is built to reduce the number of memory allocations for maximal performance. This makes sense for its use-case, but the trade-off is that the API is awkward and easy to misuse. In contrast, it's difficult to make such mistakes with decimal. Decimals behave like other go numbers types: even though a = b will not deep copy b into a, it is impossible to modify a Decimal, since all Decimal methods return new Decimals and do not modify the originals. The downside is that this causes extra allocations, so Decimal is less performant.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 24
    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: 7 This Week
    Last Update:
    See Project
  • 25
    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: 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.