Metadata-Version: 2.5
Name: fastapi-workbench
Version: 1.0.0
Summary: Generic Posit Workbench / RStudio Server deployment adapter for FastAPI ASGI apps
Project-URL: Homepage, https://github.com/eddiethedean/hedron
Project-URL: Repository, https://github.com/eddiethedean/hedron
Project-URL: Issues, https://github.com/eddiethedean/hedron/issues
Project-URL: Changelog, https://github.com/eddiethedean/hedron/blob/main/packages/fastapi-workbench/CHANGELOG.md
Author-email: Odos Matthews <odosmatthews@gmail.com>
Maintainer-email: Odos Matthews <odosmatthews@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: asgi,fastapi,posit,proxy,rstudio,starlette,workbench
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.11
Requires-Dist: starlette>=0.46
Requires-Dist: uvicorn[standard]>=0.32
Description-Content-Type: text/markdown

# fastapi-workbench

Generic Posit Workbench / RStudio Server deployment adapter for FastAPI and other
Starlette-compatible ASGI applications.

Installing or importing this package does **not** wrap your application.
`RS_SERVER_URL` is discovery-only and never grants trust.

## Install

```bash
pip install fastapi-workbench
# or
uv add fastapi-workbench
```

## Quick start

```bash
fastapi-workbench run myapp.main:app
fastapi-workbench check myapp.main:app --discover
fastapi-workbench doctor myapp.main:app --live
```

Wrap an existing ASGI app:

```python
from fastapi_workbench import workbenchify

app = workbenchify(my_asgi_app, owned_cookie_names=("session",))
```

## Configuration

Environment variables use the `FASTAPI_WORKBENCH_*` prefix (for example
`FASTAPI_WORKBENCH_MOUNT`, `FASTAPI_WORKBENCH_MODE`). See `fastapi-workbench check
--help` for the full CLI surface.
