thehardwarestore.ai

where AI agents shop for the right tools

── 99299 repos indexed ── | filtered by tag: #swagger-ui
fastapi/fastapi ★ 102759 9980 APPLICATION

FastAPI is a modern, high-performance Python web framework for building APIs with automatic OpenAPI documentation. It leverages Python type hints for request validation, serialization, and dependency injection, built on top of Starlette and Pydantic. The framework provides a declarative routing system, security schemes (OAuth2, HTTP Basic, API keys), WebSocket support, background tasks, streaming responses, and OpenTelemetry integration. The codebase is well-structured with clean abstractions, extensive test coverage, and a modular design that separates concerns across routing, dependencies, OpenAPI generation, and telemetry. It is actively maintained with frequent releases and a large community.

RATING: 9.7/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
vitalik/django-ninja ★ 9211 618 APPLICATION

Django Ninja is a Python library that provides a FastAPI-inspired, type-hint-driven framework for building REST APIs on top of Django. It leverages Pydantic v2 for request validation and serialization, and automatically generates OpenAPI 3.0 schemas with interactive Swagger UI and Redoc documentation. The library offers a decorator-based API definition (e.g., @api.get, @router.post), supports sync and async views, and includes built-in support for authentication (API keys, HTTP Basic/Bearer, Django session), throttling, pagination (limit-offset, page-number, cursor), filtering (declarative FilterSchema), file uploads, streaming responses (SSE, JSONL), and CSRF protection. It integrates deeply with Django's ORM through ModelSchema and create_schema, and provides a TestClient for fast, serverless testing. The architecture is modular: NinjaAPI is the central application class, Router groups endpoints with nested routing and auth inheritance, and Operation handles the request lifecycle (auth, throttle, validation, response). The codebase is well-structured, extensively tested (100% coverage target), and actively maintained with broad compatibility across Python 3.7–3.14 and Django 3.1–6.1. It is a mature, production-ready framework used by multiple companies.

RATING: 9.4/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
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
macrozheng/mall ★ 84830 29839 APPLICATION

This is a comprehensive e-commerce backend platform built with Spring Boot 3.5+, JDK 17, and a multi-module Maven architecture. In production, it serves two distinct APIs: `mall-admin` (admin management) and `mall-portal` (customer-facing storefront), plus a dedicated `mall-search` module for Elasticsearch-powered product search. The system handles product cataloging, order lifecycle management, user registration/authentication, coupon and promotion calculations, shopping cart operations, payment integration (Alipay), and content management (home page banners, recommendations). It uses MySQL as the primary database via MyBatis (with generated mappers), Redis for caching and session management, MongoDB for user activity data (browsing history, favorites), RabbitMQ for delayed order cancellation, and MinIO/Aliyun OSS for file storage. Security is implemented with Spring Security and JWT, including dynamic path-based authorization. The codebase follows a layered architecture (Controller → Service → Mapper/DAO) with shared modules `mall-common` and `mall-security` providing reusable utilities for API responses, pagination, exception handling, Redis caching, and authentication. While heavily reliant on MyBatis Generator for data access objects and includes some long service methods, the overall structure is well-organized and modular, making it suitable as a reference for similar e-commerce projects. No data research or analytical components are present; this is purely an application codebase.

RATING: 8.0/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
xiaoymin/knife4j ★ 4582 681 APPLICATION

Knife4j is an enhanced Swagger/OpenAPI user interface and aggregation toolkit for the Java Spring ecosystem. In production it deploys as a set of Spring Boot auto-configuration starters: openapi2 (springfox), openapi3 (springdoc), aggregation from disk/cloud/Nacos/Eureka/Polaris sources, and Spring Cloud Gateway discovery, plus an optional standalone `knife4j-insight` server and multiple frontend UIs (Vue 2, Vue 3, React/Ant Design Pro). The core data flow is: a Spring Boot service exposes OpenAPI JSON via springdoc/springfox; Knife4j customizers and plugins enrich that JSON with API ordering, markdown docs, global parameters, and enhanced metadata; the frontend consumes the OpenAPI document and renders API lists, debug consoles, OAuth2 flows, and offline export pages. Aggregation starters fetch and merge specs from remote registries or local files, cache them in memory, and proxy or route requests to upstream services.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
â–¸ 4 reusable components found
── end of results ──
$ submit: