Skip to main content
Hop uses Nixpacks for automatic, configless deployments. You can write a custom Dockerfile if you don't want to use Nixpacks.
Python is detected when you have one of the following files in your codebase:
  • main.py
  • requirements.txt
  • pyproject.toml

Build Command

Depending on the dependency file detected in your project, a different command will be used to build your image.
pip install -r requirements.txt
pip install --upgrade build setuptools && pip install .
If a poetry.lock file is also detected, this will be ran instead:
poetry install --no-dev --no-interactive --no-ansi
PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy

Start Command

If Django is detected, the following command will be used:
python manage.py migrate && gunicorn {app_name}.wsgi
python -m {module}
python main.py
Depending on files detected within your project, a different start command (entrypoint) will be used to run your application.

Versions

The following Python versions are available:
  • 3.11
  • 3.10
  • 3.9
  • 3.8 (default)
  • 3.7
  • 2.7

Specifying a version

The version can be overridden by:
  • Setting the NIXPACKS_PYTHON_VERSION environment variable, or
  • Specifying the version in a .python-version file
I