Metadata-Version: 2.5
Name: fluxfast
Version: 0.4.2
Summary: High-performance server-driven application runtime for FastAPI
Project-URL: Homepage, https://github.com/El37628/FluxFast
Project-URL: Repository, https://github.com/El37628/FluxFast
Project-URL: Issues, https://github.com/El37628/FluxFast/issues
Author: FluxFast Contributors
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: anyio>=4.0.0
Requires-Dist: fastapi<1.0.0,>=0.141.1
Requires-Dist: pydantic>=2.9.0
Requires-Dist: starlette<2.0.0,>=1.3.1
Requires-Dist: uvicorn<1.0.0,>=0.30.0
Provides-Extra: dev
Requires-Dist: httpx2<3.0.0,>=2.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Provides-Extra: redis
Requires-Dist: redis<8.0.0,>=5.0.0; extra == 'redis'
Description-Content-Type: text/markdown

# FluxFast for FastAPI

The Python package provides FastAPI page routes, scoped versioned resources, a
bounded in-memory cache, concurrent loader resolution, mutation helpers, 422
mapping, redirects, and the `fluxfast/1` protocol.

```bash
python -m pip install fluxfast
```

```python
from fastapi import FastAPI
from fluxfast import FluxFast, Page, resource, scope

app = FastAPI()
flux = FluxFast(app)

@flux.page("/")
async def home():
    return Page(
        "home/index",
        resources=[
            resource("news", load_news, scope=scope.public(), ttl=60),
        ],
    )
```

Reusable data must declare an appropriate public, user, tenant, or custom scope.
See the repository protocol and caching documentation for wire and invalidation
semantics.

For a Next.js consumer, install its backend and run both development processes
under one supervisor:

```bash
python -m pip install -e backend
fluxfast dev backend.app.main:app
```

The CLI starts FastAPI on an available internal loopback port and Next on the
browser-facing development port. The companion Next config uses the injected
server-only address, so browser requests stay same-origin.
