30 open-source projects similar to asyncapi/spec, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Spec alternative.
Finagle is a distributed service mesh and fault-tolerant remote procedure call framework. It provides a protocol-agnostic network library that implements a consistent interface for different network standards, including HTTP and Thrift. The project distinguishes itself by integrating a fault tolerance library that prevents cascading failures through circuit breaking and timeout management. It also implements a distributed tracing system to track requests across network boundaries and visualize call graphs. The framework covers several core capability areas, including dynamic service discover
swagger-core is a set of libraries for parsing, generating, and serializing OpenAPI specifications to automate REST API documentation. It provides tools to read, validate, and transform JSON or YAML specifications into programmable objects, as well as a generator that scans source code and annotations to create formal technical descriptions of an API. The project enables bi-directional specification serialization, allowing in-memory API definitions to be converted between native language objects and structured files. It uses a plugin-based scanning mechanism and annotation-driven generation t
dubbo-admin is a web-based administration console and management interface for the Apache Dubbo ecosystem. It serves as a centralized tool for configuring and monitoring services, providers, and consumers across distributed microservices architectures. The project functions as a traffic control plane and service governance tool, enabling the implementation of request routing rules, canary deployments, and traffic regulation. It provides a dedicated interface for orchestrating service mesh data planes and proxy configurations to connect services within a unified network management layer. The
Envoy is a high-performance, cloud-native service proxy designed for service-to-service communication in distributed architectures. It functions as a service mesh data plane, providing a centralized mechanism for managing, securing, and observing network traffic between microservices. The project is distinguished by its ability to perform dynamic traffic management and configuration updates in real-time without requiring service restarts or downtime. It utilizes a non-blocking, event-driven architecture to handle high-concurrency connections and supports hot-restart process management, which
Dubbo is a high-performance Java remote procedure call framework and microservice governance platform. It enables communication between distributed services using a remote service orchestrator and a distributed service registry to locate available providers in real time. The system provides a microservice monitoring suite for health tracking and distributed tracing, alongside integrated security plugins for access control. It manages network traffic through routing strategies, rate limiting, and thread pool isolation to maintain system stability. The framework covers broader capabilities in
Redoc is an API documentation generator that transforms standard API specification files into interactive, responsive, and highly customizable web-based documentation interfaces. It provides a three-panel layout that includes synchronized navigation, code samples, and search functionality, allowing developers to explore endpoints and schemas directly within a browser-based environment. Beyond rendering, the project functions as an API governance toolkit that enforces structural standards and quality rules across API definitions. It includes a suite of processing utilities for bundling, splitt
utoipa is a Rust API documentation tool used to generate machine-readable OpenAPI specifications. It functions as a specification generator and schema mapper that converts Rust structs and enums into compliant OpenAPI schemas. The project distinguishes itself by using procedural macros and traits to automate metadata extraction from code. It supports complex data modeling, including generics, polymorphism, and recursive type resolution, while synchronizing field renaming and tagging from serialization attributes. It also enables the composition of modular specifications, allowing multiple sma
Mindoc is a self-hosted documentation portal and API documentation management system built as a Golang web application. It serves as a markdown documentation engine for authoring, organizing, and sharing technical interface documentation and database dictionaries. The system persists project data and user accounts using MySQL or SQLite databases. The platform distinguishes itself by integrating diagrams-as-code rendering via Mermaid syntax, allowing flowcharts, sequence diagrams, and Gantt charts to be generated directly from text. It supports a flexible content pipeline that combines markdow
This project is an API documentation management platform and mocking server. It provides a central system for organizing API specifications and managing metadata to maintain consistency across the development lifecycle. The toolset includes a mocking engine that generates simulated backend responses, allowing frontend development to proceed without a live backend service. It also functions as a static documentation generator that converts dynamic API specifications into offline files for distribution and archival. The platform is delivered as a containerized toolset, packaging the server and
Ockam is an end-to-end encryption framework and distributed identity provider designed to establish secure communication between applications and devices. It provides a secure network overlay that utilizes cryptographic identities and attribute-based access control to implement zero trust network access. The project distinguishes itself through metadata-driven multi-hop routing and a pluggable transport layer, allowing encrypted traffic to move across diverse network topologies without requiring virtual IP overlays. It specifically enables secure tunneling for legacy applications by wrapping
Leaf is a game server framework written in Go designed for building multiplayer game backends. It provides a modular backend architecture that organizes server logic into independent modules and includes a concurrent task scheduler for managing ordered, delayed, or recurring functions. The framework features a TCP and WebSocket server that manages simultaneous connections through a single interface. It incorporates a message router capable of decoding Protobuf and JSON data to map incoming network packets to specific internal server modules. The system includes capabilities for multi-protoco
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
CouchPotatoServer is an automated movie downloader and media collection manager. It functions as a background service that monitors watchlists and automatically acquires new movie releases via BitTorrent or Usenet. The project acts as a plugin-based orchestrator that coordinates file discovery and download requests across different binary protocols. It employs an event-driven pipeline to manage the full lifecycle of a media file, from initial discovery on indexers to final placement in local storage. The system manages home media libraries through relational database tracking and pattern-bas
Dog is a command-line interface tool and network diagnostic utility used for querying DNS records and resolving domain names. It functions as a DNS query tool for retrieving domain information across various network transport protocols. The tool supports multi-protocol DNS transmission, allowing queries to be sent over UDP, TCP, TLS, and HTTPS. This enables secure DNS communication via encrypted channels to protect privacy and prevent interception. Capabilities include DNS query troubleshooting, record analysis, and network protocol testing to verify name server connectivity. The system prov
MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str
Poem is a comprehensive toolkit for building type-safe web applications, APIs, and servers using the Rust programming language. It provides a foundation for developing web servers that handle HTTP requests with strong type safety. The framework distinguishes itself by supporting multiple communication protocols through a protocol-agnostic handler mapping. This allows a single internal logic to be exposed across HTTP, gRPC services using protobuf definitions, and the Model Context Protocol for AI model integration. Additionally, it includes built-in tooling for generating OpenAPI v3 specificat
evcc is an open-source home energy management system and solar charging optimization engine. It coordinates solar inverters, electric vehicle chargers, home batteries, and smart devices to route surplus solar energy to load points, optimizing energy use and minimizing grid costs. The platform functions as a multi-protocol charger orchestrator and ISO 15118-2 plug and charge controller, enabling automatic vehicle identification and battery state retrieval. It distinguishes itself through a plugin-based device abstraction layer and protocol-agnostic drivers that unify control across diverse har
Faye is a real-time messaging middleware and WebSocket publish-subscribe server. It functions as a communication layer that routes messages between clients and manages channel subscriptions to enable data synchronization across the web. The project provides a cross-domain communication gateway, allowing web clients on different domains to communicate with a central server. It is built as a clustered messaging backend that can share state across multiple instances using external storage to handle high volumes of persistent network connections. Its capability surface includes pub-sub logic for
Web3.py is a Python library that provides a comprehensive interface for interacting with the Ethereum blockchain. It functions as a JSON-RPC client, allowing applications to connect to blockchain nodes via HTTP, WebSocket, or IPC to read network state and send transactions. The library includes a dedicated smart contract interface that uses Application Binary Interface definitions to deploy contracts and execute on-chain functions. It also features a cryptography toolkit for signing transactions and hashing data with Keccak, alongside utilities for translating Ethereum Name Service domain nam
This project is a Python implementation of the Socket.IO bidirectional event protocol. It serves as a realtime communication framework designed for low-latency, event-driven data exchange between a server and multiple connected clients. The framework functions as a distributed message queue integrator, allowing communication to be synchronized across multiple server instances. It manages user sessions and client connections across distributed environments using a shared message queue for synchronization. The system provides capabilities for bidirectional event exchange, real-time state synch
The Model Context Protocol C# SDK is a library for building clients and servers that implement the Model Context Protocol to integrate AI tools and resources. It provides an AI tool integration framework and a multi-modal content handler to exchange text, images, and binary resources between AI models and external context providers. The SDK utilizes a JSON-RPC communication library to manage bidirectional data exchange. It features a transport-agnostic communication layer that supports standard input and output, HTTP, and in-memory pipes, with specific integration for ASP.NET Core hosting. T
This is a Ruby email library providing a comprehensive toolset for composing, parsing, and sending emails. It includes an SMTP client for delivering outgoing messages and a MIME parser for decomposing complex multipart email structures. The project features an IMAP and POP3 mail fetcher for synchronizing messages from remote servers, alongside a specialized framework for testing email logic through mock delivery methods and matchers. The library covers a broad range of email operations, including the generation of nested multipart messages, the management of attachments, and the translation
HP-Socket is a networking library for building scalable TCP, UDP, and HTTP servers and clients with event-driven I/O and SSL encryption. It provides a high-performance TCP server framework, an HTTP request handler that parses incoming requests and generates responses, and a UDP communication library for low-latency data transfer, all with optional SSL encryption for secure communication. The library is built on a completion-port-based I/O architecture that uses Windows I/O Completion Ports for scalable asynchronous socket operations. It features a connection-pooled agent architecture for mana
Reticulum is a decentralized networking stack that enables encrypted, peer-to-peer communication over diverse physical mediums without relying on central infrastructure or IP protocols. It uses self-sovereign cryptographic identities for routing and authentication, replacing traditional IP addresses with collision-free globally unique addresses that require no central coordination. Every packet is encrypted by default using ephemeral key exchanges with forward secrecy, and unencrypted traffic is dropped as invalid. The stack unifies heterogeneous transport mediums—including LoRa radio, packet
Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events. The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes. The project covers channel subscription m
doggo is a multi-protocol DNS lookup client, performance analyzer, and diagnostic troubleshooting tool. It functions as a command-line utility for performing DNS queries across various transport protocols, including UDP, TCP, HTTPS, TLS, and QUIC. The project distinguishes itself through a focus on secure and distributed resolution. It implements encrypted DNS standards such as DNS over HTTPS, DNS over QUIC, and DNSCrypt, and provides DNSSEC validation to verify chains of trust for signed domains. Additionally, it can execute queries from global geographic locations via an external API to ana
jsoncrack.com is a JSON data visualization tool and interactive graph viewer that transforms JSON and other structured data formats into visual tree diagrams. It functions as a data syntax validator and a structured data converter for transforming information between JSON, YAML, XML, and CSV formats. The project includes a JSON schema generator that produces schema definitions and language-specific type definitions based on provided structured data. These capabilities automate type safety and ensure data integrity through schema generation. The tool provides broader capabilities for structur
Feathers is a database-agnostic Node.js application framework designed for building scalable backend systems. It functions as a real-time API framework that provides a server implementation for both REST endpoints and WebSocket connections. The framework decouples application logic from the underlying database technology and communication protocols. This allows a single service to handle both HTTP and Socket requests while separating business logic from the specific data persistence layer. The system organizes data operations through a standardized service-based interface and utilizes hook-b
Ribbon is a client-side load balancer and RPC communication library designed for inter-process communication. It functions as a fault-tolerant network proxy that distributes outgoing network requests across a pool of available server instances to prevent node overload. The project integrates as a service discovery client, maintaining synchronized lists of available server instances by connecting with cloud environment discovery tools. This allows it to manage request retries and failover behavior when remote servers become unresponsive. The library supports a protocol-agnostic transport laye