Fastapi integration for rewire
Project description
rewire_fastapi
A FastAPI integration for rewire.
Installation
To get started, install rewire_fastapi
using pip:
pip install rewire_fastapi
Supported Servers
This package supports running with both Uvicorn and Hypercorn servers (rewire_fastapi.server
).
Usage
First, import add rewire_fastapi
to your rewire application:
# ...
import rewire_fastapi
async def main():
async with Space().init().use():
DependenciesModule.get().add(rewire_fastapi.plugin) # add this
# ...
Then have injected fastapi in your files:
from fastapi import APIRouter, FastAPI
from rewire.plugins import simple_plugin
plugin = simple_plugin()
router = APIRouter()
@router.get("/hello")
def hello_world():
return "world"
@plugin.setup()
async def include_router(app: FastAPI):
app.include_router(router)
Configuration
Configure the package in config.yaml
file:
rewire_fastapi:
server: "hypercorn"
app: # will be passed to FastAPI instance
title: "My App"
uvicorn: # (optional)
port: 1234
hypercorn: # (optional)
bind: "0.0.0.0:1234"
routes: # (optional)
tag_prefix: "myapp:"
patch: # (optional)
swagger_hierarchical_tags: true
tag_prefixes: true
middleware:
cors: # enable cors middleware (optional)
allow_origins: ["*"]
allow_methods: ["*"]
allow_headers: ["*"]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rewire_fastapi-0.0.3.tar.gz
(5.2 kB
view hashes)
Built Distribution
Close
Hashes for rewire_fastapi-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab3180964e0f9d913aa4d1a43a33ba53732685d163849f90d6eebf59d0bef5ef |
|
MD5 | 7fd12595c9dcdfb2863cdf82a9ca83a7 |
|
BLAKE2b-256 | 9818a6455db745f92ce5d9b4c33173b28d4fd2464b9f5b3d0c0313042b4cc4c7 |