Compare changes

Compare changes across branches, commits, tags, and more below. If you need to, you can also compare across forks.

base:
compare:
Able to merge.
These branches can be automatically merged.
100 Commits
176186 additions β€’ 4603 deletions
9722fa7
docs: add Scalar API Reference documentation page (156 pages)
swadhinbiswas
7/25/2026
d0f8f5d
docs: use CDN URL for architecture image
swadhinbiswas
7/25/2026
2862cc8
docs: replace ASCII architecture diagram with actual image
swadhinbiswas
7/25/2026
477f3ea
docs: fix landing page terminal styling, add Robyn comparison data
swadhinbiswas
7/25/2026
dff2c38
docs: remove em dash from titles
swadhinbiswas
7/25/2026
e0e61f7
docs: add keywords to hello-world.md, verify build clean
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 22:38:01 +0600
Invalid Date
swadhinbiswas
2026-07-25 21:53:06 +0600
Invalid Date
swadhinbiswas
2026-07-25 21:46:34 +0600
Invalid Date
66801d7
docs: add FastAPI alternative to meta tags for SEO discoverability
swadhinbiswas
7/25/2026
1a8fd7c
docs: update README tagline to match docs site
swadhinbiswas
7/25/2026
cc32b97
docs: rename to 'Built to Handle Pressure', remove alternative framing
swadhinbiswas
7/25/2026
72910da
🎨 docs: clean, minimal landing page with FastAPI comparison
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 21:27:47 +0600
Invalid Date
0c2709a
πŸ“ docs: update PLAN.md with docs site progress (141 pages)
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 18:21:29 +0600
Invalid Date
swadhinbiswas
2026-07-25 17:52:05 +0600
Invalid Date
swadhinbiswas
2026-07-25 17:37:18 +0600
Invalid Date
swadhinbiswas
2026-07-25 17:11:21 +0600
Invalid Date
swadhinbiswas
2026-07-25 17:06:45 +0600
Invalid Date
swadhinbiswas
2026-07-25 16:53:57 +0600
Invalid Date
swadhinbiswas
2026-07-25 16:28:21 +0600
Invalid Date
swadhinbiswas
2026-07-25 16:20:34 +0600
Invalid Date
4ebffa2
πŸ“¦ ci: add pypi environment to publish workflows
swadhinbiswas
7/25/2026
2d5971d
βœ… test: auth, CORS, generator deps, ORJSON tests
swadhinbiswas
7/25/2026
87b0fee
✨ feat: new auth module β€” Rust + Python bindings
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 15:37:28 +0600
Invalid Date
58c2a3e
πŸ“§ fix: mail module cleanup - remove dead code, simplify error handling
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 15:37:12 +0600
Invalid Date
199e6f0
✨ feat: ORJSON optional Rust-level serializer β€” Cargo + pyproject + app.rs handler
swadhinbiswas
7/25/2026
f29737a
✨ feat: ORJSON Rust-level serializer β€” lib registry + feature gates
swadhinbiswas
7/25/2026
swadhinbiswas
2026-07-25 15:36:32 +0600
Invalid Date
swadhinbiswas
2026-07-25 15:36:25 +0600
Invalid Date
swadhinbiswas
2026-07-25 15:36:14 +0600
Invalid Date
swadhinbiswas
2026-07-25 15:36:03 +0600
Invalid Date
swadhinbiswas
2026-07-25 15:35:49 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:47:14 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:48 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:45 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:41 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:36 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:32 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:14 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:46:07 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:45:58 +0600
Invalid Date
swadhinbiswas
2026-07-25 12:45:50 +0600
Invalid Date
6248dc0
p0: update PLAN.md β€” mark admin_token and JWT aud/iss warning as fixed
swadhinbiswas
7/24/2026
swadhinbiswas
2026-07-24 19:05:18 +0600
Invalid Date
swadhinbiswas
2026-07-24 19:03:15 +0600
Invalid Date
6344d2d
p0: update PLAN.md with production hardening sweep results and remaining items
swadhinbiswas
7/24/2026
1b63629
p0: eliminate body bytes double-copy β€” keep body as Bytes, avoid unnecessary to_vec()
swadhinbiswas
7/24/2026
ee12950
p0: remove SharedArena from connection hot path (wasted 16KB/conn + pointless alloc_str writes)
swadhinbiswas
7/24/2026
swadhinbiswas
2026-07-24 18:46:22 +0600
Invalid Date
423a032
docs+feat: FastAPI parity β€” add_api_route, on_event, mount, app.state, OpenAPI metadata + full docs rewrite
swadhinbiswas
7/24/2026
2550664
docs: uv/uvx integration + heavy SEO (JSON-LD, keywords, FastAPI search visibility)
swadhinbiswas
7/24/2026
5fd913d
docs: add Inference section (4 pages) to docs site
swadhinbiswas
7/24/2026
5421d21
p10: add Examples Gallery page
swadhinbiswas
7/24/2026
b7b034a
p9: add Contributing section β€” development setup, coding standards, testing, benchmarking, docs guide
swadhinbiswas
7/24/2026
23bd6a4
p8c-f: add Release Notes, ADR Index, Error Codes, Glossary reference pages
swadhinbiswas
7/24/2026
4059686
p8a-b: add CLI Reference and Configuration Reference pages
swadhinbiswas
7/24/2026
230c2cd
p7: add Observability section β€” metrics, OTel tracing, structured logging, health checks
swadhinbiswas
7/24/2026
fe3c643
p6: add Security section β€” policy, OWASP compliance, pentest guide, secure configuration
swadhinbiswas
7/24/2026
f35b086
p5d-i: add GKE, EKS, AKS, Fly.io, Railway deployment guides + Production Checklist
swadhinbiswas
7/24/2026
18ed146
p5a-c: add Docker, Kubernetes/Helm, Cloudflare Pages deployment guides
swadhinbiswas
7/24/2026
578b09d
p4f-i: add Agent System, Streaming Output, Performance Tuning, Resilience advanced guides
swadhinbiswas
7/24/2026
a0a4f2a
p4b-e: add Rust Core, PyO3 Safety, Native Fast Path, Multi-Protocol advanced guides
swadhinbiswas
7/24/2026
d35f233
p4a: enhance Zero-GIL Architecture β€” lifecycle diagram, GIL pool, free-threading, perf impact
swadhinbiswas
7/24/2026
e3fa5cb
p3n-q: add Plugins, Testing Client, UploadFile, Database API reference pages
swadhinbiswas
7/24/2026
f3ee3ef
p3j-m: add WebSockets, Background Tasks, Scheduler, Session API reference pages
swadhinbiswas
7/24/2026
78f82c4
p3g-i: add Dependency Injection, Exceptions, Schema & Validation API reference pages
swadhinbiswas
7/24/2026
29908fb
p3c-f: add Routing, APIRouter, Request, Responses API reference pages
swadhinbiswas
7/24/2026
ddf0c91
p3b: add JustAPIApp API reference β€” full parameter docs for all methods
swadhinbiswas
7/24/2026
70f3afd
p3a: add API Reference overview β€” class/functions index with links
swadhinbiswas
7/24/2026
707cadd
p2k: add Routing & Sub-routers tutorial β€” route decorators, APIRouter, tags, middleware, ordering
swadhinbiswas
7/24/2026
8dac5ad
p2j: add Background Tasks tutorial β€” usage patterns, event loop, use cases, internals
swadhinbiswas
7/24/2026
58d4770
p2i: add Database Integration tutorial β€” all engines, query API, pool config, migrations, saturation handling
swadhinbiswas
7/24/2026
f86644e
p2h: add WebSockets & SSE tutorial β€” echo server, broadcast, event stream, comparison table
swadhinbiswas
7/24/2026
fccffe6
p2g: add File Uploads tutorial β€” UploadFile, multiple files, form fields, async processing
swadhinbiswas
7/24/2026
312a9f4
p2f: add Error Handling tutorial β€” HTTPException, custom handlers, validation errors, error format reference
swadhinbiswas
7/24/2026
9776b10
p2e: add Middleware tutorial β€” basic, CORS, secure headers, request logging, rate limiter pattern
swadhinbiswas
7/24/2026
3bb94a5
p2d: add Dependency Injection tutorial β€” basic, auth, DB, class-based, scope, nesting
swadhinbiswas
7/24/2026
949b1c7
p2c: add Request Body & Validation tutorial β€” Pydantic, Schema, body_schema, native path, constraints table
swadhinbiswas
7/24/2026
128ea1f
p2b: add Path & Query Parameters tutorial β€” type conversion table, Path/Query options, curl examples
swadhinbiswas
7/24/2026
ff3b99a
p2a: add Hello World tutorial β€” step-by-step with code, curl tests, complete app
swadhinbiswas
7/24/2026
424b08d
p1e: add Migrating from FastAPI β€” full import mapping, side-by-side code, migration checklist, rollback plan
swadhinbiswas
7/24/2026
d7aadd9
p1d: enhance CLI Scaffolder β€” generated main.py example, protocol/db selection guides
swadhinbiswas
7/24/2026
95b0cc4
p1c: enhance First Steps β€” expected output, curl tests, comparison table, next steps
swadhinbiswas
7/24/2026
8551f90
p1b: enhance Installation page β€” verify command, Docker, platform notes, troubleshooting
swadhinbiswas
7/24/2026
89769d4
p1a: enhance Overview page β€” audience, architecture diagram, benchmarks, feature comparison
swadhinbiswas
7/24/2026
88b069e
p0: site infrastructure β€” full nav, design system, hero component, sitemap
swadhinbiswas
7/24/2026
423ee41
docs: create Astro Starlight documentation site in docs_site for Cloudflare Pages deployment
swadhinbiswas
7/24/2026
eabb5ca
docs: add comprehensive JustAPI Developer Handbook (docs/HANDBOOK.md)
swadhinbiswas
7/24/2026
6b37db4
p40: add JustAPIApp title/version kwargs, CLI entrypoint, and release documentation
swadhinbiswas
7/24/2026
5de743b
docs: update PLAN.md, DECISIONS.md ADR-075, and BENCHMARKS.md ledger
swadhinbiswas
7/24/2026
512266b
p1: expand project scaffolder for multi-db (DuckDB, ClickHouse, NoSQL) and multi-protocol (REST, GraphQL, gRPC, JSON-RPC) with OTel compose stack
swadhinbiswas
7/24/2026
817db01
p6: add untrusted-input pipeline fuzz target
swadhinbiswas
7/24/2026
7834e19
p1: stabilize route overriding, app.graphql, add_middleware, and PyO3 native handlers
swadhinbiswas
7/24/2026
be6133d
p1: add built-in GraphQL execution and hardened schema validation
swadhinbiswas
7/24/2026
299a084
fix: remove highlight.js CSS import causing Docker build failure
swadhinbiswas
7/20/2026
0ba5c6b
fix(db): resolve current-thread-runtime deadlock and WAL hang (D2/D3/D4, ADR-068)
swadhinbiswas
7/18/2026

Files changed 396

.github/workflows/ci.yml +53 / -8
File modified
.github/workflows/fuzz.yml +16 / -2
File modified
.github/workflows/publish.yml +85 / -25
File modified
.github/workflows/wheels.yml +116 / -0
File modified
.gitignore +11 / -0
File modified
AGENTS.md +43 / -9
File modified
BENCHMARKS.md +872 / -0
File modified
Cargo.lock +157 / -3
File modified
Cargo.toml +21 / -1
File modified
DECISIONS.md +1470 / -0
File modified
Dockerfile +10 / -11
File modified
PLAN.md +183 / -6
File modified
PRODUCTION.md +207 / -0
File modified
PRODUCTION_PLAN.md +292 / -0
File modified
README.md +155 / -63
File modified
ROADMAP.md +70 / -0
File modified
benchmarks/bench_one.py +45 / -0
File modified
benchmarks/cap_gdb.sh +26 / -0
File modified
benchmarks/crud_fastapi.py +103 / -0
File modified
benchmarks/crud_justapi.py +81 / -0
File modified
benchmarks/crud_robyn.py +71 / -0
File modified
benchmarks/gdb_out.txt +125965 / -0
File modified
benchmarks/run_crud_bench.sh +172 / -0
File modified
benchmarks/smoke_crud.py +88 / -0
File modified
benchmarks/smoke_dbpool.py +97 / -0
File modified
benchmarks/smoke_dbpool_prerun.py +35 / -0
File modified
benchmarks/workloads_baseline.py +14 / -0
File modified
benchmarks/workloads_body_test.py +36 / -0
File modified
benchmarks/workloads_body_test2.py +40 / -0
File modified
benchmarks/workloads_body_test3.py +26 / -0
File modified
benchmarks/workloads_bt4.py +18 / -0
File modified
benchmarks/workloads_bt4_nativeonly.py +12 / -0
File modified
benchmarks/workloads_bt4_schemaonly.py +9 / -0
File modified
benchmarks/workloads_bt5.py +23 / -0
File modified
benchmarks/workloads_cmp.py +24 / -0
File modified
benchmarks/workloads_crud.py +44 / -0
File modified
benchmarks/workloads_crud_pg.py +27 / -0
File modified
benchmarks/workloads_fastapi.py +19 / -16
File modified
benchmarks/workloads_justapi.py +30 / -0
File modified
benchmarks/workloads_justapi_agent.py +32 / -0
File modified
benchmarks/workloads_native_bench.py +27 / -0
File modified
benchmarks/workloads_native_query.py +32 / -0
File modified
benchmarks/workloads_robyn.py +21 / -0
File modified
benchmarks/workloads_robyn_agent.py +33 / -0
File modified
crates/justapi-bench/src/gpu_bench.rs +11 / -35
File modified
crates/justapi-bench/src/inference_bench.rs +16 / -70
File modified
crates/justapi-bench/src/main.rs +2 / -8
File modified
crates/justapi-cli/Cargo.toml +1 / -0
File modified
crates/justapi-cli/src/gen_client.rs +30 / -76
File modified
crates/justapi-cli/src/main.rs +1188 / -285
File modified
crates/justapi-cli/src/profile.rs +3 / -12
File modified
crates/justapi-cli/src/watcher.rs +10 / -26
File modified
crates/justapi-cli/src/workers.rs +553 / -0
File modified
crates/justapi-core/Cargo.toml +8 / -2
File modified
crates/justapi-core/src/alerting.rs +5 / -19
File modified
crates/justapi-core/src/audit.rs +1 / -4
File modified
crates/justapi-core/src/batching.rs +1 / -4
File modified
crates/justapi-core/src/coalesce.rs +22 / -58
File modified
crates/justapi-core/src/compress.rs +15 / -41
File modified
crates/justapi-core/src/db/migrations.rs +9 / -33
File modified
crates/justapi-core/src/db/pool.rs +862 / -99
File modified
crates/justapi-core/src/db/query.rs +12 / -48
File modified
crates/justapi-core/src/dx.rs +1 / -7
File modified
crates/justapi-core/src/error_catalog.rs +4 / -4
File modified
crates/justapi-core/src/extract.rs +23 / -33
File modified
crates/justapi-core/src/gateway.rs +5 / -10
File modified
crates/justapi-core/src/graphql.rs +14 / -3
File modified
crates/justapi-core/src/grpc.rs +1 / -3
File modified
crates/justapi-core/src/health.rs +6 / -11
File modified
crates/justapi-core/src/lib.rs +45 / -3
File modified
crates/justapi-core/src/mail/message.rs +66 / -0
File modified
crates/justapi-core/src/mail/mod.rs +12 / -0
File modified
crates/justapi-core/src/mail/otp.rs +23 / -0
File modified
crates/justapi-core/src/mail/queue.rs +40 / -0
File modified
crates/justapi-core/src/mail/smtp.rs +135 / -0
File modified
crates/justapi-core/src/mail/state.rs +19 / -0
File modified
crates/justapi-core/src/mail/template.rs +47 / -0
File modified
crates/justapi-core/src/mail/types.rs +113 / -0
File modified
crates/justapi-core/src/mail/verify.rs +92 / -0
File modified
crates/justapi-core/src/memory.rs +7 / -12
File modified
crates/justapi-core/src/metrics.rs +16 / -56
File modified
crates/justapi-core/src/middleware.rs +154 / -390
File modified
crates/justapi-core/src/multipart.rs +66 / -18
File modified
crates/justapi-core/src/openai.rs +20 / -88
File modified
crates/justapi-core/src/openapi.rs +114 / -110
File modified
crates/justapi-core/src/panic.rs +3 / -5
File modified
crates/justapi-core/src/rate_limit.rs +4 / -16
File modified
crates/justapi-core/src/resilience.rs +38 / -115
File modified
crates/justapi-core/src/router.rs +182 / -41
File modified
crates/justapi-core/src/secrets.rs +7 / -18
File modified
crates/justapi-core/src/serialize.rs +8 / -35
File modified
crates/justapi-core/src/server/crud.rs +367 / -0
File modified
crates/justapi-core/src/server/mod.rs +947 / -393
File modified
crates/justapi-core/src/static_files.rs +88 / -59
File modified
crates/justapi-core/src/testing.rs +76 / -27
File modified
crates/justapi-core/src/tracing_setup.rs +54 / -28
File modified
crates/justapi-core/src/validate.rs +173 / -20
File modified
crates/justapi-core/src/wasm.rs +22 / -14
File modified
crates/justapi-core/src/xml.rs +464 / -0
File modified
crates/justapi-core/tests/db_bridge.rs +170 / -0
File modified
crates/justapi-core/tests/integration.rs +335 / -16
File modified
crates/justapi-inference/src/autoscaler.rs +3 / -15
File modified
crates/justapi-inference/src/control_plane.rs +11 / -36
File modified
crates/justapi-inference/src/engine.rs +9 / -33
File modified
crates/justapi-inference/src/gateway.rs +8 / -39
File modified
crates/justapi-inference/src/kv_cache.rs +3 / -18
File modified
crates/justapi-inference/src/model.rs +2 / -9
File modified
crates/justapi-inference/src/openai.rs +11 / -52
File modified
crates/justapi-inference/src/pd.rs +5 / -15
File modified
crates/justapi-inference/src/radix_cache.rs +6 / -24
File modified
crates/justapi-inference/src/real/lora.rs +2 / -13
File modified
crates/justapi-inference/src/real/model.rs +29 / -59
File modified
crates/justapi-inference/src/real/quant.rs +8 / -36
File modified
crates/justapi-inference/src/real/tokenizer.rs +5 / -12
File modified
crates/justapi-inference/src/router.rs +13 / -51
File modified
crates/justapi-inference/src/scheduler.rs +21 / -80
File modified
crates/justapi-inference/src/scheduler_engine.rs +22 / -94
File modified
crates/justapi-inference/src/spec_decode.rs +13 / -54
File modified
crates/justapi-inference/src/spec_decode_tree.rs +33 / -151
File modified
crates/justapi-inference/src/supervisor.rs +4 / -18
File modified
crates/justapi-inference/tests/engine.rs +6 / -27
File modified
crates/justapi-py/Cargo.toml +18 / -0
File modified
crates/justapi-py/README.md +8 / -4
File modified
crates/justapi-py/pyproject.toml +13 / -1
File modified
crates/justapi-py/python/justapi/__init__.py +176 / -30
File modified
crates/justapi-py/python/justapi/__init__.pyi +2 / -2
File modified
crates/justapi-py/python/justapi/__main__.py +4 / -0
File modified
crates/justapi-py/python/justapi/_justapi.pyi +297 / -1
File modified
crates/justapi-py/python/justapi/_native_helper.py +147 / -16
File modified
crates/justapi-py/python/justapi/app.py +1547 / -124
File modified
crates/justapi-py/python/justapi/app.pyi +144 / -14
File modified
crates/justapi-py/python/justapi/auth.py +222 / -0
File modified
crates/justapi-py/python/justapi/auth.pyi +49 / -0
File modified
crates/justapi-py/python/justapi/background.py +7 / -29
File modified
crates/justapi-py/python/justapi/cli.py +24 / -0
File modified
crates/justapi-py/python/justapi/exceptions.py +33 / -0
File modified
crates/justapi-py/python/justapi/exceptions.pyi +17 / -0
File modified
crates/justapi-py/python/justapi/logging.py +28 / -0
File modified
crates/justapi-py/python/justapi/mcp_server.py +307 / -0
File modified
crates/justapi-py/python/justapi/responses.py +135 / -4
File modified
crates/justapi-py/python/justapi/responses.pyi +70 / -28
File modified
crates/justapi-py/python/justapi/status.py +1 / -0
File modified
crates/justapi-py/python/justapi/status.pyi +78 / -0
File modified
crates/justapi-py/python/justapi/system.py +388 / -0
File modified
crates/justapi-py/python/justapi/templating.py +5 / -0
File modified
crates/justapi-py/python/justapi/test_auth.py +123 / -0
File modified
crates/justapi-py/python/justapi/test_background.py +70 / -0
File modified
crates/justapi-py/python/justapi/test_body_schema_parsed.py +68 / -0
File modified
crates/justapi-py/python/justapi/test_cors.py +87 / -0
File modified
crates/justapi-py/python/justapi/test_db_concurrent.py +72 / -0
File modified
crates/justapi-py/python/justapi/test_db_saturated.py +97 / -0
File modified
crates/justapi-py/python/justapi/test_exceptions.py +140 / -0
File modified
crates/justapi-py/python/justapi/test_gateway.json +1 / -0
File modified
crates/justapi-py/python/justapi/test_gateway.py +28 / -0
File modified
crates/justapi-py/python/justapi/test_generator_deps.py +237 / -0
File modified
crates/justapi-py/python/justapi/test_native.py +3 / -3
File modified
crates/justapi-py/python/justapi/test_native_fastpath.py +159 / -0
File modified
crates/justapi-py/python/justapi/test_openapi_parity.py +142 / -0
File modified
crates/justapi-py/python/justapi/test_orjson.py +135 / -0
File modified
crates/justapi-py/python/justapi/test_request_parity.py +163 / -0
File modified
crates/justapi-py/python/justapi/test_responses.py +102 / -0
File modified
crates/justapi-py/python/justapi/test_routing.py +74 / -0
File modified
crates/justapi-py/python/justapi/test_scheduler.py +58 / -0
File modified
crates/justapi-py/python/justapi/test_schema_hardened.py +169 / -0
File modified
crates/justapi-py/python/justapi/test_schema_validation.py +2 / -2
File modified
crates/justapi-py/python/justapi/test_status.py +105 / -0
File modified
crates/justapi-py/python/justapi/test_streaming.py +118 / -0
File modified
crates/justapi-py/python/justapi/test_system.py +215 / -0
File modified
crates/justapi-py/python/justapi/test_templating.py +23 / -0
File modified
crates/justapi-py/python/justapi/test_test_client.py +2 / -2
File modified
crates/justapi-py/python/justapi/test_testing.py +1 / -1
File modified
crates/justapi-py/python/justapi/test_upload.py +135 / -0
File modified
crates/justapi-py/python/justapi/test_validation.py +1 / -2
File modified
crates/justapi-py/python/justapi/test_websocket.py +100 / -0
File modified
crates/justapi-py/python/justapi/testing.py +3 / -0
File modified
crates/justapi-py/python/justapi/websockets.py +171 / -0
File modified
crates/justapi-py/python/justapi/websockets.pyi +58 / -0
File modified
crates/justapi-py/src/auth.rs +165 / -0
File modified
crates/justapi-py/src/background.rs +300 / -0
File modified
crates/justapi-py/src/dag.rs +4 / -15
File modified
crates/justapi-py/src/database.rs +437 / -15
File modified
crates/justapi-py/src/gil_pool.rs +238 / -0
File modified
crates/justapi-py/src/lib.rs +35 / -3
File modified
crates/justapi-py/src/logging.rs +68 / -0
File modified
crates/justapi-py/src/mail.rs +120 / -0
File modified
crates/justapi-py/src/message_builder.rs +63 / -0
File modified
crates/justapi-py/src/multipart.rs +149 / -13
File modified
crates/justapi-py/src/native/app.rs +1764 / -168
File modified
crates/justapi-py/src/native/handlers.rs +909 / -223
File modified
crates/justapi-py/src/native/mod.rs +4 / -4
File modified
crates/justapi-py/src/native/types.rs +19 / -21
File modified
crates/justapi-py/src/rate_limit.rs +2 / -7
File modified
crates/justapi-py/src/request.rs +1052 / -57
File modified
crates/justapi-py/src/scheduler.rs +365 / -0
File modified
crates/justapi-py/src/status.rs +99 / -0
File modified
crates/justapi-py/src/test_client.rs +67 / -10
File modified
crates/justapi-py/src/websocket.rs +235 / -13
File modified
crates/justapi-py/test_gateway.json +1 / -0
File modified
crates/justapi-py/test_max_body_size.py +50 / -0
File modified
crates/justapi-py/uv.lock +255 / -1
File modified
demo_shop/README.md +134 / -0
File modified
demo_shop/bench.py +119 / -0
File modified
demo_shop/bench_async.py +111 / -0
File modified
demo_shop/db_setup.py +244 / -0
File modified
demo_shop/pyproject.toml +11 / -0
File modified
demo_shop/shop/__init__.py +24 / -0
File modified
demo_shop/shop/__main__.py +4 / -0
File modified
demo_shop/shop/cart.py +143 / -0
File modified
demo_shop/shop/catalog.py +192 / -0
File modified
demo_shop/shop/cli.py +22 / -0
File modified
demo_shop/shop/config.py +48 / -0
File modified
demo_shop/shop/customers.py +63 / -0
File modified
demo_shop/shop/db.py +52 / -0
File modified
demo_shop/shop/orders.py +84 / -0
File modified
demo_shop/shop/reviews.py +77 / -0
File modified
demo_shop/shop/schemas.py +136 / -0
File modified
demo_shop/test_app.py +136 / -0
File modified
demo_shop/test_lookup.py +101 / -0
File modified
deny.toml +33 / -26
File modified
docs/HANDBOOK.md +498 / -0
File modified
docs/index.md +10 / -2
File modified
docs_site/.gitignore +4 / -0
File modified
docs_site/astro.config.mjs +321 / -0
File modified
docs_site/package-lock.json +6823 / -0
File modified
docs_site/package.json +17 / -0
File modified
docs_site/public/_headers +16 / -0
File modified
docs_site/public/robots.txt +7 / -0
File modified
docs_site/src/assets/architectureoverview.png +0 / -0
File modified
docs_site/src/assets/logo.svg +10 / -0
File modified
docs_site/src/components/JustAPIHero.astro +129 / -0
File modified
docs_site/src/content.config.ts +7 / -0
File modified
docs_site/src/content/docs/advanced/additional-responses.md +71 / -0
File modified
docs_site/src/content/docs/advanced/advanced-dependencies.md +67 / -0
File modified
docs_site/src/content/docs/advanced/advanced-middleware.md +63 / -0
File modified
docs_site/src/content/docs/advanced/advanced-security.md +76 / -0
File modified
docs_site/src/content/docs/advanced/agent-system.md +124 / -0
File modified
docs_site/src/content/docs/advanced/async-tests.md +63 / -0
File modified
docs_site/src/content/docs/advanced/batching.md +56 / -0
File modified
docs_site/src/content/docs/advanced/behind-a-proxy.md +50 / -0
File modified
docs_site/src/content/docs/advanced/custom-response.md +158 / -0
File modified
docs_site/src/content/docs/advanced/dataclasses.md +47 / -0
File modified
docs_site/src/content/docs/advanced/generate-clients.md +64 / -0
File modified
docs_site/src/content/docs/advanced/lifespan-events.md +60 / -0
File modified
docs_site/src/content/docs/advanced/multi-protocol-apis.md +106 / -0
File modified
docs_site/src/content/docs/advanced/native-fast-path.md +85 / -0
File modified
docs_site/src/content/docs/advanced/openapi-callbacks.md +57 / -0
File modified
docs_site/src/content/docs/advanced/performance-tuning.md +133 / -0
File modified
docs_site/src/content/docs/advanced/pyo3-ffi-safety.md +100 / -0
File modified
docs_site/src/content/docs/advanced/resilience-patterns.md +124 / -0
File modified
docs_site/src/content/docs/advanced/response-cookies-headers.md +57 / -0
File modified
docs_site/src/content/docs/advanced/response-directly.md +68 / -0
File modified
docs_site/src/content/docs/advanced/rust-core-deep-dive.md +113 / -0
File modified
docs_site/src/content/docs/advanced/settings.md +67 / -0
File modified
docs_site/src/content/docs/advanced/streaming-output.md +116 / -0
File modified
docs_site/src/content/docs/advanced/sub-applications.md +60 / -0
File modified
docs_site/src/content/docs/advanced/templates.md +70 / -0
File modified
docs_site/src/content/docs/advanced/using-request-directly.md +63 / -0
File modified
docs_site/src/content/docs/advanced/websockets-advanced.md +68 / -0
File modified
docs_site/src/content/docs/advanced/zero-gil-architecture.md +90 / -0
File modified
docs_site/src/content/docs/api-reference/apirouter.md +136 / -0
File modified
docs_site/src/content/docs/api-reference/auth.md +105 / -0
File modified
docs_site/src/content/docs/api-reference/background-tasks.md +55 / -0
File modified
docs_site/src/content/docs/api-reference/controller.md +66 / -0
File modified
docs_site/src/content/docs/api-reference/dag.md +57 / -0
File modified
docs_site/src/content/docs/api-reference/database.md +96 / -0
File modified
docs_site/src/content/docs/api-reference/dependency-injection.md +148 / -0
File modified
docs_site/src/content/docs/api-reference/exceptions.md +95 / -0
File modified
docs_site/src/content/docs/api-reference/index.md +39 / -0
File modified
docs_site/src/content/docs/api-reference/justapiapp.md +271 / -0
File modified
docs_site/src/content/docs/api-reference/mailer.md +86 / -0
File modified
docs_site/src/content/docs/api-reference/mcp-server.md +74 / -0
File modified
docs_site/src/content/docs/api-reference/plugins.md +106 / -0
File modified
docs_site/src/content/docs/api-reference/rate-limiter.md +69 / -0
File modified
docs_site/src/content/docs/api-reference/request.md +125 / -0
File modified
docs_site/src/content/docs/api-reference/responses.md +131 / -0
File modified
docs_site/src/content/docs/api-reference/routing.md +178 / -0
File modified
docs_site/src/content/docs/api-reference/scheduler.md +76 / -0
File modified
docs_site/src/content/docs/api-reference/schema-validation.md +137 / -0
File modified
docs_site/src/content/docs/api-reference/session.md +70 / -0
File modified
docs_site/src/content/docs/api-reference/status-codes.md +84 / -0
File modified
docs_site/src/content/docs/api-reference/system-routes.md +75 / -0
File modified
docs_site/src/content/docs/api-reference/testing-client.md +71 / -0
File modified
docs_site/src/content/docs/api-reference/uploadfile.md +72 / -0
File modified
docs_site/src/content/docs/api-reference/websockets.md +63 / -0
File modified
docs_site/src/content/docs/contributing/benchmarking-guide.md +106 / -0
File modified
docs_site/src/content/docs/contributing/coding-standards.md +81 / -0
File modified
docs_site/src/content/docs/contributing/development-setup.md +106 / -0
File modified
docs_site/src/content/docs/contributing/documentation-guide.md +83 / -0
File modified
docs_site/src/content/docs/contributing/testing-guide.md +159 / -0
File modified
docs_site/src/content/docs/deployment/aks.md +63 / -0
File modified
docs_site/src/content/docs/deployment/cloudflare-pages.md +49 / -0
File modified
docs_site/src/content/docs/deployment/docker.md +137 / -0
File modified
docs_site/src/content/docs/deployment/eks.md +52 / -0
File modified
docs_site/src/content/docs/deployment/flyio.md +63 / -0
File modified
docs_site/src/content/docs/deployment/gke.md +55 / -0
File modified
docs_site/src/content/docs/deployment/kubernetes-helm.md +103 / -0
File modified
docs_site/src/content/docs/deployment/production-checklist.md +125 / -0
File modified
docs_site/src/content/docs/deployment/railway.md +46 / -0
File modified
docs_site/src/content/docs/examples/index.md +50 / -0
File modified
docs_site/src/content/docs/getting-started/cli-scaffolder.md +125 / -0
File modified
docs_site/src/content/docs/getting-started/first-steps.md +119 / -0
File modified
docs_site/src/content/docs/getting-started/installation.md +175 / -0
File modified
docs_site/src/content/docs/getting-started/migrating-from-fastapi.md +198 / -0
File modified
docs_site/src/content/docs/getting-started/overview.md +72 / -0
File modified
docs_site/src/content/docs/how-to/background-task-patterns.md +79 / -0
File modified
docs_site/src/content/docs/how-to/circuit-breaker-recipes.md +118 / -0
File modified
docs_site/src/content/docs/how-to/configure-swagger-ui.md +50 / -0
File modified
docs_site/src/content/docs/how-to/custom-request-route.md +57 / -0
File modified
docs_site/src/content/docs/how-to/graphql.md +95 / -0
File modified
docs_site/src/content/docs/how-to/index.md +24 / -0
File modified
docs_site/src/content/docs/how-to/testing-database.md +80 / -0
File modified
docs_site/src/content/docs/index.mdx +103 / -0
File modified
docs_site/src/content/docs/inference/gpu-cuda-setup.md +88 / -0
File modified
docs_site/src/content/docs/inference/llm-serving-api.md +150 / -0
File modified
docs_site/src/content/docs/inference/overview.md +101 / -0
File modified
docs_site/src/content/docs/inference/scheduling-batching.md +117 / -0
File modified
docs_site/src/content/docs/observability/health-checks.md +60 / -0
File modified
docs_site/src/content/docs/observability/metrics-monitoring.md +78 / -0
File modified
docs_site/src/content/docs/observability/opentelemetry.md +68 / -0
File modified
docs_site/src/content/docs/observability/structured-logging.md +62 / -0
File modified
docs_site/src/content/docs/reference/adr-index.md +65 / -0
File modified
docs_site/src/content/docs/reference/cli.md +138 / -0
File modified
docs_site/src/content/docs/reference/configuration.md +71 / -0
File modified
docs_site/src/content/docs/reference/environment-variables.md +43 / -0
File modified
docs_site/src/content/docs/reference/error-codes.md +65 / -0
File modified
docs_site/src/content/docs/reference/glossary.md +101 / -0
File modified
docs_site/src/content/docs/reference/release-notes.md +49 / -0
File modified
docs_site/src/content/docs/resources/about.md +66 / -0
File modified
docs_site/src/content/docs/resources/external-links.md +52 / -0
File modified
docs_site/src/content/docs/resources/help.md +65 / -0
File modified
docs_site/src/content/docs/security/owasp-compliance.md +80 / -0
File modified
docs_site/src/content/docs/security/penetration-testing.md +100 / -0
File modified
docs_site/src/content/docs/security/policy.md +57 / -0
File modified
docs_site/src/content/docs/security/secure-configuration.md +92 / -0
File modified
docs_site/src/content/docs/tutorials/async-await.md +138 / -0
File modified
docs_site/src/content/docs/tutorials/background-tasks.md +121 / -0
File modified
docs_site/src/content/docs/tutorials/body-fields.md +77 / -0
File modified
docs_site/src/content/docs/tutorials/body-multiple-params.md +91 / -0
File modified
docs_site/src/content/docs/tutorials/body-nested-models.md +214 / -0
File modified
docs_site/src/content/docs/tutorials/body-updates.md +63 / -0
File modified
docs_site/src/content/docs/tutorials/cookie-params.md +53 / -0
File modified
docs_site/src/content/docs/tutorials/cors.md +77 / -0
File modified
docs_site/src/content/docs/tutorials/database-integration.md +171 / -0
File modified
docs_site/src/content/docs/tutorials/debugging.md +88 / -0
File modified
docs_site/src/content/docs/tutorials/dependencies/classes-as-dependencies/index.md +49 / -0
File modified
docs_site/src/content/docs/tutorials/dependencies/dependencies-in-path-ops/index.md +38 / -0
File modified
docs_site/src/content/docs/tutorials/dependencies/dependencies-with-yield/index.md +57 / -0
File modified
docs_site/src/content/docs/tutorials/dependencies/global-dependencies/index.md +71 / -0
File modified
docs_site/src/content/docs/tutorials/dependencies/sub-dependencies/index.md +51 / -0
File modified
docs_site/src/content/docs/tutorials/dependency-injection.md +181 / -0
File modified
docs_site/src/content/docs/tutorials/encoder.md +47 / -0
File modified
docs_site/src/content/docs/tutorials/error-handling.md +156 / -0
File modified
docs_site/src/content/docs/tutorials/extra-data-types.md +91 / -0
File modified
docs_site/src/content/docs/tutorials/extra-models.md +59 / -0
File modified
docs_site/src/content/docs/tutorials/file-uploads.md +114 / -0
File modified
docs_site/src/content/docs/tutorials/form-data.md +51 / -0
File modified
docs_site/src/content/docs/tutorials/form-models.md +54 / -0
File modified
docs_site/src/content/docs/tutorials/frontend.md +63 / -0
File modified
docs_site/src/content/docs/tutorials/header-params.md +61 / -0
File modified
docs_site/src/content/docs/tutorials/hello-world.md +157 / -0
File modified
docs_site/src/content/docs/tutorials/logging-setup.md +74 / -0
File modified
docs_site/src/content/docs/tutorials/metadata.md +71 / -0
File modified
docs_site/src/content/docs/tutorials/middleware.md +177 / -0
File modified
docs_site/src/content/docs/tutorials/path-operation-config.md +60 / -0
File modified
docs_site/src/content/docs/tutorials/path-params-numeric-validations.md +68 / -0
File modified
docs_site/src/content/docs/tutorials/path-params.md +123 / -0
File modified
docs_site/src/content/docs/tutorials/path-query-params.md +167 / -0
File modified
docs_site/src/content/docs/tutorials/python-types.md +152 / -0
File modified
docs_site/src/content/docs/tutorials/query-params-str-validations.md +187 / -0
File modified
docs_site/src/content/docs/tutorials/query-params.md +106 / -0
File modified
docs_site/src/content/docs/tutorials/request-body.md +153 / -0
File modified
docs_site/src/content/docs/tutorials/request-files.md +67 / -0
File modified
docs_site/src/content/docs/tutorials/request-forms-files.md +48 / -0
File modified
docs_site/src/content/docs/tutorials/response-model.md +159 / -0
File modified
docs_site/src/content/docs/tutorials/response-status-code.md +59 / -0
File modified
docs_site/src/content/docs/tutorials/routing-subrouters.md +172 / -0
File modified
docs_site/src/content/docs/tutorials/scalar-ui.md +80 / -0
File modified
docs_site/src/content/docs/tutorials/security/first-steps/index.md +182 / -0
File modified
docs_site/src/content/docs/tutorials/security/get-current-user/index.md +32 / -0
File modified
docs_site/src/content/docs/tutorials/security/oauth2-jwt/index.md +61 / -0
File modified
docs_site/src/content/docs/tutorials/security/simple-oauth2/index.md +40 / -0
File modified
docs_site/src/content/docs/tutorials/static-files.md +55 / -0
File modified
docs_site/src/content/docs/tutorials/stream-json-lines.md +53 / -0
File modified
docs_site/src/content/docs/tutorials/testing-utilities.md +91 / -0
File modified
docs_site/src/content/docs/tutorials/testing.md +193 / -0
File modified
docs_site/src/content/docs/tutorials/websockets-sse.md +145 / -0
File modified
docs_site/src/styles/custom.css +526 / -0
File modified
docsplan.md +734 / -0
File modified
examples/agent_demo/README.md +35 / -0
File modified
examples/agent_demo/app.py +114 / -0
File modified
fuzz/Cargo.lock +19 / -1
File modified
fuzz/Cargo.toml +18 / -0
File modified
fuzz/fuzz_targets/fuzz_multipart.rs +24 / -0
File modified
fuzz/fuzz_targets/fuzz_pipeline.rs +46 / -0
File modified
rebuild_history.sh +0 / -417
File modified
rustfmt.toml +6 / -9
File modified