thehardwarestore.ai

where AI agents shop for the right tools

── 99225 repos indexed ── | filtered by tag: #openapi31
swagger-api/swagger-ui ★ 29024 9250 APPLICATION

Swagger UI is a browser-based interactive API documentation client for OpenAPI/Swagger specifications. It renders operations, parameters, request bodies, responses, schemas, and authentication UI, and supports executing live requests ("Try it Out") from the browser, including file uploads, OAuth2/OIDC flows, API keys, Basic auth, and mutual TLS. Production artifacts include the npm packages `swagger-ui`, `swagger-ui-dist`, and `swagger-ui-react`, plus a Dockerized nginx distribution configured via environment variables. The entry point is `src/index.js`, which assembles a pluggable React/Redux/Immutable.js system from presets and plugins; standalone mode adds a topbar for loading specs and switching URLs. The architecture is a plugin system (`src/core/system.js`) where every concern—spec loading, auth, layout, JSON Schema rendering, error transformation, request snippets—is a plugin exposing `statePlugins`, wrapping functions, components, and `afterLoad` hooks. Separate OpenAPI 2.0, 3.0, 3.1, and 3.2 plugins compose dialect-specific behavior over a shared core. The codebase is predominantly JavaScript/JSX with a gradually expanding TypeScript migration, SCSS theming, and a large test suite covering Jest unit tests, Cypress e2e, security/XSS checks, and performance virtualization of large specs. Notably, this is not a data/research project; the YAML/JSON files under `test/` are OpenAPI fixtures for validating UI behavior, not datasets for analysis. The principal engineering problem it solves is rendering arbitrarily complex API contracts with extensibility and performance. Strengths include the config type-casting layer, registry-driven sample generators, deep OpenAPI version support, and a robust plugin API. Weaknesses are duplication between JSON Schema 5 and 2020-12 rendering paths, copied OAS 3.1/3.2 wrapper code, and some deprecated React lifecycle usage.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
swagger-api/swagger-editor ★ 9471 2359 APPLICATION

The Swagger Editor is a web-based application for editing, visualizing, and documenting API specifications. It supports multiple formats including OpenAPI (2.0/3.x), AsyncAPI, JSON Schema, and API Design Systems through a split-pane interface featuring a code editor (Monaco/Textarea) and live preview. Built on React with a plugin architecture inspired by SwaggerUI, it manages state via Redux-like patterns with Immutable.js and reselect, offloading heavy operations like parsing and validation to Web Workers to maintain UI responsiveness. Key features include real-time validation, format conversion, code generation via external services, and extensibility through plugins. The application follows a modular structure where core functionality is extended by plugins registered via entry points like src/index.tsx and src/App.tsx. Each plugin encapsulates actions, reducers, selectors, and UI components, with extension points for wrapping actions and components. The build system uses Vite to produce standalone app, ESM, and UMD bundles, with specialized configurations for worker bundles. Testing combines unit tests (Vitest) and end-to-end tests (Playwright) to ensure reliability across features like file import, format conversion, and code generation. Technical strengths include the plugin architecture promoting separation of concerns, worker-based performance optimization, and reusable UI patterns like the dropdown menu with thematic variations. Maintenance risks stem from tight coupling with external dependencies (Monaco Editor, ApiDOM, SwaggerUI), complex build configurations, and gradual TypeScript adoption. However, active maintenance is evidenced by recent commits, CI workflows, and issue triage, indicating the project keeps pace with its ecosystem despite inherent complexity.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
microcks/microcks ★ 2036 362 APPLICATION

Microcks is a cloud-native API mocking and testing platform that ingests API specifications (OpenAPI, AsyncAPI, gRPC, GraphQL, Postman, SoapUI, HAR, and protobuf) and dynamically generates live mock endpoints and contract conformance tests. It supports REST, SOAP, GraphQL, gRPC, and asynchronous protocols (Kafka, RabbitMQ, MQTT, NATS, WebSocket, Amazon SQS/SNS, Google PubSub). The architecture consists of a main Spring Boot web application with an Angular frontend, a separate Quarkus-based async minion for event-driven mocking and testing, and optional dependencies on MongoDB, Keycloak, Kafka, and external message brokers. The system provides a rich set of features: dynamic response dispatching based on request parameters, scriptable mocks (Groovy/JavaScript), a template engine for dynamic content, SLA management, webhook notifications, AI-assisted sample generation via OpenAI, and OpenTelemetry-based observability. It is a well-engineered, modular project with extensive test coverage and a clean separation of concerns.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Redocly/redoc ★ 25946 2402 APPLICATION

Redoc is an open-source tool that generates interactive API documentation from OpenAPI (Swagger) specifications. It parses OpenAPI definitions (supporting versions 2.0, 3.0, and 3.1) and renders a three-panel HTML page with a sidebar navigation, main content area, and request/response examples. The architecture is a React application with MobX for state management and styled-components for theming. Key entry points include a standalone JavaScript bundle (src/standalone.tsx) for embedding via a <redoc> tag, a React component (RedocStandalone) for integration into React apps, and a CLI tool (via @redocly/cli) for generating static HTML files. The system processes an OpenAPI spec by loading and bundling it (resolving $ref references, merging allOf, handling discriminators), then building a content model that drives the UI. External dependencies include React, MobX, styled-components, lunr (search), Prism.js (syntax highlighting), and marked (markdown rendering). The codebase is well-structured with clear separation between parsing services, UI components, and utility functions, and includes comprehensive unit and end-to-end tests.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openapi-generators/openapi-python-client ★ 1986 290 APPLICATION

This repository is a CLI tool and Python library that generates modern, typed Python HTTP client libraries from OpenAPI 3.0 and 3.1 specifications. The system parses an OpenAPI document (YAML or JSON), validates it against Pydantic models of the OpenAPI schema, and then converts the parsed structure into an internal representation of endpoints, models, and properties. Using Jinja2 templates, it generates a complete Python package with attrs-based model classes, httpx-based sync/async endpoint functions, a Client class with authentication support, and packaging metadata (Poetry, PDM, uv, or setup.py). The generated code is fully typed and includes serialization/deserialization methods, error handling, and support for complex OpenAPI features like allOf, oneOf, discriminated unions, enums, circular references, and custom content types. The architecture is a monolithic Python package with clear separation of concerns: a CLI entry point (typer), a configuration system (YAML/JSON config files with class overrides), a parser module that converts OpenAPI schemas into a property type hierarchy (StringProperty, IntProperty, UnionProperty, ModelProperty, etc.), and a template rendering engine. The parser uses a protocol-based design for property types, making it extensible. The system also includes a vendored copy of the openapi-schema-pydantic library for schema validation. Security is a key concern, with features like UntrustedString to prevent code injection in generated output and fuzz testing that generates random OpenAPI documents with dangerous strings. The project has extensive testing: unit tests for all parser components, end-to-end snapshot tests using golden records, functional tests that execute the generated code, integration tests against a live test server, and property-based fuzz testing. The generated client libraries are production-ready, using modern Python features like `from __future__ import annotations`, `|` union syntax, StrEnum/IntEnum, and the UNSET sentinel for optional fields. The tool is configurable via CLI flags and config files, supporting custom templates, post-generation hooks, and various packaging backends.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: