docs: uv/uvx integration + heavy SEO (JSON-LD, keywords, FastAPI search visibility)
swadhinbiswas committed 3 months ago
7329e8f
1 parent ff8ada3
commit 7329e8f
77 files changed
+310 -96
Showing 77 changed files+310-96
docs_site/astro.config.mjsdocs_site/src/content/docs/advanced/agent-system.mddocs_site/src/content/docs/advanced/multi-protocol-apis.mddocs_site/src/content/docs/advanced/native-fast-path.mddocs_site/src/content/docs/advanced/performance-tuning.mddocs_site/src/content/docs/advanced/pyo3-ffi-safety.mddocs_site/src/content/docs/advanced/resilience-patterns.mddocs_site/src/content/docs/advanced/rust-core-deep-dive.mddocs_site/src/content/docs/advanced/streaming-output.mddocs_site/src/content/docs/advanced/zero-gil-architecture.mddocs_site/src/content/docs/api-reference/apirouter.mddocs_site/src/content/docs/api-reference/background-tasks.mddocs_site/src/content/docs/api-reference/database.mddocs_site/src/content/docs/api-reference/dependency-injection.mddocs_site/src/content/docs/api-reference/exceptions.mddocs_site/src/content/docs/api-reference/index.mddocs_site/src/content/docs/api-reference/justapiapp.mddocs_site/src/content/docs/api-reference/plugins.mddocs_site/src/content/docs/api-reference/request.mddocs_site/src/content/docs/api-reference/responses.mddocs_site/src/content/docs/api-reference/routing.mddocs_site/src/content/docs/api-reference/scheduler.mddocs_site/src/content/docs/api-reference/schema-validation.mddocs_site/src/content/docs/api-reference/session.mddocs_site/src/content/docs/api-reference/testing-client.mddocs_site/src/content/docs/api-reference/uploadfile.mddocs_site/src/content/docs/api-reference/websockets.mddocs_site/src/content/docs/contributing/benchmarking-guide.mddocs_site/src/content/docs/contributing/coding-standards.mddocs_site/src/content/docs/contributing/development-setup.mddocs_site/src/content/docs/contributing/documentation-guide.mddocs_site/src/content/docs/contributing/testing-guide.mddocs_site/src/content/docs/deployment/aks.mddocs_site/src/content/docs/deployment/cloudflare-pages.mddocs_site/src/content/docs/deployment/docker.mddocs_site/src/content/docs/deployment/eks.mddocs_site/src/content/docs/deployment/flyio.mddocs_site/src/content/docs/deployment/gke.mddocs_site/src/content/docs/deployment/kubernetes-helm.mddocs_site/src/content/docs/deployment/production-checklist.mddocs_site/src/content/docs/deployment/railway.mddocs_site/src/content/docs/examples/index.mddocs_site/src/content/docs/getting-started/cli-scaffolder.mddocs_site/src/content/docs/getting-started/first-steps.mddocs_site/src/content/docs/getting-started/installation.mddocs_site/src/content/docs/getting-started/migrating-from-fastapi.mddocs_site/src/content/docs/getting-started/overview.mddocs_site/src/content/docs/index.mdxdocs_site/src/content/docs/inference/gpu-cuda-setup.mddocs_site/src/content/docs/inference/llm-serving-api.mddocs_site/src/content/docs/inference/overview.mddocs_site/src/content/docs/inference/scheduling-batching.mddocs_site/src/content/docs/observability/health-checks.mddocs_site/src/content/docs/observability/metrics-monitoring.mddocs_site/src/content/docs/observability/opentelemetry.mddocs_site/src/content/docs/observability/structured-logging.mddocs_site/src/content/docs/reference/adr-index.mddocs_site/src/content/docs/reference/cli.mddocs_site/src/content/docs/reference/configuration.mddocs_site/src/content/docs/reference/error-codes.mddocs_site/src/content/docs/reference/glossary.mddocs_site/src/content/docs/reference/release-notes.mddocs_site/src/content/docs/security/owasp-compliance.mddocs_site/src/content/docs/security/penetration-testing.mddocs_site/src/content/docs/security/policy.mddocs_site/src/content/docs/security/secure-configuration.mddocs_site/src/content/docs/tutorials/background-tasks.mddocs_site/src/content/docs/tutorials/database-integration.mddocs_site/src/content/docs/tutorials/dependency-injection.mddocs_site/src/content/docs/tutorials/error-handling.mddocs_site/src/content/docs/tutorials/file-uploads.mddocs_site/src/content/docs/tutorials/hello-world.mddocs_site/src/content/docs/tutorials/middleware.mddocs_site/src/content/docs/tutorials/path-query-params.mddocs_site/src/content/docs/tutorials/request-body.mddocs_site/src/content/docs/tutorials/routing-subrouters.mddocs_site/src/content/docs/tutorials/websockets-sse.md
▼docs_site/astro.config.mjs
+81-18
| @@ -2,12 +2,15 @@ import { defineConfig } from 'astro/config'; | ||
2 | 2 | import starlight from '@astrojs/starlight'; |
3 | 3 | import sitemap from '@astrojs/sitemap'; |
4 | 4 | |
5 | +const site = 'https://justapi.dev'; | |
6 | + | |
5 | 7 | export default defineConfig({ |
6 | - site: 'https://justapi.dev', | |
8 | + site, | |
9 | + trailingSlash: 'always', | |
7 | 10 | integrations: [ |
8 | 11 | starlight({ |
9 | - title: 'JustAPI', | |
10 | - description: 'Rust-powered, FastAPI-class web framework for Python. 700k+ RPS, zero-GIL execution.', | |
12 | + title: 'JustAPI — FastAPI Alternative | Rust-Powered Python Web Framework', | |
13 | + description: 'Rust-powered Python web framework — a drop-in replacement for FastAPI with 20x performance, zero-GIL execution, and 700k+ RPS. The fastest FastAPI alternative for production Python APIs.', | |
11 | 14 | logo: { |
12 | 15 | src: './src/assets/logo.svg', |
13 | 16 | replacesTitle: false, |
| @@ -20,21 +23,77 @@ export default defineConfig({ | ||
20 | 23 | baseUrl: 'https://github.com/swadhinbiswas/JustAPI/edit/main/docs_site', |
21 | 24 | }, |
22 | 25 | head: [ |
26 | + { tag: 'meta', attrs: { charset: 'utf-8' } }, | |
27 | + { tag: 'meta', attrs: { name: 'viewport', content: 'width=device-width, initial-scale=1' } }, | |
28 | + { tag: 'meta', attrs: { name: 'generator', content: 'Astro v7 + Starlight' } }, | |
29 | + { tag: 'meta', attrs: { name: 'robots', content: 'index, follow, max-snippet:-1, max-image-preview:large' } }, | |
30 | + { tag: 'meta', attrs: { name: 'keywords', content: 'JustAPI, FastAPI alternative, FastAPI replacement, Python web framework, Rust web framework, high performance Python, async Python, zero-GIL, 700k RPS, API framework, FastAPI vs JustAPI, Python API server, Rust Python, PyO3, ASGI alternative, uvicorn alternative, web framework comparison, Python REST API, production Python API' } }, | |
31 | + { tag: 'link', attrs: { rel: 'canonical', href: site } }, | |
32 | + { tag: 'meta', attrs: { property: 'og:type', content: 'website' } }, | |
33 | + { tag: 'meta', attrs: { property: 'og:url', content: site } }, | |
34 | + { tag: 'meta', attrs: { property: 'og:site_name', content: 'JustAPI' } }, | |
35 | + { tag: 'meta', attrs: { property: 'og:title', content: 'JustAPI — Rust-Powered Python Web Framework | FastAPI Alternative' } }, | |
36 | + { tag: 'meta', attrs: { property: 'og:description', content: 'The fastest FastAPI alternative. Drop-in replacement for FastAPI with Rust-native performance — 700k+ RPS, zero-GIL execution, automatic OpenAPI docs. Switch from FastAPI with one import change.' } }, | |
37 | + { tag: 'meta', attrs: { property: 'og:image', content: 'https://justapi.dev/og-image.png' } }, | |
38 | + { tag: 'meta', attrs: { property: 'og:image:width', content: '1200' } }, | |
39 | + { tag: 'meta', attrs: { property: 'og:image:height', content: '630' } }, | |
40 | + { tag: 'meta', attrs: { property: 'og:image:alt', content: 'JustAPI — Rust-Powered Python Web Framework, the fastest FastAPI alternative' } }, | |
41 | + { tag: 'meta', attrs: { property: 'og:locale', content: 'en_US' } }, | |
42 | + { tag: 'meta', attrs: { name: 'twitter:card', content: 'summary_large_image' } }, | |
43 | + { tag: 'meta', attrs: { name: 'twitter:title', content: 'JustAPI — The Fastest FastAPI Alternative | Rust-Powered Python Framework' } }, | |
44 | + { tag: 'meta', attrs: { name: 'twitter:description', content: 'Drop-in replacement for FastAPI with 20x throughput. Rust-native, zero-GIL, 700k+ RPS. Switch with one import change.' } }, | |
45 | + { tag: 'meta', attrs: { name: 'twitter:image', content: 'https://justapi.dev/og-image.png' } }, | |
23 | 46 | { |
24 | - tag: 'meta', | |
25 | - attrs: { property: 'og:title', content: 'JustAPI — Rust-Powered Python Web Framework' }, | |
26 | - }, | |
27 | - { | |
28 | - tag: 'meta', | |
29 | - attrs: { property: 'og:description', content: 'The speed of Rust. The elegance of Python. A drop-in replacement for FastAPI engineered for extreme throughput.' }, | |
30 | - }, | |
31 | - { | |
32 | - tag: 'meta', | |
33 | - attrs: { property: 'og:image', content: 'https://justapi.dev/og-image.png' }, | |
34 | - }, | |
35 | - { | |
36 | - tag: 'meta', | |
37 | - attrs: { name: 'twitter:card', content: 'summary_large_image' }, | |
47 | + tag: 'script', | |
48 | + attrs: { type: 'application/ld+json' }, | |
49 | + content: JSON.stringify({ | |
50 | + '@context': 'https://schema.org', | |
51 | + '@graph': [ | |
52 | + { | |
53 | + '@type': 'WebSite', | |
54 | + '@id': `${site}/#website`, | |
55 | + url: site, | |
56 | + name: 'JustAPI', | |
57 | + description: 'Rust-powered Python web framework. A drop-in replacement for FastAPI with 20x performance.', | |
58 | + inLanguage: 'en-US', | |
59 | + publisher: { '@id': `${site}/#organization` }, | |
60 | + }, | |
61 | + { | |
62 | + '@type': 'Organization', | |
63 | + '@id': `${site}/#organization`, | |
64 | + name: 'JustAPI', | |
65 | + url: site, | |
66 | + logo: `${site}/logo.svg`, | |
67 | + description: 'JustAPI is a high-performance Python web framework built on a Rust runtime engine.', | |
68 | + }, | |
69 | + { | |
70 | + '@type': 'SoftwareApplication', | |
71 | + '@id': `${site}/#software`, | |
72 | + name: 'JustAPI', | |
73 | + applicationCategory: 'WebApplication', | |
74 | + operatingSystem: 'Linux, macOS, Windows', | |
75 | + description: 'A high-performance Python web framework built on Rust. Drop-in FastAPI replacement with 700k+ RPS, zero-GIL execution, and native database, GraphQL, gRPC support.', | |
76 | + url: site, | |
77 | + downloadUrl: 'https://pypi.org/project/justapi/', | |
78 | + installUrl: 'https://pypi.org/project/justapi/', | |
79 | + softwareVersion: '2.0.0', | |
80 | + offers: { | |
81 | + '@type': 'Offer', | |
82 | + price: '0', | |
83 | + priceCurrency: 'USD', | |
84 | + }, | |
85 | + author: { '@id': `${site}/#organization` }, | |
86 | + }, | |
87 | + { | |
88 | + '@type': 'BreadcrumbList', | |
89 | + '@id': `${site}/#breadcrumb`, | |
90 | + itemListElement: [ | |
91 | + { '@type': 'ListItem', position: 1, name: 'Home', item: site }, | |
92 | + { '@type': 'ListItem', position: 2, name: 'Documentation', item: `${site}/getting-started/overview/` }, | |
93 | + ], | |
94 | + }, | |
95 | + ], | |
96 | + }), | |
38 | 97 | }, |
39 | 98 | ], |
40 | 99 | sidebar: [ |
| @@ -168,6 +227,10 @@ export default defineConfig({ | ||
168 | 227 | }, |
169 | 228 | ], |
170 | 229 | }), |
171 | - sitemap(), | |
230 | + sitemap({ | |
231 | + changefreq: 'weekly', | |
232 | + priority: 0.7, | |
233 | + lastmod: new Date(), | |
234 | + }), | |
172 | 235 | ], |
173 | 236 | }); |
174 | 237 | |
▼docs_site/src/content/docs/advanced/agent-system.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Agent System (MCP Tools & Sessions) |
3 | -description: Build AI agents with native MCP tools, durable session state, and validated streaming. | |
3 | +description: Build AI agents with native MCP tools, durable session state, and validated streaming in JustAPI, the FastAPI alternative built for AI. | |
4 | +keywords: JustAPI, FastAPI alternative, AI agents, MCP tools, sessions, streaming, agent system | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI includes a first-class agent-native system that differentiates it from traditional web frameworks. It provides **MCP tools**, **durable sessions**, and **validated streaming** — all owned by Rust. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/multi-protocol-apis.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Multi-Protocol APIs |
3 | -description: Serve REST, GraphQL, gRPC, and JSON-RPC from a single JustAPI application. | |
3 | +description: Serve REST, GraphQL, gRPC, and JSON-RPC from a single JustAPI application — multi-protocol support no FastAPI alternative offers. | |
4 | +keywords: JustAPI, FastAPI alternative, REST, GraphQL, gRPC, JSON-RPC, multi-protocol | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI supports four API protocols out of the box, all within a single application. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/native-fast-path.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Native Fast Path |
3 | -description: Execute routes entirely in Rust for maximum performance (724k+ RPS). | |
3 | +description: Execute routes entirely in Rust for maximum performance (724k+ RPS) — JustAPI's native fast path leaves other FastAPI alternatives behind. | |
4 | +keywords: JustAPI, FastAPI alternative, native fast path, Rust routes, performance, RPS | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | The **Native Fast Path** is JustAPI's most powerful performance feature. With `native=True`, a route executes **entirely in Rust** — no Python bytecode, no GIL overhead. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/performance-tuning.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Performance Tuning |
3 | -description: Optimize your JustAPI application for maximum throughput and minimum latency. | |
3 | +description: Optimize your JustAPI application for maximum throughput and minimum latency — performance tuning for the fastest FastAPI alternative. | |
4 | +keywords: JustAPI, FastAPI alternative, performance tuning, throughput, latency, optimization | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Worker Configuration |
7 | 8 | |
▼docs_site/src/content/docs/advanced/pyo3-ffi-safety.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: PyO3 & FFI Safety |
3 | -description: How JustAPI safely crosses the Rust-Python boundary without sacrificing performance. | |
3 | +description: How JustAPI safely crosses the Rust-Python boundary without sacrificing performance — a key advantage over other FastAPI alternatives. | |
4 | +keywords: JustAPI, FastAPI alternative, PyO3, FFI safety, Rust-Python boundary, performance | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## The Challenge |
7 | 8 | |
▼docs_site/src/content/docs/advanced/resilience-patterns.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Resilience Patterns |
3 | -description: Protect your application with circuit breakers, rate limiting, bulkheads, and graceful degradation. | |
3 | +description: Protect your application with circuit breakers, rate limiting, bulkheads, and graceful degradation in JustAPI, the resilient FastAPI alternative. | |
4 | +keywords: JustAPI, FastAPI alternative, resilience, circuit breaker, rate limiting, bulkheads | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI incorporates enterprise resilience primitives directly in the Rust engine. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/rust-core-deep-dive.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Rust Core Deep Dive |
3 | -description: How the Rust runtime handles networking, routing, middleware, and serialization. | |
3 | +description: How the Rust runtime handles networking, routing, middleware, and serialization in JustAPI, the high-performance FastAPI alternative. | |
4 | +keywords: JustAPI, FastAPI alternative, Rust core, runtime, networking, routing, middleware, serialization | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | This guide explores the internals of `justapi-core`, the Rust engine that powers JustAPI. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/streaming-output.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Streaming Output |
3 | -description: Stream responses with Rust-side validation using @app.stream_json and StreamingResponse. | |
3 | +description: Stream responses with Rust-side validation using @app.stream_json and StreamingResponse in JustAPI, the FastAPI alternative. | |
4 | +keywords: JustAPI, FastAPI alternative, streaming, stream_json, StreamingResponse, Rust validation | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI supports two streaming approaches: the validated `@app.stream_json` and the flexible `StreamingResponse`. |
7 | 8 | |
▼docs_site/src/content/docs/advanced/zero-gil-architecture.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Zero-GIL Architecture & PyO3 Threads |
3 | -description: Deep dive into how JustAPI releases the Python GIL for native performance. | |
3 | +description: Deep dive into how JustAPI releases the Python GIL for native performance, outperforming FastAPI alternatives. | |
4 | +keywords: JustAPI, FastAPI alternative, GIL, zero-GIL, PyO3, threads, Python, Rust, performance | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## How the GIL Works |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/apirouter.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: APIRouter |
3 | -description: Modular router for grouping related routes in separate files. | |
3 | +description: "API reference for APIRouter in JustAPI, the FastAPI alternative — modular router for grouping related routes in separate files." | |
4 | +keywords: [apirouter, fastapi alternative, justapi, modular router, route groups, sub-routers] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | `APIRouter` lets you organize routes into modular groups, then include them in the main application. |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/background-tasks.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Background Tasks API |
3 | -description: Reference for post-response background task execution. | |
3 | +description: "API reference for background tasks in JustAPI, the FastAPI alternative — post-response background task execution." | |
4 | +keywords: [background tasks, fastapi alternative, justapi, backgroundtasks, async tasks, post-response] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `BackgroundTasks` Object |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/database.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Database API |
3 | -description: Reference for the Rust-native database connection pool and query interface. | |
3 | +description: "API reference for the database interface in JustAPI, the FastAPI alternative — Rust-native connection pool and query interface." | |
4 | +keywords: [database, fastapi alternative, justapi, connection pool, sql queries, postgresql, mysql, sqlite] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `app.set_database()` |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/dependency-injection.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Dependency Injection API |
3 | -description: Reference for Depends and parameter extraction functions. | |
3 | +description: "API reference for dependency injection in JustAPI, the FastAPI alternative — Depends, Path, Query, Header, Cookie, Body, File, and Form extractors." | |
4 | +keywords: [dependency injection, fastapi alternative, justapi, depends, path, query, header, request extraction] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `Depends()` |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/exceptions.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Exceptions & Error Handling API |
3 | -description: Reference for HTTPException, validation errors, and exception handlers. | |
3 | +description: "API reference for exceptions and error handling in JustAPI, the FastAPI alternative — HTTPException, validation errors, and exception handlers." | |
4 | +keywords: [exceptions, fastapi alternative, justapi, httpexception, error handling, validation errors] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `HTTPException` |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/index.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: API Reference Overview |
3 | -description: Complete reference for all JustAPI classes, functions, and parameters. | |
3 | +description: "API reference overview for JustAPI, the FastAPI alternative — covers all classes, functions, and parameters." | |
4 | +keywords: [api reference, fastapi alternative, justapi, framework documentation] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | The API Reference covers every public class, function, and configuration option in the JustAPI framework. |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/justapiapp.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: JustAPIApp |
3 | -description: The core application class — register routes, middleware, plugins, and run the server. | |
3 | +description: "API reference for JustAPIApp — the core application class of the FastAPI alternative JustAPI. Register routes, middleware, plugins, and run the server." | |
4 | +keywords: [justapiapp, fastapi alternative, justapi, application class, route registration, middleware] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | `JustAPIApp` is the central class of any JustAPI application. It manages route registration, middleware chains, plugin lifecycle, database connections, and server startup. |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/plugins.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Plugin System API |
3 | -description: Reference for extending JustAPI with Python and Rust plugins. | |
3 | +description: "API reference for the plugin system in JustAPI, the FastAPI alternative — extend JustAPI with Python and Rust plugins." | |
4 | +keywords: [plugins, fastapi alternative, justapi, plugin system, python plugins, rust plugins, extensibility] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI's plugin system supports Python plugins (for flexibility) and Rust plugins (for maximum performance). |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/request.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Request Object |
3 | -description: Access incoming HTTP request data through the Request object. | |
3 | +description: "API reference for the Request object in JustAPI, the FastAPI alternative — access incoming HTTP request data with zero-copy performance." | |
4 | +keywords: [request object, fastapi alternative, justapi, http request, zero copy, request data] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | The `Request` object provides zero-copy access to the incoming HTTP request. It's passed as the first parameter to every route handler. |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/responses.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Response Classes |
3 | -description: Return responses with different content types, status codes, and streaming capabilities. | |
3 | +description: "API reference for response classes in JustAPI, the FastAPI alternative — return responses with different content types, status codes, and streaming." | |
4 | +keywords: [responses, fastapi alternative, justapi, jsonresponse, streamingresponse, http response] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI provides several response classes optimized for zero-copy data transfer from Rust to Python. |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/routing.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Routing API |
3 | -description: Complete reference for HTTP method decorators and route registration. | |
3 | +description: "API reference for HTTP routing in JustAPI, the FastAPI alternative — method decorators and route registration." | |
4 | +keywords: [routing, fastapi alternative, justapi, http decorators, route registration, radix trie] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Method Decorators |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/scheduler.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Scheduler API |
3 | -description: Reference for the Rust-native cron-based task scheduler. | |
3 | +description: "API reference for the task scheduler in JustAPI, the FastAPI alternative — Rust-native cron-based periodic task scheduler." | |
4 | +keywords: [scheduler, fastapi alternative, justapi, cron, periodic tasks, pyscheduler, rust native] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `PyScheduler` Object |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/schema-validation.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Schema & Validation API |
3 | -description: Reference for Schema, Field, and validation functions. | |
3 | +description: "API reference for schema validation in JustAPI, the FastAPI alternative — Schema, Field, and validation functions." | |
4 | +keywords: [schema validation, fastapi alternative, justapi, schema class, field, validation, pydantic] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI provides two validation paths: the built-in `Schema` class (validated in Rust) and Pydantic models (validated in Python). |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/session.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Session API (Agent System) |
3 | -description: Reference for Rust-backed agent session state management. | |
3 | +description: "API reference for session management in JustAPI, the FastAPI alternative — Rust-backed agent session state management." | |
4 | +keywords: [session, fastapi alternative, justapi, session management, agent system, state management] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `Session` Object |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/testing-client.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Testing Client API |
3 | -description: Reference for the in-process HTTP test client. | |
3 | +description: "API reference for the test client in JustAPI, the FastAPI alternative — in-process HTTP test client for testing routes without a server." | |
4 | +keywords: [testing client, fastapi alternative, justapi, test client, justapitestclient, integration testing] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `JustAPITestClient` |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/uploadfile.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: UploadFile API |
3 | -description: Reference for uploaded file representation. | |
3 | +description: "API reference for UploadFile in JustAPI, the FastAPI alternative — representation of uploaded files via multipart/form-data." | |
4 | +keywords: [uploadfile, fastapi alternative, justapi, file upload, multipart form data, upload] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `UploadFile` Object |
7 | 8 | |
▼docs_site/src/content/docs/api-reference/websockets.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: WebSockets API |
3 | -description: Reference for WebSocket handler registration and connection management. | |
3 | +description: "API reference for WebSocket support in JustAPI, the FastAPI alternative — handler registration and connection management." | |
4 | +keywords: [websockets, fastapi alternative, justapi, websocket handler, real-time, bidirectional] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## `@app.websocket()` |
7 | 8 | |
▼docs_site/src/content/docs/contributing/benchmarking-guide.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Benchmarking Guide |
3 | -description: How to run and interpret JustAPI benchmarks. | |
3 | +description: How to run and interpret JustAPI benchmarks — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: benchmarking, performance testing, FastAPI alternative, Rust web framework, RPS | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Setup |
7 | 8 | |
▼docs_site/src/content/docs/contributing/coding-standards.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Coding Standards |
3 | -description: Conventions and guidelines for contributing to JustAPI. | |
3 | +description: Conventions and guidelines for contributing to JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: coding standards, contribution guide, FastAPI alternative, Rust web framework, developer guidelines | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Rust-First Mandate |
7 | 8 | |
▼docs_site/src/content/docs/contributing/development-setup.md
+16-2
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Development Setup |
3 | -description: Set up your local environment for JustAPI development. | |
3 | +description: Set up your local environment for JustAPI development — the Rust-powered FastAPI alternative. Build, test, and contribute to the fastest Python web framework. | |
4 | +keywords: [JustAPI, FastAPI alternative, development setup, Rust Python, PyO3, maturin, contribute to JustAPI] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Prerequisites |
| @@ -18,12 +19,22 @@ cd JustAPI | ||
18 | 19 | |
19 | 20 | ## Python Environment |
20 | 21 | |
22 | +### Using standard venv + pip | |
23 | + | |
21 | 24 | ```bash |
22 | 25 | python -m venv .venv |
23 | 26 | source .venv/bin/activate |
24 | 27 | pip install maturin pydantic |
25 | 28 | ``` |
26 | 29 | |
30 | +### Using uv (recommended for speed) | |
31 | + | |
32 | +```bash | |
33 | +uv venv | |
34 | +source .venv/bin/activate | |
35 | +uv pip install maturin pydantic | |
36 | +``` | |
37 | + | |
27 | 38 | ## Build the Rust Extension |
28 | 39 | |
29 | 40 | ```bash |
| @@ -48,8 +59,11 @@ cargo install --path crates/justapi-cli | ||
48 | 59 | # Rust |
49 | 60 | cargo build --workspace |
50 | 61 | |
51 | -# Python | |
62 | +# Python (with pip) | |
52 | 63 | pip install -e ".[dev]" |
64 | + | |
65 | +# Python (with uv) | |
66 | +uv pip install -e ".[dev]" | |
53 | 67 | ``` |
54 | 68 | |
55 | 69 | ## Editor Setup |
56 | 70 | |
▼docs_site/src/content/docs/contributing/documentation-guide.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Documentation Guide |
3 | -description: How to contribute to the JustAPI documentation site. | |
3 | +description: How to contribute to the JustAPI documentation site — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: documentation guide, contribution, FastAPI alternative, Rust web framework, docs | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Tech Stack |
7 | 8 | |
▼docs_site/src/content/docs/contributing/testing-guide.md
+5-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Testing Guide |
3 | -description: How to write and run tests for JustAPI. | |
3 | +description: How to write and run tests for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: testing guide, pytest, FastAPI alternative, Rust web framework, test automation | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Running Tests |
| @@ -15,6 +16,9 @@ cargo test -p justapi-core | ||
15 | 16 | # Python tests |
16 | 17 | pytest |
17 | 18 | |
19 | +# With uv | |
20 | +uv run pytest | |
21 | + | |
18 | 22 | # Miri (unsafe validation) |
19 | 23 | cargo +nightly miri test -p justapi-core |
20 | 24 | ``` |
21 | 25 | |
▼docs_site/src/content/docs/deployment/aks.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Azure AKS |
3 | -description: Deploy JustAPI to Azure Kubernetes Service. | |
3 | +description: Deploy JustAPI to Azure Kubernetes Service — run the leading FastAPI alternative on Microsoft Azure. | |
4 | +keywords: JustAPI, FastAPI alternative, AKS, Azure, Kubernetes, deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Create AKS Cluster |
7 | 8 | |
▼docs_site/src/content/docs/deployment/cloudflare-pages.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Cloudflare Pages Deployment |
3 | -description: Deploy your JustAPI documentation site to Cloudflare Pages. | |
3 | +description: Deploy your JustAPI documentation site to Cloudflare Pages — fast static hosting for the FastAPI alternative. | |
4 | +keywords: JustAPI, FastAPI alternative, Cloudflare Pages, deployment, documentation, static site | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | This documentation site is built with Astro and Starlight, making it 100% static-site generator (SSG) compatible. |
7 | 8 | |
▼docs_site/src/content/docs/deployment/docker.md
+15-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Docker & Docker Compose |
3 | -description: Containerize your JustAPI application for development and production. | |
3 | +description: Containerize your JustAPI application for development and production. Docker deployment guide for the fastest FastAPI alternative — Rust-powered Python web framework. | |
4 | +keywords: [JustAPI Docker, FastAPI alternative Docker, containerize Python API, Docker Compose, Rust Python Docker, Python web framework Docker] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Multi-Stage Dockerfile |
| @@ -92,6 +93,19 @@ services: | ||
92 | 93 | - "4318:4318" # OTLP HTTP |
93 | 94 | ``` |
94 | 95 | |
96 | +### Using uv in Docker (Smaller & Faster Builds) | |
97 | + | |
98 | +For smaller Docker images and faster builds, replace pip with uv in your Dockerfile: | |
99 | + | |
100 | +```dockerfile | |
101 | +FROM python:3.12-slim-bookworm AS builder | |
102 | +RUN pip install uv | |
103 | +COPY --from=builder /app/wheels /tmp/wheels | |
104 | +RUN uv pip install --system --no-cache /tmp/wheels/*.whl | |
105 | +``` | |
106 | + | |
107 | +This reduces layer size and install time significantly. | |
108 | + | |
95 | 109 | ## Production Image Optimizations |
96 | 110 | |
97 | 111 | 1. **Use `python:3.12-slim`** — Small image (~120 MB) |
98 | 112 | |
▼docs_site/src/content/docs/deployment/eks.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Amazon EKS |
3 | -description: Deploy JustAPI to Amazon Elastic Kubernetes Service. | |
3 | +description: Deploy JustAPI to Amazon Elastic Kubernetes Service — run the premier FastAPI alternative on AWS. | |
4 | +keywords: JustAPI, FastAPI alternative, EKS, Amazon, AWS, Kubernetes, deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Create EKS Cluster |
7 | 8 | |
▼docs_site/src/content/docs/deployment/flyio.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Fly.io |
3 | -description: Deploy JustAPI to Fly.io for global edge deployment. | |
3 | +description: Deploy JustAPI to Fly.io for global edge deployment — the FastAPI alternative with edge computing support. | |
4 | +keywords: JustAPI, FastAPI alternative, Fly.io, edge deployment, global deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Install flyctl |
7 | 8 | |
▼docs_site/src/content/docs/deployment/gke.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Google Cloud (GKE) |
3 | -description: Deploy JustAPI to Google Kubernetes Engine. | |
3 | +description: Deploy JustAPI to Google Kubernetes Engine — run the high-performance FastAPI alternative on GCP. | |
4 | +keywords: JustAPI, FastAPI alternative, GKE, Google Cloud, Kubernetes, deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Create GKE Cluster |
7 | 8 | |
▼docs_site/src/content/docs/deployment/kubernetes-helm.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Kubernetes & Helm |
3 | -description: Deploy JustAPI on Kubernetes using the official Helm chart. | |
3 | +description: Deploy JustAPI on Kubernetes using the official Helm chart — the FastAPI alternative built for production. | |
4 | +keywords: JustAPI, FastAPI alternative, Kubernetes, Helm, deployment, production | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Prerequisites |
7 | 8 | |
▼docs_site/src/content/docs/deployment/production-checklist.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Production Checklist |
3 | -description: Essential settings and configuration for running JustAPI in production. | |
3 | +description: Essential settings and configuration for running JustAPI in production — the FastAPI alternative you can trust. | |
4 | +keywords: JustAPI, FastAPI alternative, production, checklist, configuration, deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Build for Production |
7 | 8 | |
▼docs_site/src/content/docs/deployment/railway.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Railway |
3 | -description: Deploy JustAPI to Railway for zero-config cloud deployment. | |
3 | +description: Deploy JustAPI to Railway for zero-config cloud deployment — the FastAPI alternative that deploys effortlessly. | |
4 | +keywords: JustAPI, FastAPI alternative, Railway, zero-config, cloud deployment | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 1. Create `railway.json` |
7 | 8 | |
▼docs_site/src/content/docs/examples/index.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Examples Gallery |
3 | -description: Runnable code examples demonstrating JustAPI features. | |
3 | +description: Runnable code examples demonstrating JustAPI features — the Rust-powered FastAPI alternative. From hello world to full e-commerce APIs. | |
4 | +keywords: [JustAPI examples, FastAPI alternative examples, Python API examples, Rust Python, JustAPI demo, API code examples] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Getting Started |
7 | 8 | |
▼docs_site/src/content/docs/getting-started/cli-scaffolder.md
+9-2
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Project Scaffolder CLI |
3 | -description: How to generate complete multi-database and multi-protocol project templates with zero boilerplate. | |
3 | +description: Generate complete multi-database and multi-protocol project templates with zero boilerplate using JustAPI's CLI scaffolder — the FastAPI alternative for production Python. | |
4 | +keywords: [JustAPI, FastAPI alternative, project scaffolder, Python project generator, CLI tool, Rust Python, web framework CLI] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI features an interactive CLI project generator (`justapi create`) to scaffold complete applications with your choice of database and API architecture. |
| @@ -10,8 +11,11 @@ JustAPI features an interactive CLI project generator (`justapi create`) to scaf | ||
10 | 11 | Ensure you have the CLI installed: |
11 | 12 | |
12 | 13 | ```bash |
14 | +# Via cargo | |
13 | 15 | cargo install justapi-cli |
14 | -justapi --version | |
16 | + | |
17 | +# Or via uvx (no permanent install) | |
18 | +uvx justapi --version | |
15 | 19 | ``` |
16 | 20 | |
17 | 21 | ## Interactive Mode |
| @@ -20,6 +24,9 @@ Run `justapi create` without arguments to launch the TTY interactive wizard: | ||
20 | 24 | |
21 | 25 | ```bash |
22 | 26 | justapi create my_app |
27 | + | |
28 | +# Or with uvx (no install needed) | |
29 | +uvx justapi create my_app | |
23 | 30 | ``` |
24 | 31 | |
25 | 32 | The wizard will prompt you to select: |
26 | 33 | |
▼docs_site/src/content/docs/getting-started/first-steps.md
+8-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: First Steps with JustAPI |
3 | -description: Create your first API endpoint in under 2 minutes. | |
3 | +description: Create your first API endpoint in under 2 minutes with JustAPI — the fastest FastAPI alternative. Rust-powered Python framework with 700k+ RPS. | |
4 | +keywords: [JustAPI, FastAPI alternative, Python API, first API, Rust Python, web framework tutorial, FastAPI tutorial] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | This guide walks you through building and running your first JustAPI application from scratch. |
| @@ -38,6 +39,12 @@ Run directly using Python: | ||
38 | 39 | python main.py |
39 | 40 | ``` |
40 | 41 | |
42 | +Or with uv: | |
43 | + | |
44 | +```bash | |
45 | +uv run main.py | |
46 | +``` | |
47 | + | |
41 | 48 | You should see output similar to: |
42 | 49 | |
43 | 50 | ``` |
44 | 51 | |
▼docs_site/src/content/docs/getting-started/installation.md
+30-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Installation Guide |
3 | -description: How to install JustAPI via pip, cargo, or building from source. | |
3 | +description: Install JustAPI — the fastest FastAPI alternative — via pip, uv, cargo, or build from source. JustAPI is a Rust-powered Python web framework with 700k+ RPS. | |
4 | +keywords: [JustAPI, FastAPI alternative, install JustAPI, pip install, uv install, Python web framework, Rust Python, FastAPI replacement] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Prerequisites |
| @@ -22,6 +23,34 @@ To install optional features (Pydantic v2, Jinja2, XML support): | ||
22 | 23 | pip install "justapi[full]" |
23 | 24 | ``` |
24 | 25 | |
26 | +## Install via uv | |
27 | + | |
28 | +[uv](https://docs.astral.sh/uv/) is a fast Python package manager written in Rust. Install JustAPI with uv: | |
29 | + | |
30 | +```bash | |
31 | +uv pip install justapi | |
32 | +``` | |
33 | + | |
34 | +With optional features: | |
35 | + | |
36 | +```bash | |
37 | +uv pip install "justapi[full]" | |
38 | +``` | |
39 | + | |
40 | +## Run without Installing (via uvx) | |
41 | + | |
42 | +[uvx](https://docs.astral.sh/uv/guides/tools/) lets you run JustAPI CLI commands without a permanent install: | |
43 | + | |
44 | +```bash | |
45 | +# Scaffold a new project (no install needed) | |
46 | +uvx justapi create my_app | |
47 | + | |
48 | +# Run the dev server | |
49 | +uvx justapi serve --reload | |
50 | +``` | |
51 | + | |
52 | +This is ideal for CI pipelines, quick prototyping, and ephemeral environments. | |
53 | + | |
25 | 54 | ### Verify Installation |
26 | 55 | |
27 | 56 | ```bash |
28 | 57 | |
▼docs_site/src/content/docs/getting-started/migrating-from-fastapi.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Migrating from FastAPI |
3 | -description: How to switch your existing FastAPI project to JustAPI for 20x performance with minimal code changes. | |
3 | +description: Switch your existing FastAPI project to JustAPI — the ultimate FastAPI alternative — for 20x performance with minimal code changes. Drop-in FastAPI replacement. | |
4 | +keywords: [migrate from FastAPI, FastAPI to JustAPI, FastAPI replacement, FastAPI alternative migration, switch from FastAPI, Python web framework migration] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI is engineered as a **drop-in replacement for FastAPI**. In most cases, migration is as simple as changing imports. |
7 | 8 | |
▼docs_site/src/content/docs/getting-started/overview.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Overview & Core Philosophy |
3 | -description: Learn why JustAPI is built on Rust and how it delivers FastAPI compatibility with 20x performance. | |
3 | +description: Learn why JustAPI — the fastest FastAPI alternative — is built on Rust and delivers FastAPI compatibility with 20x performance. 700k+ RPS, zero-GIL. | |
4 | +keywords: [JustAPI, FastAPI alternative, FastAPI replacement, Rust Python web framework, high performance Python, Python API framework, drop-in FastAPI replacement] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | **JustAPI** is a high-performance Python web framework built on top of a multi-threaded **Rust runtime engine** (`justapi-core`). |
7 | 8 | |
▼docs_site/src/content/docs/index.mdx
+1-1
| @@ -1,6 +1,6 @@ | ||
1 | 1 | --- |
2 | 2 | title: JustAPI Documentation |
3 | -description: Rust-powered, FastAPI-class web framework for Python. 700k+ RPS, zero-GIL execution. | |
3 | +description: JustAPI — the fastest FastAPI alternative. A Rust-powered Python web framework with 700k+ RPS, zero-GIL execution, and drop-in FastAPI compatibility. The production-grade FastAPI replacement. | |
4 | 4 | template: splash |
5 | 5 | hero: |
6 | 6 | tagline: The speed of Rust. The elegance of Python. A drop-in replacement for FastAPI engineered for extreme throughput. |
7 | 7 | |
▼docs_site/src/content/docs/inference/gpu-cuda-setup.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: GPU & CUDA Configuration |
3 | -description: Configure GPU acceleration for LLM inference with CUDA. | |
3 | +description: Configure GPU acceleration for LLM inference with CUDA on JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: GPU acceleration, CUDA, LLM inference, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | > **Note:** GPU inference is feature-gated behind `cuda` and `real` features. Real GPU benchmarks are deferred to the 2.0.8 release (ADR-067). Structural CPU benchmarks pass. |
7 | 8 | |
▼docs_site/src/content/docs/inference/llm-serving-api.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: LLM Serving API |
3 | -description: OpenAI-compatible API endpoints for LLM inference. | |
3 | +description: OpenAI-compatible API endpoints for LLM inference with JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: LLM serving API, OpenAI compatible, FastAPI alternative, Rust web framework, inference API | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | When the `inference` feature is enabled, JustAPI exposes an OpenAI-compatible API for LLM serving. |
7 | 8 | |
▼docs_site/src/content/docs/inference/overview.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Inference Engine Overview |
3 | -description: JustAPI's native Rust inference engine for LLM serving. | |
3 | +description: JustAPI's native Rust inference engine for LLM serving — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: inference engine, LLM serving, FastAPI alternative, Rust web framework, machine learning | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI includes a Rust-native inference engine (`justapi-inference`) built on the [Candle](https://github.com/huggingface/candle) ML framework. It provides efficient LLM serving with continuous batching, PagedAttention KV-cache, prefix caching, and speculative decoding. |
7 | 8 | |
▼docs_site/src/content/docs/inference/scheduling-batching.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Scheduling & Batching |
3 | -description: Continuous batching and scheduling strategies for LLM inference. | |
3 | +description: Continuous batching and scheduling strategies for LLM inference with JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: continuous batching, scheduling, LLM inference, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI's inference scheduler implements continuous batching, prefix caching, and disaggregated prefill/decode for maximum LLM throughput. |
7 | 8 | |
▼docs_site/src/content/docs/observability/health-checks.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Health Checks |
3 | -description: Liveness, readiness, and custom health check endpoints. | |
3 | +description: Liveness, readiness, and custom health check endpoints for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: health checks, liveness probe, readiness probe, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Built-in Endpoints |
7 | 8 | |
▼docs_site/src/content/docs/observability/metrics-monitoring.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Metrics & Monitoring |
3 | -description: Export Prometheus metrics and monitor your JustAPI application. | |
3 | +description: Export Prometheus metrics and monitor your JustAPI application — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: Prometheus metrics, monitoring, FastAPI alternative, Rust web framework, observability | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Metrics Endpoint |
7 | 8 | |
▼docs_site/src/content/docs/observability/opentelemetry.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: OpenTelemetry Tracing |
3 | -description: Distributed tracing with OpenTelemetry and Jaeger. | |
3 | +description: Distributed tracing with OpenTelemetry and Jaeger for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: OpenTelemetry, distributed tracing, Jaeger, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI includes built-in OpenTelemetry tracing with OTLP gRPC export. |
7 | 8 | |
▼docs_site/src/content/docs/observability/structured-logging.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Structured Logging |
3 | -description: Configure structured JSON logging with tracing-subscriber. | |
3 | +description: Configure structured JSON logging with tracing-subscriber for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: structured logging, JSON logging, tracing-subscriber, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI uses `tracing` for structured logging, supporting both human-readable text and machine-parseable JSON formats. |
7 | 8 | |
▼docs_site/src/content/docs/reference/adr-index.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: ADR Index |
3 | -description: Architecture Decision Records — key decisions that shaped JustAPI. | |
3 | +description: Architecture Decision Records — key decisions that shaped JustAPI, a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: architecture decision records, ADR, FastAPI alternative, Rust web framework, technical decisions | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI documents significant architectural decisions as Architecture Decision Records (ADRs) in `DECISIONS.md`. |
7 | 8 | |
▼docs_site/src/content/docs/reference/cli.md
+6-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: CLI Reference |
3 | -description: Complete reference for the justapi command-line tool. | |
3 | +description: Complete reference for the justapi CLI — the command-line tool for the fastest FastAPI alternative. Serve, scaffold, migrate, and profile your Rust-powered Python APIs. | |
4 | +keywords: [JustAPI CLI, FastAPI alternative, justapi serve, justapi create, Python CLI, Rust CLI, web framework CLI, API development tools] | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | The `justapi` CLI provides development, scaffolding, and management commands. |
| @@ -8,8 +9,12 @@ The `justapi` CLI provides development, scaffolding, and management commands. | ||
8 | 9 | ## Installation |
9 | 10 | |
10 | 11 | ```bash |
12 | +# Via cargo (permanent install) | |
11 | 13 | cargo install justapi-cli |
12 | 14 | justapi --version |
15 | + | |
16 | +# Via uvx (run without installing) | |
17 | +uvx justapi --version | |
13 | 18 | ``` |
14 | 19 | |
15 | 20 | ## Commands |
16 | 21 | |
▼docs_site/src/content/docs/reference/configuration.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Configuration Reference |
3 | -description: Environment variables, app settings, and server configuration options. | |
3 | +description: Environment variables, app settings, and server configuration options for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: configuration, environment variables, FastAPI alternative, Rust web framework, server settings | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Environment Variables |
7 | 8 | |
▼docs_site/src/content/docs/reference/error-codes.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Error Codes |
3 | -description: JustAPI error code catalog and troubleshooting guide. | |
3 | +description: JustAPI error code catalog and troubleshooting guide for a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: error codes, troubleshooting, FastAPI alternative, Rust web framework, debugging | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## CLI Error Codes |
7 | 8 | |
▼docs_site/src/content/docs/reference/glossary.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Glossary |
3 | -description: Key terms and concepts used throughout the JustAPI documentation. | |
3 | +description: Key terms and concepts used throughout the JustAPI documentation for a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: glossary, terminology, FastAPI alternative, Rust web framework, JustAPI concepts | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## A |
7 | 8 | |
▼docs_site/src/content/docs/reference/release-notes.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Release Notes |
3 | -description: Version history and changelog for JustAPI. | |
3 | +description: Version history and changelog for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: release notes, changelog, version history, FastAPI alternative, Rust web framework | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## 2.0.0 (2026-07-24) |
7 | 8 | |
▼docs_site/src/content/docs/security/owasp-compliance.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: OWASP Top 10 Compliance |
3 | -description: JustAPI's compliance status against OWASP Top 10 (2021) security categories. | |
3 | +description: JustAPI's compliance status against OWASP Top 10 (2021) security categories — a secure FastAPI alternative built in Rust. | |
4 | +keywords: OWASP Top 10, security compliance, FastAPI alternative, Rust web framework, web security | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## A01: Broken Access Control |
7 | 8 | |
▼docs_site/src/content/docs/security/penetration-testing.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Penetration Testing Guide |
3 | -description: Guidelines and test scenarios for security testing JustAPI applications. | |
3 | +description: Guidelines and test scenarios for security testing JustAPI applications — a high-performance FastAPI alternative. | |
4 | +keywords: penetration testing, security testing, FastAPI alternative, Rust web framework, pentest guide | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Attack Surface |
7 | 8 | |
▼docs_site/src/content/docs/security/policy.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Security Policy |
3 | -description: Supported versions, vulnerability reporting, and disclosure process. | |
3 | +description: Supported versions, vulnerability reporting, and disclosure process for JustAPI — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: security policy, vulnerability reporting, FastAPI alternative, Rust web framework, JustAPI security | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Supported Versions |
7 | 8 | |
▼docs_site/src/content/docs/security/secure-configuration.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Secure Configuration |
3 | -description: Hardening guide for running JustAPI securely in production. | |
3 | +description: Hardening guide for running JustAPI securely in production — a high-performance FastAPI alternative built in Rust. | |
4 | +keywords: secure configuration, production hardening, FastAPI alternative, Rust web framework, security guide | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | ## Security Headers |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/background-tasks.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Background Tasks |
3 | -description: Execute tasks after sending the response using BackgroundTasks. | |
3 | +description: Execute tasks after sending the response using BackgroundTasks in JustAPI — a FastAPI alternative built on Rust. | |
4 | +keywords: background tasks, BackgroundTasks, async processing, JustAPI, FastAPI alternative | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | Background tasks let you run code after the HTTP response has been sent, without blocking the client. This is useful for operations like sending emails, processing uploads, or triggering webhooks. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/database-integration.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Database Integration |
3 | -description: Connect to SQL and NoSQL databases with JustAPI's Rust-native connection pool. | |
3 | +description: Connect to SQL and NoSQL databases with JustAPI's Rust-native connection pool — a FastAPI alternative for high-performance data access. | |
4 | +keywords: database integration, SQL, NoSQL, connection pool, JustAPI, FastAPI alternative, sqlx, PostgreSQL, SQLite | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI provides a built-in database connection pool manager (`app.db`) that executes queries in Rust via `sqlx`, keeping the GIL released for maximum throughput. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/dependency-injection.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Dependency Injection |
3 | -description: Use Depends to inject reusable components into your route handlers. | |
3 | +description: Use Depends to inject reusable components into your JustAPI route handlers — a FastAPI-compatible DI system. | |
4 | +keywords: dependency injection, Depends, route handlers, FastAPI alternative, JustAPI, reusable components | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | Dependency Injection (DI) lets you declare reusable components that are automatically resolved and injected into your route handlers. JustAPI's DI system mirrors FastAPI's, making migration seamless. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/error-handling.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Error Handling |
3 | -description: Handle errors gracefully with HTTPException, custom exception handlers, and validation error responses. | |
3 | +description: Handle errors gracefully in JustAPI with HTTPException, custom exception handlers, and validation error responses — a FastAPI alternative. | |
4 | +keywords: error handling, HTTPException, exception handlers, JustAPI, FastAPI alternative, validation errors | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI provides a structured error-handling system that lets you return consistent error responses across your API. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/file-uploads.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: File Uploads |
3 | -description: Handle file uploads with multipart form data using UploadFile and File annotations. | |
3 | +description: Handle file uploads in JustAPI with multipart form data using UploadFile and File annotations — a FastAPI alternative built in Rust. | |
4 | +keywords: file uploads, multipart form data, UploadFile, JustAPI, FastAPI alternative, Rust | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI provides robust support for file uploads via `multipart/form-data` using Rust's `multer` parser, with streaming to temporary files to avoid memory exhaustion. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/hello-world.md
+5-1
| @@ -1,6 +1,6 @@ | ||
1 | 1 | --- |
2 | 2 | title: Hello World in 2 Minutes |
3 | -description: Build and run your first JustAPI application from scratch. | |
3 | +description: Build and run your first JustAPI application from scratch — the high-performance Rust-powered FastAPI alternative. | |
4 | 4 | --- |
5 | 5 | |
6 | 6 | This tutorial walks through creating a complete JustAPI application, step by step. By the end, you'll have a running API server with multiple endpoints. |
| @@ -28,7 +28,11 @@ def root(request): | ||
28 | 28 | ## 2. Run It |
29 | 29 | |
30 | 30 | ```bash |
31 | +# Using Python directly | |
31 | 32 | python main.py |
33 | + | |
34 | +# Or with UV (faster startup) | |
35 | +uv run main.py | |
32 | 36 | ``` |
33 | 37 | |
34 | 38 | Expected output: |
35 | 39 | |
▼docs_site/src/content/docs/tutorials/middleware.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Middleware |
3 | -description: Intercept requests and responses with middleware for logging, timing, CORS, and custom processing. | |
3 | +description: Intercept requests and responses with JustAPI middleware for logging, timing, CORS, and custom processing — a FastAPI alternative built on Rust. | |
4 | +keywords: middleware, CORS, request interception, JustAPI, FastAPI alternative, Rust middleware | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | Middleware lets you run code before and after every request. JustAPI supports the same middleware pattern as FastAPI and Starlette. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/path-query-params.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Path & Query Parameters |
3 | -description: Declare and type-validate path and query parameters in JustAPI. | |
3 | +description: Declare and type-validate path and query parameters in JustAPI, the Rust-powered FastAPI alternative. | |
4 | +keywords: path parameters, query parameters, URL params, type validation, JustAPI routing, FastAPI alternative | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | Path and query parameters let you extract variables from the HTTP request URL. JustAPI handles type conversion and validation automatically using Python type hints. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/request-body.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Request Body & Validation |
3 | -description: Parse and validate JSON request bodies with Pydantic schemas and JustAPI's native fast path. | |
3 | +description: Parse and validate JSON request bodies with Pydantic schemas and JustAPI's native Rust fast path — a high-performance FastAPI alternative. | |
4 | +keywords: request body, JSON validation, Pydantic, Rust validation, JustAPI, FastAPI alternative, schema | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI validates request bodies against schemas defined with Pydantic models or the built-in `Schema` class. Validation runs in Rust by default, keeping the GIL released. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/routing-subrouters.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: Routing & Sub-routers |
3 | -description: Organize your API with modular routers and route groups. | |
3 | +description: Organize your API with modular routers and route groups in JustAPI — a FastAPI alternative with Rust-powered routing. | |
4 | +keywords: routing, sub-routers, APIRouter, modular routes, JustAPI, FastAPI alternative, radix-trie | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI's routing system uses a radix-trie (via `matchit`) for O(1) route matching. Routes are registered with decorators and can be organized across multiple files using `APIRouter`. |
7 | 8 | |
▼docs_site/src/content/docs/tutorials/websockets-sse.md
+2-1
| @@ -1,6 +1,7 @@ | ||
1 | 1 | --- |
2 | 2 | title: WebSockets & Server-Sent Events |
3 | -description: Build real-time applications with WebSockets and SSE streaming. | |
3 | +description: Build real-time applications with JustAPI WebSockets and SSE streaming — a FastAPI alternative powered by Rust. | |
4 | +keywords: WebSockets, Server-Sent Events, SSE, real-time, JustAPI, FastAPI alternative, streaming | |
4 | 5 | --- |
5 | 6 | |
6 | 7 | JustAPI supports both WebSockets (full-duplex) and Server-Sent Events (server-to-client streaming) for real-time communication. |
7 | 8 | |