Honcho
Honcho is a Python port of David Dollar's Foreman, a command-line application that helps you manage and run Procfile-based applications. It simplifies deployment and configuration in development and production by running multiple external processes and multiplexing their output. The current version is 2.0.0, with releases occurring infrequently but actively maintained.
Warnings
- breaking Version 2.0.0 dropped support for Python 3.6, 3.7 and PyPy 3.7, 3.8. It now supports Python 3.11, 3.12, 3.13 and PyPy 3.9, 3.10.
- gotcha Be careful not to confuse `honcho` (Procfile manager) with `honcho-ai` (an unrelated AI conversational memory platform SDK). Ensure you install `honcho` from PyPI for Procfile management.
- gotcha The `honcho run` command is designed to execute arbitrary shell commands within the environment provided by Honcho and `.env` files. It does not accept Procfile-defined process targets. For running Procfile-defined processes, use `honcho start`.
- gotcha When using command-line arguments like `-f` (to specify a Procfile path), ensure they are placed *before* the subcommand (e.g., `start`, `run`) to be correctly parsed. Historically, placing them after the subcommand could lead to them being ignored in older versions.
- gotcha The `PROCFILE` environment variable in Honcho 2.0.0 configures the *name* of the Procfile (e.g., 'Procfile.dev'), not necessarily its full path, if you intend to override the default `Procfile` lookup behavior. While older versions mentioned specifying location, the intent is for filename overrides.
Install
-
pip install honcho
Imports
- Procfile
from honcho.lib.procfile import Procfile
Quickstart
echo 'web: python -m http.server $PORT' > Procfile honcho start