Python projects now support routing rules
Python projects can now use routing rules to set response headers or rewrite requests to internal paths, including apps built with FastAPI, Django, and Flask.
The Vercel CDN evaluates rules before requests reach your application, so changes apply without a new deployment.
For example, this FastAPI app serves a /new route:
To send requests for /old to that route, create a rewrite from the CDN tab in your project dashboard or with the Vercel CLI:
Published rules take effect immediately across all regions, and you can roll back to a previous version from the History tab.
You can also manage rules from Python with the vercel SDK, which wraps the Vercel REST API. add_route stages the rule, and update_route_version publishes it:
Rewrites can also be defined in vercel.json:
Project-level rules live outside your deployment and are evaluated before its routes, so a published rule takes precedence over a vercel.json rewrite for the same path. Each surface fits a different workflow:
How you define it | Takes effect | Best for |
|---|---|---|
CDN tab in the dashboard | On publish | Editing and testing rules visually |
Vercel CLI | On publish | One-off changes from the terminal |
| On publish | Automation and CI/CD |
| On each deployment | Rewrites that ship with the application code |
Update Vercel CLI to the latest version and read the routing documentation to get started.