# Python Quick Start
Source: https://www.inngest.com/docs/getting-started/python-quick-start

description = `Get started with Inngest in this ten-minute Python tutorial`

{/* This is a duplicate of /docs/reference/python/overview/quick-start.mdx, which will soon be deleted*/}

This guide will teach you how to add Inngest to a FastAPI app and run an Inngest function.

<Callout variant="info">
  💡 If you prefer to explore code instead, here are example apps in the frameworks currently supported by Inngest:  [FastAPI](https://github.com/inngest/inngest-py/tree/main/examples/fast_api), [Django](https://github.com/inngest/inngest-py/tree/main/examples/django),  [Flask](https://github.com/inngest/inngest-py/tree/main/examples/flask), [DigitalOcean Functions](https://github.com/inngest/inngest-py/tree/main/examples/digital_ocean), and [Tornado](https://github.com/inngest/inngest-py/tree/main/examples/tornado).

  Is your favorite framework missing here? Please open an issue on [GitHub](https://github.com/inngest/inngest-py)!
</Callout>

---

## Create an app

<Callout variant="warning">
  ⚠️ Use Python 3.10 or higher.
</Callout>

Create and source virtual environment:
```sh
python -m venv .venv && source .venv/bin/activate
```

Install dependencies:
```sh
pip install fastapi inngest uvicorn
```

Create a FastAPI app file:

```py {{ filename: "main.py" }}
from fastapi import FastAPI

app = FastAPI()
```

---

## Add Inngest

Let's add Inngest to the app! We'll do a few things
1. Create an **Inngest client**, which is used to send events to an Inngest server.
1. Create an **Inngest function**, which receives events.
1. Serve the **Inngest endpoint** on the FastAPI app.

```py {{ filename: "main.py" }}
import logging
from fastapi import FastAPI
import inngest
import inngest.fast_api