The documentation you are viewing is for Dapr v1.8 which is an older version of Dapr. For up-to-date documentation, see the latest version.

Dapr Python SDK integration with FastAPI

How to create Dapr Python virtual actors with the FastAPI extension

The Dapr Python SDK provides integration with FastAPI using the dapr-ext-fastapi module

Installation

You can download and install the Dapr FastAPI extension module with:


pip install dapr-ext-fastapi

pip install dapr-ext-fastapi-dev

Example

Subscribing to an event

from fastapi import FastAPI
from dapr.ext.fastapi import DaprApp


app = FastAPI()
dapr_app = DaprApp(app)


@dapr_app.subscribe(pubsub='pubsub', topic='some_topic')
def event_handler(event_data):
    print(event_data)

Creating an actor

from fastapi import FastAPI
from dapr.ext.fastapi import DaprActor
from demo_actor import DemoActor

app = FastAPI(title=f'{DemoActor.__name__}Service')

# Add Dapr Actor Extension
actor = DaprActor(app)

@app.on_event("startup")
async def startup_event():
    # Register DemoActor
    await actor.register_actor(DemoActor)

@app.get("/GetMyData")
def get_my_data():
    return "{'message': 'myData'}"