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.

  • 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
  • Photo and Video Editing APIs and SDKs Icon
    Photo and Video Editing APIs and SDKs

    Trusted by 150 million+ creators and businesses globally

    Unlock Picsart's full editing suite by embedding our Editor SDK directly into your platform. Offer your users the power of a full design suite without leaving your site.
    Learn More
  • 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: 14 This Week
    Last Update:
    See Project
  • 2
    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: 10 This Week
    Last Update:
    See Project
  • 3
    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: 10 This Week
    Last Update:
    See Project
  • 4
    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
  • Get the most trusted enterprise browser Icon
    Get the most trusted enterprise browser

    Advanced built-in security helps IT prevent breaches before they happen

    Defend against security incidents with Chrome Enterprise. Create customizable controls, manage extensions and set proactive alerts to keep your data and employees protected without slowing down productivity.
    Download Chrome
  • 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: 5 This Week
    Last Update:
    See Project
  • 6
    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: 5 This Week
    Last Update:
    See Project
  • 7
    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: 4 This Week
    Last Update:
    See Project
  • 8
    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: 4 This Week
    Last Update:
    See Project
  • 9
    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
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 10
    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: 3 This Week
    Last Update:
    See Project
  • 11
    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: 3 This Week
    Last Update:
    See Project
  • 12
    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: 3 This Week
    Last Update:
    See Project
  • 13
    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
  • 14
    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: 2 This Week
    Last Update:
    See Project
  • 15
    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: 2 This Week
    Last Update:
    See Project
  • 16
    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: 2 This Week
    Last Update:
    See Project
  • 17
    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: 2 This Week
    Last Update:
    See Project
  • 18
    WSDL to Go

    WSDL to Go

    WSDL2Go code generation as well as its SOAP proxy

    Generates Go code from a WSDL file. Generate idiomatic Go code as much as possible. Support only Document/Literal wrapped services, which are WS-I compliant. Supports XML, Schema 1.0, SOAP 1.1. Resolve external XML Schemas. Support external and local WSDL.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Zero Allocation JSON Logger

    Zero Allocation JSON Logger

    Zero Allocation JSON Logger

    The zerolog package provides a fast and simple logger dedicated to JSON output. Zerolog's API is designed to provide both a great developer experience and stunning performance. Its unique chaining API allows zerolog to write JSON (or CBOR) log events by avoiding allocations and reflection. Uber's zap library pioneered this approach. Zerolog is taking this concept to the next level with a simpler-to-use API and even better performance. To keep the code base and the API simple, zerolog focuses on efficient structured logging only. Pretty logging on the console is made possible using the provided (but inefficient) zerolog.ConsoleWriter.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    alp

    alp

    Access Log Profiler

    alp is Access Log Profiler.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    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
  • 22
    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: 2 This Week
    Last Update:
    See Project
  • 23
    docconv

    docconv

    Converts PDF, DOC, DOCX, XML, HTML, RTF, etc to plain text

    A Go wrapper library to convert PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages documents and images (see optional dependencies below) to plain text. See go help install for details on the installation location of the installed docd executable. Make sure that the full path to the executable is in your PATH environment variable. To add image support to the docconv library you first need to install and build gosseract. Now you can add -tags ocr to any go command when building/fetching/testing docconv to include support for processing images. Documents can be sent as a multipart POST request and the plain text (body) and meta information are then returned as a JSON object.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    go-json

    go-json

    Fast JSON encoder/decoder compatible with encoding/json for Go

    Fast JSON encoder/decoder compatible with encoding/json for Go.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    jplot

    jplot

    iTerm2 expvar/JSON monitoring tool

    Jplot tracks expvar-like (JSON) metrics and plot their evolution over time right into your iTerm2 terminal (or DRCS Sixel Graphics).
    Downloads: 2 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.