Skip to content

heroku/buildpacks-python

Heroku Cloud Native Buildpack: Python

Cloud Native Buildpacks Registry: heroku/python CI on Github Actions: heroku/python

Heroku Cloud Native Buildpack: heroku/python

heroku/python is the Heroku Cloud Native Buildpack for Python applications. It builds Python application source code into application images with minimal configuration.

Important

This is a Cloud Native Buildpack, and is a component of the Heroku Cloud Native Buildpacks project, which is in preview. If you are instead looking for the Heroku Classic Buildpack for Python (for use on the Heroku platform), you may find it here.

Usage

Note

Before getting started, ensure you have the pack CLI installed. Installation instructions are available here.

To build a Python application codebase into a production image:

$ cd ~/workdir/sample-python-app
$ pack build sample-app --builder heroku/builder:22

Then run the image:

docker run --rm -it -e "PORT=8080" -p 8080:8080 sample-app

Application Requirements

A requirements.txt file must be present at the root of your application's repository.

Configuration

Python Version

By default, the buildpack will install the latest version of Python 3.12.

To install a different version, add a runtime.txt file to your app’s root directory that declares the exact version number to use:

$ cat runtime.txt
python-3.12.3

In the future this buildpack will also support specifying the Python version via a .python-version file (see #6).

Contributing

Issues and pull requests are welcome. See our contributing guidelines if you would like to help.