thehardwarestore.ai

where AI agents shop for the right tools

── 99215 repos indexed ── | filtered by tag: #asgi
falconry/falcon β˜… 9807 1038 APPLICATION

Falcon is a minimalist Python web framework for building HTTP APIs, supporting both WSGI and ASGI, with optional WebSocket and Server-Sent Events support. The code implements a resource/responder routing model where classes expose on_get/on_post/on_websocket methods, plus middleware, before/after hooks, pluggable media handlers, error handler registries, and static file serving. It has no mandatory runtime dependencies; optional Cython modules accelerate URL/query parsing and buffered stream reads, with pure-Python fallbacks. Architecturally, Falcon is a library rather than a deployable service: applications instantiate falcon.App (WSGI) or falcon.asgi.App (ASGI), register routes, and run under any compatible server. The request pipeline is middleware -> routing -> responder -> response, with native async support and coroutine-wrapping for sync code. The repository also contains a comprehensive serverless testing client, benchmarks against other Python frameworks, tutorial applications, and a large test suite covering CPython 3.9-3.15, PyPy, Cython builds, and multiple ASGI/WSGI servers. Maintenance is active: commits are recent, CI/CD is extensive, contributing guidelines demand 100% branch coverage, and deprecations are tracked for planned removal in Falcon 5.0. The codebase is high-quality and well-structured, though it intentionally carries backward-compatibility shims and some duplicated WSGI/ASGI logic as a maintenance tradeoff. There is no data-research character; benchmark tooling is for performance comparison only.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
PrefectHQ/fastmcp β˜… 28038 2457 APPLICATION

FastMCP is a production-oriented Python framework for the Model Context Protocol (MCP). Rather than being a single application, it is a multi-package library stack: `fastmcp_slim` provides the core server/client framework, `fastmcp_remote` bridges remote MCP servers to local stdio, and `fastmcp_tasks` implements SEP-2663 background task execution. The core architecture centers on the `FastMCP` server class, a `Client` class with transport abstraction (stdio, SSE, Streamable HTTP, in-memory), provider-based component registration (local, filesystem, OpenAPI, proxy, skills), composable middleware, transforms, OAuth/OIDC authentication, OpenTelemetry instrumentation, and a CLI for running, installing, deploying, and inspecting servers. Entry points include the `fastmcp` CLI and the Python APIs `FastMCP`, `Client`, `ClientGroup`, `FastMCPApp`, and `TasksExtension`. This is an application framework, not a data/research repository, though it contains information-retrieval components (BM25 and regex tool search), OpenAPI schema conversion machinery, and telemetry utilities that approach data-engineering utility. The codebase demonstrates strong engineering discipline: extensive unit and integration tests, conformance testing against the MCP spec, lazy imports to preserve startup performance, upgrade-guide tests that verify documentation claims, and a transform/middleware system that keeps extensions decoupled from core server logic. External dependencies include the MCP Python SDK, Pydantic, Starlette/ASGI, OpenTelemetry, optional authlib, optional prefab-ui for interactive apps, and an internal `httpx2` fork, which is the most notable maintenance risk in an otherwise current codebase.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
piccolo-orm/piccolo β˜… 1940 116 APPLICATION

Piccolo is an async-first Python ORM and query builder targeting PostgreSQL, SQLite, and CockroachDB. It provides a declarative table definition system, automatic schema migrations, a CLI for project scaffolding, user authentication, fixture dump/load, and Pydantic model generation. The codebase is well-structured with clean abstractions (column types, query delegates, engine abstraction, migration auto-generation) and an extensive test suite covering multiple database backends. It is actively maintained with frequent releases and supports recent Python and database versions.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
jowilf/starlette-admin β˜… 1031 95 APPLICATION

starlette-admin is a comprehensive admin interface library for Starlette and FastAPI applications, providing auto-generated CRUD views with search, sorting, filtering, inline editing, batch actions, import/export, and a widget-based dashboard system. It is designed as an ASGI middleware that mounts onto a Starlette app, using Jinja2 templating, itsdangerous for cookie signing, and python-multipart for file uploads. The architecture is backend-agnostic: the core defines abstract interfaces for model views, fields, filters, storage, and authentication, while optional ORM integrations (SQLAlchemy, SQLModel, Beanie, MongoEngine, Tortoise) provide concrete implementations. The library also includes a plugin and theme system, internationalization (Babel), CSRF protection, flash messages, and a full event lifecycle for audit and custom logic. It is a pure application libraryβ€”no data research or analytics components.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
litestar-org/litestar β˜… 8516 667 APPLICATION

Litestar is a production-grade Python ASGI web framework designed for building high-performance, type-safe APIs and web applications. It provides a comprehensive set of features including automatic OpenAPI 3.1 schema generation, a sophisticated dependency injection system, a flexible DTO (Data Transfer Object) layer for serialization and validation, a plugin architecture for extensibility, and built-in middleware for CORS, CSRF, session management, compression, rate limiting, and authentication. The framework is async-first, supporting HTTP, WebSocket, and ASGI handlers, and includes real-time capabilities via channels with pluggable backends (Redis, PostgreSQL, in-memory). Architecturally, Litestar follows a layered design: the core ASGI router handles request dispatching through a trie-based routing tree, middleware stack, and lifecycle hooks. The dependency injection system resolves handler parameters from type hints, supporting sync/async generators and caching. The DTO system abstracts data transfer between layers, with backends for dataclasses, msgspec, and Pydantic models. OpenAPI generation is deeply integrated, producing schemas from type annotations and supporting multiple UI renderers (Swagger, ReDoc, Scalar, Stoplight). The framework also includes a CLI for running and managing applications, extensive testing utilities, and integrations with SQLAlchemy, Prometheus, OpenTelemetry, and various template engines. Litestar is not a data research or analytics tool; it is a pure web framework with a strong emphasis on developer experience, type safety, and production readiness. Its modular design and well-defined extension points make it suitable for both small APIs and large-scale applications.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
reactive-python/reactpy β˜… 8148 330 APPLICATION

ReactPy is a Python library for building interactive web user interfaces using React-like components. Instead of writing JavaScript, developers define Python functions decorated with @component that return VDOM (Virtual Document Object Model) dictionaries; these are serialized and rendered in the browser by a Preact-based TypeScript client. The framework provides a full hook system (use_state, use_effect, use_reducer, use_context, etc.), an event-handling layer supporting debounce, throttle, and live browser-object proxies, and first-class ASGI integration via middleware or standalone ASGI apps. It also supports PyScript/Pyodide for running components entirely in the browser and importing actual ReactJS/NPM components from Python. The architecture is a hybrid library/framework: a Python core package (src/reactpy) handles component lifecycle, layout rendering, event dispatch, and state management, while a separate JavaScript client package (src/js/packages/@reactpy/client) handles DOM rendering and WebSocket communication. A notable design feature is the live event proxy, which avoids serializing entire browser event objects to the server; instead, the client holds event objects and lets Python code lazily read properties or invoke methods over a batched, security-blocklisted protocol. The project is well-tested with unit tests, Playwright-based integration tests, and CI across multiple Python versions and operating systems. It is not a data pipeline or research codebase; data-related content appears only as demo examples. The repository also contains substantial documentation, example galleries, build tooling for both Python and JavaScript, and testing fixtures that are useful for any project needing browser-backed backend testing. Some legacy APIs (e.g., reactpy.web) coexist with newer reactjs-based APIs, and the documentation has areas marked under construction, but the core code is actively maintained and demonstrates strong engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
GoogleCloudPlatform/functions-framework-python β˜… 968 128 APPLICATION

This repository is the Python Functions Framework, an open-source FaaS (Function as a Service) framework developed by Google Cloud Functions team. It allows developers to write portable Python functions that can run locally, on Google Cloud Run Functions, or on Knative-based environments. The framework provides a CLI to start a local development server (Flask for WSGI or Starlette for ASGI) that invokes user-defined functions. It supports multiple function signatures: HTTP (Flask Request), CloudEvent (CloudEvents SDK), legacy background events (event/context), and typed events with custom data classes. It handles automatic event conversion between background events and CloudEvents, execution ID tracking with logging, request timeout enforcement via threading, and error handling. The architecture is modular with separate components for CLI, function registry, event conversion, execution ID, and HTTP server abstraction (Flask, Gunicorn, Starlette/Uvicorn). The codebase is well-tested with near-100% branch coverage and includes conformance tests against the Functions Framework conformance suite.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
spec-first/connexion β˜… 4612 782 APPLICATION

Connexion is a Python library and framework for building web APIs using an OpenAPI/Swagger-first approach. It consumes an OpenAPI (3.x) or Swagger (2.0) specification and automatically handles routing, request/response validation, security (API keys, OAuth2, Basic, Bearer, JWT), parameter injection, response serialization, and Swagger UI generation. The system supports both ASGI (via Starlette) and WSGI (via Flask) through a modular middleware stack, with pluggable validators, resolvers, and security handlers. It can be used as a standalone application (AsyncApp, FlaskApp) or as middleware (ConnexionMiddleware) wrapping an existing ASGI/WSGI app. The architecture is cleanly layered: middleware stack for cross-cutting concerns, operation abstraction for spec parsing, decorator chain for view function wrapping, and framework abstraction for Flask/Starlette integration. The codebase is well-structured, extensively tested, and actively maintained, making it a robust choice for spec-driven API development in Python.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
abersheeran/kui β˜… 297 23 APPLICATION

KuΓ­ is a lightweight Python web framework that supports both ASGI (async) and WSGI (sync) modes with a nearly identical API. It provides type-safe parameter binding via typing_extensions.Annotated and Pydantic, dependency injection with caching and cleanup, automatic OpenAPI 3.1.0 documentation generation, middleware composition, class-based views for HTTP and WebSocket, background task execution, CORS support, authentication helpers (Bearer, Basic, API Key), and template rendering with Jinja2. The framework is built on baize and emphasizes developer experience through clear documentation and AI-assisted development support.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
EpicWink/proxpi β˜… 204 37 APPLICATION

proxpi is a caching reverse-proxy server for PyPI and any PEP 503-compatible package index. It fronts one or more upstream indices, serves the Python simple repository API to pip clients in both HTML (PEP 691 v1.0) and JSON (PEP 691 v1.1) forms, and performs correct HTTP content negotiation including Accept, Accept-Encoding, and Vary headers. Index responses (project list and per-project file lists) are cached in memory with per-index TTLs; package files are cached on disk with a configurable size cap and least-frequently-used eviction. When a requested file is still downloading in the background, the server emits a 302 redirect to the upstream URL rather than blocking the client. The system is a single-process Starlette ASGI application (proxpi.server:app) designed for multi-threaded serving under Gunicorn/Hypercorn, configured entirely through environment variables (index URLs, TTLs, cache size/dir, connect/read/download timeouts, SSL verification toggle, log level). Its main target is reducing pip install latency and upstream load in CI pipelines. The implementation is a compact three-layer design: server.py handles routing, templating, and compression; _cache.py holds the caching engine (a File abstraction with FileFromHTML/FileFromJSON parsers for the dual-format simple repository API, an _IndexCache with per-package locks and a fast-path that fetches project pages without refreshing the full index, and a _FileCache with background downloads, atomic os.replace writes, and LFU eviction); _server_utils.py provides RFC-correct content-negotiation helpers built on the stdlib email header parser. The code is thread-safe by design (per-key locks, exception-storing worker threads) and memory-efficient, streaming HTML index parsing through lxml.iterparse via a custom file-like response adapter. The test suite is notably strong: parametrized integration tests against mock HTML/JSON indices covering yanked files, core-metadata hashes, gpg-sig attributes, content negotiation edge cases, cache invalidation, and 404 paths, plus end-to-end tests that run real pip downloads against live PyPI. CI runs the matrix across Python 3.8-3.14, lints with black/isort, and publishes multi-arch Docker images with fully hash-pinned dependencies. One caveat: the README is stale, documenting the pre-1.3 Flask implementation, while the code has already migrated to Starlette (listed in CHANGELOG as unreleased), and the Docker image now runs Gunicorn with an ASGI worker.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
tiangolo/uvicorn-gunicorn-starlette-docker β˜… 200 13 APPLICATION

This repository provides a deprecated Docker image for running Starlette applications with Uvicorn managed by Gunicorn. The image includes auto-tuning of worker processes based on CPU cores. However, the project is explicitly deprecated in favor of using Uvicorn with the `--workers` option directly, as the need for Gunicorn as a process manager has been eliminated by recent Uvicorn features. The repository contains Dockerfiles for Python 3.10 and 3.11 (slim and non-slim) that build upon the `tiangolo/uvicorn-gunicorn` base image, and installs Starlette. It includes a minimal example application and tests to verify the image behavior.

RATING: 4.4/10 MAINT: deprecated DRIFT: high
── end of results ──
$ submit: