Python buildpacks now support the package manager uv
Change effective on 13 May 2025
The Python buildpacks now support using the package manager uv to install app dependencies during the build.
If you have not used uv before, we highly recommend giving it a try - it supports lockfiles, is extremely fast, and is actively maintained by a full-time team! To learn more, see uv’s installation instructions and guide to working on projects.
To use uv on Heroku, ensure your app has a pyproject.toml
, uv.lock
and a .python-version
file. These can be created using uv init
.
You must remove any other package manager files (such as requirements.txt
, Pipfile
or poetry.lock
), otherwise the other package managers will take precedence for backwards compatibility.
If you are using a third-party uv buildpack that exports a requirements.txt
file from your uv.lock
, you will need to remove that buildpack otherwise the requirements file it generates will take precedence.
For more details, see Heroku Python Support Reference and Python Behavior in Heroku.
Heroku’s buildpacks are open source. To subscribe to Python buildpack release notifications or provide feedback, see these repositories on GitHub:
- Python classic buildpack (used by Cedar-generation apps)
- Python Cloud Native Buildpack (used by Fir-generation apps)