Python Buildpack on App Platform

App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure.

How App Platform Builds Images

App Platform supports two ways to build an image for your app: Cloud Native Buildpacks and Dockerfiles.

When you give App Platform access to your code, it defaults to using a Dockerfile if one is present in the root of the directory or specified in the app spec. Otherwise, App Platform checks your code to determine what language or framework it uses. If it supports the language or framework, it chooses an appropriate resource type and uses the proper buildpack to build the app and deploy a container.

heroku-buildpack-python is utilized as the buildpack for detecting and building your Python applications.

Python Applications using Buildpacks

App Platform looks for any of the following to detect a Python application:

  • requirements.txt
  • Pipfile

Current Buildpack Version and Supported Runtimes

App Platform uses version 231 of the Heroku Python Buildpack. The buildpack supports Python runtime versions 3.7.x up to 3.11.x. If no version is specified in your app, App Platform defaults to using version 3.11.3.

Specify a Python Version

You can configure the python version used at runtime by specifying a runtime.txt file at the root of your source code:




  • At least one of requirements.txt, Pipfile, and must be located in the root directory of the repo.
  • A run command is required. If one is not auto-detected, you must set one before deploying your app.
  • Due to an issue with Gunicorn running in Docker, App Platform fails to run when the temporary directory is not specified in the run command. To resolve, run Gunicorn to use a different location for its temp files. Modify the run command by passing this option: gunicorn --worker-tmp-dir /dev/shm project.wsgi, where project is the name of your project.