nexus-framework 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. nexus_framework-0.1.0/.env.example +25 -0
  2. nexus_framework-0.1.0/.github/workflows/ci.yml +48 -0
  3. nexus_framework-0.1.0/.gitignore +56 -0
  4. nexus_framework-0.1.0/CHANGELOG.md +20 -0
  5. nexus_framework-0.1.0/PKG-INFO +202 -0
  6. nexus_framework-0.1.0/README.md +137 -0
  7. nexus_framework-0.1.0/nexus/__init__.py +169 -0
  8. nexus_framework-0.1.0/nexus/cli.py +194 -0
  9. nexus_framework-0.1.0/nexus/config/__init__.py +5 -0
  10. nexus_framework-0.1.0/nexus/config/settings.py +98 -0
  11. nexus_framework-0.1.0/nexus/core/__init__.py +1 -0
  12. nexus_framework-0.1.0/nexus/core/entities/__init__.py +343 -0
  13. nexus_framework-0.1.0/nexus/core/exceptions/__init__.py +314 -0
  14. nexus_framework-0.1.0/nexus/core/interfaces/__init__.py +69 -0
  15. nexus_framework-0.1.0/nexus/core/jwt.py +145 -0
  16. nexus_framework-0.1.0/nexus/data/__init__.py +30 -0
  17. nexus_framework-0.1.0/nexus/data/frame.py +406 -0
  18. nexus_framework-0.1.0/nexus/data/loader.py +277 -0
  19. nexus_framework-0.1.0/nexus/data/pipeline.py +190 -0
  20. nexus_framework-0.1.0/nexus/data/sink.py +220 -0
  21. nexus_framework-0.1.0/nexus/data/testing.py +193 -0
  22. nexus_framework-0.1.0/nexus/db/__init__.py +63 -0
  23. nexus_framework-0.1.0/nexus/db/expert.py +116 -0
  24. nexus_framework-0.1.0/nexus/db/magic.py +285 -0
  25. nexus_framework-0.1.0/nexus/db/model.py +588 -0
  26. nexus_framework-0.1.0/nexus/db/session.py +231 -0
  27. nexus_framework-0.1.0/nexus/deployment.py +191 -0
  28. nexus_framework-0.1.0/nexus/logging/__init__.py +5 -0
  29. nexus_framework-0.1.0/nexus/logging/logger.py +59 -0
  30. nexus_framework-0.1.0/nexus/magic/__init__.py +27 -0
  31. nexus_framework-0.1.0/nexus/magic/injector.py +307 -0
  32. nexus_framework-0.1.0/nexus/magic/introspect.py +122 -0
  33. nexus_framework-0.1.0/nexus/observability.py +593 -0
  34. nexus_framework-0.1.0/nexus/py.typed +1 -0
  35. nexus_framework-0.1.0/nexus/testing.py +567 -0
  36. nexus_framework-0.1.0/nexus/web/__init__.py +111 -0
  37. nexus_framework-0.1.0/nexus/web/app.py +809 -0
  38. nexus_framework-0.1.0/nexus/web/asgi.py +227 -0
  39. nexus_framework-0.1.0/nexus/web/auth.py +643 -0
  40. nexus_framework-0.1.0/nexus/web/background.py +59 -0
  41. nexus_framework-0.1.0/nexus/web/cookies.py +70 -0
  42. nexus_framework-0.1.0/nexus/web/idempotency.py +74 -0
  43. nexus_framework-0.1.0/nexus/web/lifespan.py +78 -0
  44. nexus_framework-0.1.0/nexus/web/middlewares.py +429 -0
  45. nexus_framework-0.1.0/nexus/web/openapi.py +216 -0
  46. nexus_framework-0.1.0/nexus/web/pagination.py +81 -0
  47. nexus_framework-0.1.0/nexus/web/router.py +472 -0
  48. nexus_framework-0.1.0/nexus/web/security.py +84 -0
  49. nexus_framework-0.1.0/nexus/web/session.py +349 -0
  50. nexus_framework-0.1.0/nexus/web/sse.py +120 -0
  51. nexus_framework-0.1.0/nexus/web/staticfiles.py +146 -0
  52. nexus_framework-0.1.0/nexus/web/template/__init__.py +18 -0
  53. nexus_framework-0.1.0/nexus/web/template/compiler.py +198 -0
  54. nexus_framework-0.1.0/nexus/web/template/engine.py +130 -0
  55. nexus_framework-0.1.0/nexus/web/template/filters.py +133 -0
  56. nexus_framework-0.1.0/nexus/web/template/lexer.py +170 -0
  57. nexus_framework-0.1.0/nexus/web/template/parser.py +356 -0
  58. nexus_framework-0.1.0/nexus/web/upload.py +68 -0
  59. nexus_framework-0.1.0/nexus/web/validation.py +227 -0
  60. nexus_framework-0.1.0/nexus/web/websocket.py +120 -0
  61. nexus_framework-0.1.0/pyproject.toml +135 -0
  62. nexus_framework-0.1.0/tests/integration/test_phase1_complete.py +323 -0
  63. nexus_framework-0.1.0/tests/unit/test_api_key_auth.py +228 -0
  64. nexus_framework-0.1.0/tests/unit/test_app.py +203 -0
  65. nexus_framework-0.1.0/tests/unit/test_asgi.py +166 -0
  66. nexus_framework-0.1.0/tests/unit/test_config_and_logging.py +59 -0
  67. nexus_framework-0.1.0/tests/unit/test_data_pipeline.py +713 -0
  68. nexus_framework-0.1.0/tests/unit/test_database.py +358 -0
  69. nexus_framework-0.1.0/tests/unit/test_deployment.py +201 -0
  70. nexus_framework-0.1.0/tests/unit/test_entities.py +206 -0
  71. nexus_framework-0.1.0/tests/unit/test_exceptions.py +65 -0
  72. nexus_framework-0.1.0/tests/unit/test_jwt_auth.py +358 -0
  73. nexus_framework-0.1.0/tests/unit/test_magic_di.py +335 -0
  74. nexus_framework-0.1.0/tests/unit/test_middlewares.py +187 -0
  75. nexus_framework-0.1.0/tests/unit/test_observability.py +201 -0
  76. nexus_framework-0.1.0/tests/unit/test_performance_hardening.py +107 -0
  77. nexus_framework-0.1.0/tests/unit/test_rbac_permissions.py +322 -0
  78. nexus_framework-0.1.0/tests/unit/test_router.py +133 -0
  79. nexus_framework-0.1.0/tests/unit/test_security_hardening.py +376 -0
  80. nexus_framework-0.1.0/tests/unit/test_session.py +144 -0
  81. nexus_framework-0.1.0/tests/unit/test_session_auth.py +302 -0
  82. nexus_framework-0.1.0/tests/unit/test_staticfiles.py +149 -0
  83. nexus_framework-0.1.0/tests/unit/test_template_engine.py +287 -0
  84. nexus_framework-0.1.0/tests/unit/test_testing_utilities.py +303 -0
  85. nexus_framework-0.1.0/tests/unit/test_validation.py +256 -0
  86. nexus_framework-0.1.0/tests/unit/test_web_enhancements.py +581 -0
@@ -0,0 +1,25 @@
1
+ # -------------------------------------------------------------
2
+ # Nexus Framework Configuration Example
3
+ # Copy to .env and adjust values for your environment.
4
+ # -------------------------------------------------------------
5
+
6
+ # Application
7
+ NEXUS_APP_NAME="Nexus Application"
8
+ NEXUS_ENV="development" # development | testing | staging | production
9
+ NEXUS_DEBUG=true
10
+ NEXUS_SECRET_KEY="replace-with-a-secure-random-secret-key"
11
+
12
+ # Server
13
+ NEXUS_HOST="127.0.0.1"
14
+ NEXUS_PORT=8000
15
+ NEXUS_WORKERS=1
16
+
17
+ # Logging
18
+ NEXUS_LOG_LEVEL="INFO" # DEBUG | INFO | WARNING | ERROR
19
+ NEXUS_LOG_FORMAT="console" # console | json
20
+
21
+ # Database (Phase 5)
22
+ # NEXUS_DATABASE_URL="postgresql+asyncpg://user:pass@localhost:5432/nexus_db"
23
+
24
+ # Redis Cache
25
+ # NEXUS_REDIS_URL="redis://localhost:6379/0"
@@ -0,0 +1,48 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, master ]
6
+ pull_request:
7
+ branches: [ main, master ]
8
+
9
+ jobs:
10
+ quality-and-tests:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.11", "3.12"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Python ${{ matrix.python-version }}
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: ${{ matrix.python-version }}
23
+ cache: "pip"
24
+
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install -e ".[dev,all]"
29
+
30
+ - name: Run Ruff Linter
31
+ run: |
32
+ ruff check .
33
+
34
+ - name: Run Ruff Formatter Check
35
+ run: |
36
+ ruff format --check .
37
+
38
+ - name: Run Mypy Type Checker
39
+ run: |
40
+ mypy nexus
41
+
42
+ - name: Run Bandit Security Analysis
43
+ run: |
44
+ bandit -r nexus/ -c pyproject.toml || bandit -r nexus/
45
+
46
+ - name: Run Pytest with Coverage
47
+ run: |
48
+ pytest --cov=nexus --cov-report=xml --cov-report=term-missing
@@ -0,0 +1,56 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # Virtual Environments
30
+ .venv/
31
+ venv/
32
+ ENV/
33
+ env/
34
+
35
+ # IDE files
36
+ .idea/
37
+ .vscode/
38
+ *.swp
39
+ *.swo
40
+
41
+ # Testing and coverage
42
+ .coverage
43
+ .coverage.*
44
+ htmlcov/
45
+ .pytest_cache/
46
+ .mypy_cache/
47
+ .ruff_cache/
48
+
49
+ # Environment variables
50
+ .env
51
+ .env.local
52
+
53
+ # Database files
54
+ *.sqlite
55
+ *.sqlite3
56
+ *.db
@@ -0,0 +1,20 @@
1
+ # Changelog
2
+
3
+ All notable changes to Nexus Framework will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.1.0] - Unreleased
9
+
10
+ ### Added
11
+ - **Phase 0 Foundation**:
12
+ - `pyproject.toml` with PEP 621 metadata, modern build system (`hatchling`), and optional domain extras (`web`, `db`, `data`, `ai`, `dev`, `all`).
13
+ - Strict code quality toolchain configs: `mypy --strict`, `ruff` linting and formatting, `pytest-cov` targeting >90% coverage.
14
+ - Zero-dependency `core` module:
15
+ - Complete HTTP exception hierarchy (400-500) and base `NexusException`.
16
+ - Pure domain entities: `NexusRequest`, `NexusResponse`, `Route`, `RequestContext`.
17
+ - Strict `Protocol` interfaces: `IRouter`, `IMiddleware`, `IProvider`, `IRequestHandler`.
18
+ - Type-safe, validated configuration system via `pydantic-settings` (`NexusSettings`).
19
+ - Enterprise structured logging wrapper using `structlog` (`NexusLogger`, `setup_logging`).
20
+ - CI pipeline configuration with automated code quality and test gates.
@@ -0,0 +1,202 @@
1
+ Metadata-Version: 2.5
2
+ Name: nexus-framework
3
+ Version: 0.1.0
4
+ Summary: Ultimate Simplicity, Uncompromising Power. Next-Gen Python Framework for Web, Data, and AI.
5
+ Project-URL: Homepage, https://github.com/nexus-framework/nexus
6
+ Project-URL: Documentation, https://nexus-framework.readthedocs.io
7
+ Project-URL: Repository, https://github.com/nexus-framework/nexus
8
+ Author: Nexus Team
9
+ License: MIT
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
17
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
18
+ Classifier: Typing :: Typed
19
+ Requires-Python: >=3.11
20
+ Requires-Dist: pydantic-settings>=2.2.0
21
+ Requires-Dist: pydantic>=2.7.0
22
+ Requires-Dist: structlog>=24.1.0
23
+ Requires-Dist: typing-extensions>=4.10.0
24
+ Provides-Extra: ai
25
+ Requires-Dist: numpy>=1.26.0; extra == 'ai'
26
+ Provides-Extra: all
27
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'all'
28
+ Requires-Dist: alembic>=1.13.1; extra == 'all'
29
+ Requires-Dist: asyncpg>=0.29.0; extra == 'all'
30
+ Requires-Dist: bandit>=1.7.8; extra == 'all'
31
+ Requires-Dist: httpx>=0.27.0; extra == 'all'
32
+ Requires-Dist: mypy>=1.9.0; extra == 'all'
33
+ Requires-Dist: numpy>=1.26.0; extra == 'all'
34
+ Requires-Dist: polars>=0.20.20; extra == 'all'
35
+ Requires-Dist: pyarrow>=15.0.2; extra == 'all'
36
+ Requires-Dist: pydantic>=2.7.0; extra == 'all'
37
+ Requires-Dist: pytest-asyncio>=0.23.6; extra == 'all'
38
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'all'
39
+ Requires-Dist: pytest>=8.1.0; extra == 'all'
40
+ Requires-Dist: python-multipart>=0.0.9; extra == 'all'
41
+ Requires-Dist: ruff>=0.3.7; extra == 'all'
42
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.29; extra == 'all'
43
+ Requires-Dist: uvicorn[standard]>=0.29.0; extra == 'all'
44
+ Provides-Extra: data
45
+ Requires-Dist: polars>=0.20.20; extra == 'data'
46
+ Requires-Dist: pyarrow>=15.0.2; extra == 'data'
47
+ Requires-Dist: pydantic>=2.7.0; extra == 'data'
48
+ Provides-Extra: db
49
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'db'
50
+ Requires-Dist: alembic>=1.13.1; extra == 'db'
51
+ Requires-Dist: asyncpg>=0.29.0; extra == 'db'
52
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.29; extra == 'db'
53
+ Provides-Extra: dev
54
+ Requires-Dist: bandit>=1.7.8; extra == 'dev'
55
+ Requires-Dist: mypy>=1.9.0; extra == 'dev'
56
+ Requires-Dist: pytest-asyncio>=0.23.6; extra == 'dev'
57
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
58
+ Requires-Dist: pytest>=8.1.0; extra == 'dev'
59
+ Requires-Dist: ruff>=0.3.7; extra == 'dev'
60
+ Provides-Extra: web
61
+ Requires-Dist: httpx>=0.27.0; extra == 'web'
62
+ Requires-Dist: python-multipart>=0.0.9; extra == 'web'
63
+ Requires-Dist: uvicorn[standard]>=0.29.0; extra == 'web'
64
+ Description-Content-Type: text/markdown
65
+
66
+ # Nexus
67
+
68
+ > **Ultimate Simplicity, Uncompromising Power.**
69
+
70
+ Nexus is a next-generation Python framework built from the ground up to unify **Web**, **Data**, and **AI** applications into a single, cohesive developer experience.
71
+
72
+ ---
73
+
74
+ ## ⚡ The Philosophy
75
+
76
+ 1. **Magical for Beginners, Unrestricted for Experts**
77
+ - 3 levels of API for every feature:
78
+ - **Level 1 (Magical)**: One-liner convention defaults (`from nexus import Nexus; app = Nexus()`).
79
+ - **Level 2 (Configured)**: Explicit dependency injection, custom routers, middleware configuration, settings.
80
+ - **Level 3 (Raw)**: Full low-level control (direct ASGI scope, raw receive/send, and stream control) with zero overhead.
81
+ 2. **Enterprise Grade from Day Zero**
82
+ - Clean Architecture: strict Separation of Concerns (SoC).
83
+ - `core` has **zero external dependencies**.
84
+ - Fully typed with `mypy --strict` compliance across all source files and test suites.
85
+ - Comprehensive unit test coverage with strict CI threshold (currently **92.35%**).
86
+ 3. **No Compromises**
87
+ - Built custom where identity matters (e.g., the high-speed **NX Template Engine** — zero external template dependencies).
88
+ - Async-first internally, seamless for synchronous handlers.
89
+
90
+ ---
91
+
92
+ ## 📊 Development Progress & Roadmap Status
93
+
94
+ | Phase | Domain | Component | Status | Details |
95
+ |:---:|:---:|:---|:---:|:---|
96
+ | **Phase 0** | **Foundation** | Tooling & Core Architecture | ✅ **100% Complete** | Hatchling, PEP 621, Ruff, Mypy Strict, Pytest-cov, CI GitHub Actions, Base Exceptions, Entities, Protocols, Pydantic Settings, Structlog. |
97
+ | **Phase 1.1** | **Web** | ASGI 3.0 Adapter & Lifespan | ✅ **100% Complete** | `build_nexus_request`, `send_nexus_response`, Async Lifespan manager (`on_startup`, `on_shutdown`). |
98
+ | **Phase 1.2** | **Web** | Radix-Tree Router | ✅ **100% Complete** | $O(k)$ Radix tree, typed path parameters (`{id:int}`, `{price:float}`, `{id:uuid}`), wildcards (`{path:path}`), 405 Method Not Allowed handling. |
99
+ | **Phase 1.3** | **Web** | NexusApp Core Orchestrator | ✅ **100% Complete** | `NexusApp` / `Nexus`, 3-Level API, sync & async handlers auto-execution, auto-response normalization (`dict` $\rightarrow$ JSON, `str` $\rightarrow$ text, `None` $\rightarrow$ 204), error boundary. |
100
+ | **Phase 1.4** | **Web** | Request & Response Deepening | ✅ **100% Complete** | `request.json()`, `request.form()`, `request.cookies`, `request.client_ip`, `JSONResponse`, `HTMLResponse`, `PlainTextResponse`, `RedirectResponse`, `FileResponse`, `StreamingResponse`. |
101
+ | **Phase 1.5** | **Web** | Built-in Middlewares | ✅ **100% Complete** | `CORSMiddleware`, `SecurityHeadersMiddleware`, `TimingMiddleware` (`X-Response-Time`), `RequestIdMiddleware` (`X-Request-ID`), `GZipMiddleware`. |
102
+ | **Phase 1.6** | **Web** | Static File Serving | ✅ **100% Complete** | `StaticFiles`, path traversal security defense, MIME detection, weak ETags & 304 conditional cache, RFC 7233 Range Requests (HTTP 206), `app.mount_static()`. |
103
+ | **Phase 1.7** | **Web** | Request Validation & Body Parsing | ✅ **100% Complete** | Automatic Pydantic model validation from body, automatic query parameter coercion, `422 UnprocessableEntityError`, `UploadFile` multipart file streaming. |
104
+ | **Phase 1.8** | **Web** | Cookie & Session Management | ✅ **100% Complete** | HMAC-SHA256 cookie signing & tampering defense, `SessionMiddleware`, pluggable `SessionBackend` (`MemorySessionBackend`), `HttpOnly` security. |
105
+ | **Phase 1.9** | **Web** | Custom NX Template Engine | ✅ **100% Complete** | Custom `.nx` syntax, pure-Python Lexer, AST Parser, Runtime Compiler, 14 built-in filters, template inheritance (`@extends`, `@block`), includes (`@include`), macros (`@macro`), auto-escaping, LRU AST cache. |
106
+ | **Phase 1 Complete** | **Web** | **Web Core Complete & Hardened** | ✅ **100% Complete** | Full Roadmap Exit Criteria fulfilled: `WebSocket` bidirectional pub/sub & `WebSocketGroup`, `RateLimitMiddleware`, `TrustedHostMiddleware`, `Blueprint` modular routing, duplicate route detection, `url_for`, and full end-to-end REST API integration test suite. |
107
+ | **Phase 2** | **Core Magic** | **Magic Layer (DI Engine & Introspection)** | ✅ **100% Complete** | Framework-agnostic type-based `DIContainer`, Scopes (`singleton`, `per_request`, `transient`), sub-dependency graph resolution, sync & async provider resolution, fail-fast circular dependency detection (`validate_dependencies`), test provider overrides (`app.override`), dependency tree visualization, and smart cached signature analysis (`introspect_callable`). |
108
+ | **Phase 3.1** | **Security** | **JWT Authentication & RBAC Engine** | ✅ **100% Complete** | Pure-Python zero-dependency JWT engine (HS256, timing-safe verification, base64url), access & refresh token pair generation, refresh token rotation, `TokenBlacklist` revocation, `CurrentUser` per-request DI injection, route-level auth checks (`auth=True`, `auth="admin"`, `auth=["admin", "moderator"]`), HTTP 401 Unauthorized & 403 Forbidden enforcement. |
109
+ | **Phase 3.2** | **Security** | OAuth2 / Social Auth | ⏩ **Skipped (Deferred)** | OAuth2 protocol adapter and social providers (deferred per user request). |
110
+ | **Phase 3.3** | **Security** | **Session-Based Authentication** | ✅ **100% Complete** | `UserSession` dict wrapper with dirty tracking, session ID rotation (Anti-Session Fixation attack defense), one-time flash messages (`flash`, `get_flashes`), `SessionAuthManager` (`login`, `logout`), pluggable backends (`MemorySessionBackend`, `SignedCookieSessionBackend`), signed HTTP-only tamper-proof cookies, and automatic DI injection of `UserSession` & `CurrentUser`. |
111
+ | **Phase 3.4** | **Security** | **Permission & Role System (RBAC)** | ✅ **100% Complete** | Granular permissions enforcement, wildcard permissions (`*` and `domain:*`), transitive `RoleHierarchy` inheritance, `PermissionRegistry` mapping, route decorators (`permissions='users:write'`), `@require_roles` / `@require_permissions`, detailed 403 Forbidden responses. |
112
+ | **Phase 3.5** | **Security** | **API Key Authentication** | ✅ **100% Complete** | High-performance API key engine (`APIKey`, `APIKeyAuthManager`, `MemoryAPIKeyStore`), secure prefix-dot-secret generation (`nxk_prefix.secret`), SHA-256 hash storage with timing-safe verification, expiration checks, extraction via `X-API-Key` header or `?api_key=` query parameter, seamless integration with route RBAC and DI. |
113
+ | **Phase 3.6** | **Security** | **Security Hardening (CSRF, Headers, Rate Limiting)** | ✅ **100% Complete** | Cryptographic Double-Submit Cookie CSRF protection (`CSRFMiddleware`), automatic token issuance on safe requests, constant-time header & form token validation on state-changing requests, path/custom exemptions, `TrustedHostMiddleware`, `RateLimitMiddleware` sliding-window throttling, and enterprise `SecurityHeadersMiddleware`. |
114
+ | **Phase 4.1** | **Testing** | **Built-in Testing Utilities (`TestClient`)** | ✅ **100% Complete** | Production-ready synchronous & asynchronous `TestClient`, zero external dependencies, ASGI dispatch, HTTP method wrappers (`get`, `post`, `put`, `delete`, `patch`, `head`), `TestResponse` assertions (`res.json`, `res.text`, `res.raise_for_status()`), persistent cookie jar (`client.cookies`), user simulation context (`client.as_user()`), DI provider overrides (`client.override()`), and synchronous `WebSocketTestSession` (`ws_connect()`, `send_text`, `send_json`, `send_bytes`, `receive_text`, `receive_json`, `receive_bytes`). |
115
+ | **Phase 4.2** | **Observability** | **Prometheus, OTel & Health Probes** | ✅ **100% Complete** | Zero external dependencies Prometheus metric collectors (`Counter`, `Gauge`, `Histogram`) and auto-mounted `/metrics` exposition, OpenTelemetry-compatible `Tracer` with W3C `traceparent` propagation, auto-registered `/health` (liveness) & `/ready` (readiness) probes with pluggable async/sync checks (`HealthCheckManager`), and structured JSON access logging with request ID, user ID, duration, and trace IDs. |
116
+ | **Phase 4.3** | **Performance** | **Performance Hardening & Caching** | ✅ **100% Complete** | Route-level in-memory response caching (`@app.get('/', cache=60)`), SHA-256 ETag generation and 304 Not Modified validation with `If-None-Match`, connection keep-alive header auto-injection, enforced configurable request body size limits (`max_body_size`, HTTP 413 `PayloadTooLargeError`), and automatic slow request detection with structured warning logs. |
117
+ | **Phase 4.4** | **Production** | **Production Deployment Readiness** | ✅ **100% Complete** | `GracefulShutdownManager` in-flight request tracking & draining, SIGTERM/SIGINT signal handling, multi-worker supervisor support (`run_app`), production multi-stage Dockerfile generator (`generate_dockerfile`), and environment variable documentation generator (`generate_env_documentation`). |
118
+ | **Phase 4.5** | **Documentation** | **Web Domain Documentation & Cookbooks** | ✅ **100% Complete** | Getting Started 5-minute walkthrough (`docs/getting_started.md`), Flask & FastAPI migration guide (`docs/migration_guide.md`), real-world cookbook recipes (`docs/cookbook.md`), defense-in-depth security guide (`docs/security_guide.md`), and comprehensive API reference (`docs/api_reference.md`). |
119
+ | **Phase 4 Complete** | **Milestone** | **Web Domain Complete (`v0.3.0`)** | 🏆 **100% Complete** | Complete Web Domain production hardened and verified across all test suites, type gates, security scanners, and documentation. |
120
+ | **Phase 5** | **Database** | **Unified Database & ORM Layer** | ✅ **100% Complete** | 3-Level Architecture: Level 1 Magic DB (`nexus.db`), Level 2 Active-Record Model System (`nexus.db.Model`, `Field`, `Relationship`, soft-delete, chainable queries), Level 3 Raw AsyncSession injection (`nexus.db.AsyncSession`), Async connection pooling (`aiosqlite`, `asyncpg`), read-replica master/replica routing, Alembic migrations automation (`init_migrations`, `generate_migration`, `apply_migrations`). |
121
+ | **Phase 6–7** | **Data** | Data Pipelines & Hardening | 📋 **Next in Queue** | Polars/Arrow integration, ETL transforms, automated scheduling. |
122
+ | **Phase 8–10** | **AI** | Agentic AI & RAG Runtime | 📋 Planned | LLM abstractions, multi-model providers, `@app.ai` decorator, vector search. |
123
+ | **Phase 11–13**| **Ecosystem**| CLI, Plugins & Release | 📋 Planned | `nexus` CLI, extension ecosystem, public release benchmarks. |
124
+
125
+ ---
126
+
127
+ ## 📦 Architecture Layers
128
+
129
+ ```
130
+ nexus/
131
+ ├── nexus/
132
+ │ ├── core/ # Pure Python, 0 external dependencies (Protocols, Entities, Exceptions)
133
+ │ ├── config/ # pydantic-settings type-safe configuration
134
+ │ ├── logging/ # structlog structured logger
135
+ │ ├── magic/ # DI and auto-wiring engine
136
+ │ ├── web/ # ASGI adapter, Router, Middleware, StaticFiles, Validation, Session, NX Template Engine
137
+ │ ├── db/ # Unified Database Layer (Phase 5)
138
+ │ ├── data/ # High-speed data processing (Phase 6)
139
+ │ └── ai/ # Agentic AI & LLM runtime (Phase 8)
140
+ ```
141
+
142
+ ---
143
+
144
+ ## 🚀 Quick Example
145
+
146
+ ```python
147
+ from nexus import Nexus, NexusRequest, UploadFile
148
+ from pydantic import BaseModel, Field
149
+
150
+ app = Nexus(title="My Nexus App")
151
+
152
+
153
+ class Item(BaseModel):
154
+ name: str
155
+ price: float = Field(gt=0)
156
+
157
+
158
+ # Level 1 Magic Route with automatic Pydantic validation
159
+ @app.post("/items")
160
+ def create_item(item: Item) -> dict[str, object]:
161
+ return {"status": "created", "item": item.model_dump()}
162
+
163
+
164
+ # Path parameter with automatic type coercion
165
+ @app.get("/items/{id:int}")
166
+ def get_item(id: int) -> dict[str, object]:
167
+ return {"item_id": id, "name": "Sample Item"}
168
+
169
+
170
+ # Mount static files with path traversal security & range streaming
171
+ app.mount_static("/static", "./public")
172
+ ```
173
+
174
+ ---
175
+
176
+ ## 🧪 Developer Setup & Testing
177
+
178
+ Requires **Python 3.11+**.
179
+
180
+ ```bash
181
+ # Clone the repository
182
+ git clone https://github.com/nexus-framework/nexus.git
183
+ cd nexus
184
+
185
+ # Install development & web extras
186
+ pip install -e ".[dev,web]"
187
+
188
+ # Run Ruff linter and formatter checks
189
+ ruff check .
190
+
191
+ # Run strict type checking
192
+ mypy nexus tests
193
+
194
+ # Run full test suite with coverage
195
+ pytest --cov=nexus --cov-report=term-missing
196
+ ```
197
+
198
+ ---
199
+
200
+ ## 🗺️ Detailed Roadmap
201
+
202
+ For the exhaustive 13-phase development specification, refer to [ROADMAP.md](ROADMAP.md).
@@ -0,0 +1,137 @@
1
+ # Nexus
2
+
3
+ > **Ultimate Simplicity, Uncompromising Power.**
4
+
5
+ Nexus is a next-generation Python framework built from the ground up to unify **Web**, **Data**, and **AI** applications into a single, cohesive developer experience.
6
+
7
+ ---
8
+
9
+ ## ⚡ The Philosophy
10
+
11
+ 1. **Magical for Beginners, Unrestricted for Experts**
12
+ - 3 levels of API for every feature:
13
+ - **Level 1 (Magical)**: One-liner convention defaults (`from nexus import Nexus; app = Nexus()`).
14
+ - **Level 2 (Configured)**: Explicit dependency injection, custom routers, middleware configuration, settings.
15
+ - **Level 3 (Raw)**: Full low-level control (direct ASGI scope, raw receive/send, and stream control) with zero overhead.
16
+ 2. **Enterprise Grade from Day Zero**
17
+ - Clean Architecture: strict Separation of Concerns (SoC).
18
+ - `core` has **zero external dependencies**.
19
+ - Fully typed with `mypy --strict` compliance across all source files and test suites.
20
+ - Comprehensive unit test coverage with strict CI threshold (currently **92.35%**).
21
+ 3. **No Compromises**
22
+ - Built custom where identity matters (e.g., the high-speed **NX Template Engine** — zero external template dependencies).
23
+ - Async-first internally, seamless for synchronous handlers.
24
+
25
+ ---
26
+
27
+ ## 📊 Development Progress & Roadmap Status
28
+
29
+ | Phase | Domain | Component | Status | Details |
30
+ |:---:|:---:|:---|:---:|:---|
31
+ | **Phase 0** | **Foundation** | Tooling & Core Architecture | ✅ **100% Complete** | Hatchling, PEP 621, Ruff, Mypy Strict, Pytest-cov, CI GitHub Actions, Base Exceptions, Entities, Protocols, Pydantic Settings, Structlog. |
32
+ | **Phase 1.1** | **Web** | ASGI 3.0 Adapter & Lifespan | ✅ **100% Complete** | `build_nexus_request`, `send_nexus_response`, Async Lifespan manager (`on_startup`, `on_shutdown`). |
33
+ | **Phase 1.2** | **Web** | Radix-Tree Router | ✅ **100% Complete** | $O(k)$ Radix tree, typed path parameters (`{id:int}`, `{price:float}`, `{id:uuid}`), wildcards (`{path:path}`), 405 Method Not Allowed handling. |
34
+ | **Phase 1.3** | **Web** | NexusApp Core Orchestrator | ✅ **100% Complete** | `NexusApp` / `Nexus`, 3-Level API, sync & async handlers auto-execution, auto-response normalization (`dict` $\rightarrow$ JSON, `str` $\rightarrow$ text, `None` $\rightarrow$ 204), error boundary. |
35
+ | **Phase 1.4** | **Web** | Request & Response Deepening | ✅ **100% Complete** | `request.json()`, `request.form()`, `request.cookies`, `request.client_ip`, `JSONResponse`, `HTMLResponse`, `PlainTextResponse`, `RedirectResponse`, `FileResponse`, `StreamingResponse`. |
36
+ | **Phase 1.5** | **Web** | Built-in Middlewares | ✅ **100% Complete** | `CORSMiddleware`, `SecurityHeadersMiddleware`, `TimingMiddleware` (`X-Response-Time`), `RequestIdMiddleware` (`X-Request-ID`), `GZipMiddleware`. |
37
+ | **Phase 1.6** | **Web** | Static File Serving | ✅ **100% Complete** | `StaticFiles`, path traversal security defense, MIME detection, weak ETags & 304 conditional cache, RFC 7233 Range Requests (HTTP 206), `app.mount_static()`. |
38
+ | **Phase 1.7** | **Web** | Request Validation & Body Parsing | ✅ **100% Complete** | Automatic Pydantic model validation from body, automatic query parameter coercion, `422 UnprocessableEntityError`, `UploadFile` multipart file streaming. |
39
+ | **Phase 1.8** | **Web** | Cookie & Session Management | ✅ **100% Complete** | HMAC-SHA256 cookie signing & tampering defense, `SessionMiddleware`, pluggable `SessionBackend` (`MemorySessionBackend`), `HttpOnly` security. |
40
+ | **Phase 1.9** | **Web** | Custom NX Template Engine | ✅ **100% Complete** | Custom `.nx` syntax, pure-Python Lexer, AST Parser, Runtime Compiler, 14 built-in filters, template inheritance (`@extends`, `@block`), includes (`@include`), macros (`@macro`), auto-escaping, LRU AST cache. |
41
+ | **Phase 1 Complete** | **Web** | **Web Core Complete & Hardened** | ✅ **100% Complete** | Full Roadmap Exit Criteria fulfilled: `WebSocket` bidirectional pub/sub & `WebSocketGroup`, `RateLimitMiddleware`, `TrustedHostMiddleware`, `Blueprint` modular routing, duplicate route detection, `url_for`, and full end-to-end REST API integration test suite. |
42
+ | **Phase 2** | **Core Magic** | **Magic Layer (DI Engine & Introspection)** | ✅ **100% Complete** | Framework-agnostic type-based `DIContainer`, Scopes (`singleton`, `per_request`, `transient`), sub-dependency graph resolution, sync & async provider resolution, fail-fast circular dependency detection (`validate_dependencies`), test provider overrides (`app.override`), dependency tree visualization, and smart cached signature analysis (`introspect_callable`). |
43
+ | **Phase 3.1** | **Security** | **JWT Authentication & RBAC Engine** | ✅ **100% Complete** | Pure-Python zero-dependency JWT engine (HS256, timing-safe verification, base64url), access & refresh token pair generation, refresh token rotation, `TokenBlacklist` revocation, `CurrentUser` per-request DI injection, route-level auth checks (`auth=True`, `auth="admin"`, `auth=["admin", "moderator"]`), HTTP 401 Unauthorized & 403 Forbidden enforcement. |
44
+ | **Phase 3.2** | **Security** | OAuth2 / Social Auth | ⏩ **Skipped (Deferred)** | OAuth2 protocol adapter and social providers (deferred per user request). |
45
+ | **Phase 3.3** | **Security** | **Session-Based Authentication** | ✅ **100% Complete** | `UserSession` dict wrapper with dirty tracking, session ID rotation (Anti-Session Fixation attack defense), one-time flash messages (`flash`, `get_flashes`), `SessionAuthManager` (`login`, `logout`), pluggable backends (`MemorySessionBackend`, `SignedCookieSessionBackend`), signed HTTP-only tamper-proof cookies, and automatic DI injection of `UserSession` & `CurrentUser`. |
46
+ | **Phase 3.4** | **Security** | **Permission & Role System (RBAC)** | ✅ **100% Complete** | Granular permissions enforcement, wildcard permissions (`*` and `domain:*`), transitive `RoleHierarchy` inheritance, `PermissionRegistry` mapping, route decorators (`permissions='users:write'`), `@require_roles` / `@require_permissions`, detailed 403 Forbidden responses. |
47
+ | **Phase 3.5** | **Security** | **API Key Authentication** | ✅ **100% Complete** | High-performance API key engine (`APIKey`, `APIKeyAuthManager`, `MemoryAPIKeyStore`), secure prefix-dot-secret generation (`nxk_prefix.secret`), SHA-256 hash storage with timing-safe verification, expiration checks, extraction via `X-API-Key` header or `?api_key=` query parameter, seamless integration with route RBAC and DI. |
48
+ | **Phase 3.6** | **Security** | **Security Hardening (CSRF, Headers, Rate Limiting)** | ✅ **100% Complete** | Cryptographic Double-Submit Cookie CSRF protection (`CSRFMiddleware`), automatic token issuance on safe requests, constant-time header & form token validation on state-changing requests, path/custom exemptions, `TrustedHostMiddleware`, `RateLimitMiddleware` sliding-window throttling, and enterprise `SecurityHeadersMiddleware`. |
49
+ | **Phase 4.1** | **Testing** | **Built-in Testing Utilities (`TestClient`)** | ✅ **100% Complete** | Production-ready synchronous & asynchronous `TestClient`, zero external dependencies, ASGI dispatch, HTTP method wrappers (`get`, `post`, `put`, `delete`, `patch`, `head`), `TestResponse` assertions (`res.json`, `res.text`, `res.raise_for_status()`), persistent cookie jar (`client.cookies`), user simulation context (`client.as_user()`), DI provider overrides (`client.override()`), and synchronous `WebSocketTestSession` (`ws_connect()`, `send_text`, `send_json`, `send_bytes`, `receive_text`, `receive_json`, `receive_bytes`). |
50
+ | **Phase 4.2** | **Observability** | **Prometheus, OTel & Health Probes** | ✅ **100% Complete** | Zero external dependencies Prometheus metric collectors (`Counter`, `Gauge`, `Histogram`) and auto-mounted `/metrics` exposition, OpenTelemetry-compatible `Tracer` with W3C `traceparent` propagation, auto-registered `/health` (liveness) & `/ready` (readiness) probes with pluggable async/sync checks (`HealthCheckManager`), and structured JSON access logging with request ID, user ID, duration, and trace IDs. |
51
+ | **Phase 4.3** | **Performance** | **Performance Hardening & Caching** | ✅ **100% Complete** | Route-level in-memory response caching (`@app.get('/', cache=60)`), SHA-256 ETag generation and 304 Not Modified validation with `If-None-Match`, connection keep-alive header auto-injection, enforced configurable request body size limits (`max_body_size`, HTTP 413 `PayloadTooLargeError`), and automatic slow request detection with structured warning logs. |
52
+ | **Phase 4.4** | **Production** | **Production Deployment Readiness** | ✅ **100% Complete** | `GracefulShutdownManager` in-flight request tracking & draining, SIGTERM/SIGINT signal handling, multi-worker supervisor support (`run_app`), production multi-stage Dockerfile generator (`generate_dockerfile`), and environment variable documentation generator (`generate_env_documentation`). |
53
+ | **Phase 4.5** | **Documentation** | **Web Domain Documentation & Cookbooks** | ✅ **100% Complete** | Getting Started 5-minute walkthrough (`docs/getting_started.md`), Flask & FastAPI migration guide (`docs/migration_guide.md`), real-world cookbook recipes (`docs/cookbook.md`), defense-in-depth security guide (`docs/security_guide.md`), and comprehensive API reference (`docs/api_reference.md`). |
54
+ | **Phase 4 Complete** | **Milestone** | **Web Domain Complete (`v0.3.0`)** | 🏆 **100% Complete** | Complete Web Domain production hardened and verified across all test suites, type gates, security scanners, and documentation. |
55
+ | **Phase 5** | **Database** | **Unified Database & ORM Layer** | ✅ **100% Complete** | 3-Level Architecture: Level 1 Magic DB (`nexus.db`), Level 2 Active-Record Model System (`nexus.db.Model`, `Field`, `Relationship`, soft-delete, chainable queries), Level 3 Raw AsyncSession injection (`nexus.db.AsyncSession`), Async connection pooling (`aiosqlite`, `asyncpg`), read-replica master/replica routing, Alembic migrations automation (`init_migrations`, `generate_migration`, `apply_migrations`). |
56
+ | **Phase 6–7** | **Data** | Data Pipelines & Hardening | 📋 **Next in Queue** | Polars/Arrow integration, ETL transforms, automated scheduling. |
57
+ | **Phase 8–10** | **AI** | Agentic AI & RAG Runtime | 📋 Planned | LLM abstractions, multi-model providers, `@app.ai` decorator, vector search. |
58
+ | **Phase 11–13**| **Ecosystem**| CLI, Plugins & Release | 📋 Planned | `nexus` CLI, extension ecosystem, public release benchmarks. |
59
+
60
+ ---
61
+
62
+ ## 📦 Architecture Layers
63
+
64
+ ```
65
+ nexus/
66
+ ├── nexus/
67
+ │ ├── core/ # Pure Python, 0 external dependencies (Protocols, Entities, Exceptions)
68
+ │ ├── config/ # pydantic-settings type-safe configuration
69
+ │ ├── logging/ # structlog structured logger
70
+ │ ├── magic/ # DI and auto-wiring engine
71
+ │ ├── web/ # ASGI adapter, Router, Middleware, StaticFiles, Validation, Session, NX Template Engine
72
+ │ ├── db/ # Unified Database Layer (Phase 5)
73
+ │ ├── data/ # High-speed data processing (Phase 6)
74
+ │ └── ai/ # Agentic AI & LLM runtime (Phase 8)
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 🚀 Quick Example
80
+
81
+ ```python
82
+ from nexus import Nexus, NexusRequest, UploadFile
83
+ from pydantic import BaseModel, Field
84
+
85
+ app = Nexus(title="My Nexus App")
86
+
87
+
88
+ class Item(BaseModel):
89
+ name: str
90
+ price: float = Field(gt=0)
91
+
92
+
93
+ # Level 1 Magic Route with automatic Pydantic validation
94
+ @app.post("/items")
95
+ def create_item(item: Item) -> dict[str, object]:
96
+ return {"status": "created", "item": item.model_dump()}
97
+
98
+
99
+ # Path parameter with automatic type coercion
100
+ @app.get("/items/{id:int}")
101
+ def get_item(id: int) -> dict[str, object]:
102
+ return {"item_id": id, "name": "Sample Item"}
103
+
104
+
105
+ # Mount static files with path traversal security & range streaming
106
+ app.mount_static("/static", "./public")
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 🧪 Developer Setup & Testing
112
+
113
+ Requires **Python 3.11+**.
114
+
115
+ ```bash
116
+ # Clone the repository
117
+ git clone https://github.com/nexus-framework/nexus.git
118
+ cd nexus
119
+
120
+ # Install development & web extras
121
+ pip install -e ".[dev,web]"
122
+
123
+ # Run Ruff linter and formatter checks
124
+ ruff check .
125
+
126
+ # Run strict type checking
127
+ mypy nexus tests
128
+
129
+ # Run full test suite with coverage
130
+ pytest --cov=nexus --cov-report=term-missing
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 🗺️ Detailed Roadmap
136
+
137
+ For the exhaustive 13-phase development specification, refer to [ROADMAP.md](ROADMAP.md).
@@ -0,0 +1,169 @@
1
+ """Nexus Framework.
2
+
3
+ Ultimate Simplicity, Uncompromising Power.
4
+ """
5
+
6
+ from nexus.cli import main as cli_main
7
+ from nexus.core.entities import (
8
+ FileResponse,
9
+ HTMLResponse,
10
+ HTTPMethod,
11
+ JSONResponse,
12
+ NexusRequest,
13
+ NexusResponse,
14
+ PlainTextResponse,
15
+ RedirectResponse,
16
+ StreamingResponse,
17
+ )
18
+ from nexus.data import (
19
+ DataFrame,
20
+ Pipeline,
21
+ PipelineTestClient,
22
+ PipelineTestResult,
23
+ load,
24
+ pipeline_registry,
25
+ save,
26
+ stream_csv,
27
+ )
28
+ from nexus.db import Field, Model, Relationship, db
29
+ from nexus.deployment import (
30
+ GracefulShutdownManager,
31
+ generate_dockerfile,
32
+ generate_env_documentation,
33
+ run_app,
34
+ )
35
+ from nexus.magic.injector import (
36
+ CircularDependencyError,
37
+ DIContainer,
38
+ ProviderNotFoundError,
39
+ ScopeType,
40
+ )
41
+ from nexus.observability import (
42
+ Counter,
43
+ Gauge,
44
+ HealthCheckManager,
45
+ Histogram,
46
+ MetricsRegistry,
47
+ ObservabilityMiddleware,
48
+ Span,
49
+ Tracer,
50
+ health_manager,
51
+ metrics,
52
+ tracer,
53
+ )
54
+ from nexus.testing import TestClient, TestResponse
55
+ from nexus.web.app import Nexus, NexusApp
56
+ from nexus.web.background import BackgroundTask, BackgroundTasks
57
+ from nexus.web.idempotency import IdempotencyMiddleware
58
+ from nexus.web.middlewares import (
59
+ CORSMiddleware,
60
+ CSRFMiddleware,
61
+ GZipMiddleware,
62
+ RateLimitMiddleware,
63
+ RequestIdMiddleware,
64
+ SecurityHeadersMiddleware,
65
+ TimingMiddleware,
66
+ TrustedHostMiddleware,
67
+ )
68
+ from nexus.web.openapi import OpenAPIGenerator, get_redoc_html, get_swagger_ui_html
69
+ from nexus.web.pagination import Page, paginate
70
+ from nexus.web.router import Blueprint
71
+ from nexus.web.security import (
72
+ constant_time_compare,
73
+ generate_hmac_signature,
74
+ generate_secure_token,
75
+ verify_hmac_signature,
76
+ )
77
+ from nexus.web.session import (
78
+ MemorySessionBackend,
79
+ SessionBackend,
80
+ SessionMiddleware,
81
+ )
82
+ from nexus.web.sse import EventSourceResponse, ServerSentEvent
83
+ from nexus.web.staticfiles import StaticFiles
84
+ from nexus.web.template.engine import NXEngine
85
+ from nexus.web.upload import UploadFile
86
+ from nexus.web.websocket import WebSocket, WebSocketDisconnect, WebSocketGroup
87
+
88
+ __version__ = "0.1.0"
89
+
90
+ __all__ = [
91
+ "BackgroundTask",
92
+ "BackgroundTasks",
93
+ "Blueprint",
94
+ "CORSMiddleware",
95
+ "CSRFMiddleware",
96
+ "CircularDependencyError",
97
+ "Counter",
98
+ "DIContainer",
99
+ "DataFrame",
100
+ "EventSourceResponse",
101
+ "Field",
102
+ "FileResponse",
103
+ "GZipMiddleware",
104
+ "Gauge",
105
+ "GracefulShutdownManager",
106
+ "HTMLResponse",
107
+ "HTTPMethod",
108
+ "HealthCheckManager",
109
+ "Histogram",
110
+ "IdempotencyMiddleware",
111
+ "JSONResponse",
112
+ "MemorySessionBackend",
113
+ "MetricsRegistry",
114
+ "Model",
115
+ "NXEngine",
116
+ "Nexus",
117
+ "NexusApp",
118
+ "NexusRequest",
119
+ "NexusResponse",
120
+ "ObservabilityMiddleware",
121
+ "OpenAPIGenerator",
122
+ "Page",
123
+ "Pipeline",
124
+ "PipelineTestClient",
125
+ "PipelineTestResult",
126
+ "PlainTextResponse",
127
+ "ProviderNotFoundError",
128
+ "RateLimitMiddleware",
129
+ "RedirectResponse",
130
+ "Relationship",
131
+ "RequestIdMiddleware",
132
+ "ScopeType",
133
+ "SecurityHeadersMiddleware",
134
+ "ServerSentEvent",
135
+ "SessionBackend",
136
+ "SessionMiddleware",
137
+ "Span",
138
+ "StaticFiles",
139
+ "StreamingResponse",
140
+ "TestClient",
141
+ "TestResponse",
142
+ "TimingMiddleware",
143
+ "Tracer",
144
+ "TrustedHostMiddleware",
145
+ "UploadFile",
146
+ "WebSocket",
147
+ "WebSocketDisconnect",
148
+ "WebSocketGroup",
149
+ "__version__",
150
+ "cli_main",
151
+ "constant_time_compare",
152
+ "db",
153
+ "generate_dockerfile",
154
+ "generate_env_documentation",
155
+ "generate_hmac_signature",
156
+ "generate_secure_token",
157
+ "get_redoc_html",
158
+ "get_swagger_ui_html",
159
+ "health_manager",
160
+ "load",
161
+ "metrics",
162
+ "paginate",
163
+ "pipeline_registry",
164
+ "run_app",
165
+ "save",
166
+ "stream_csv",
167
+ "tracer",
168
+ "verify_hmac_signature",
169
+ ]