Skip to main content

Build Status PyPI version

The Procfile & Deployfile process manager for Python Virtual Environments.

Bureaucrat provides support for Deployfile based deployment task management. A Deployfile is basically a Procfile by another name. It is used to define the deployment commands for your project and spawn the processes required to run it.

Deployfile commands must be idempotent.

If you’re using Docker then you might find this useful to automate your container builds.

Installation

Install from PyPI with:

pip install bureaucrat

Or install from source with:

pip install git+https://github.com/adlibre/python-bureaucrat.git#egg=bureaucrat

Config

To use Bureaucrat you will need to create a Procfile, Deployfile and .env file in your virtual env root.

Sample Procfile

The following will spawn a single gunicorn web process.

web: gunicorn project.wsgi:application --workers $WORKERS --log-file $LOGFILE --bind 0.0.0.0:$PORT --timeout 300

Sample Deployfile

The following is suitable for deploying a Django application.

pip: pip install -r requirements.txt
migrate: manage.py migrate --noinput
collectstatic: manage.py collectstatic --noinput

Sample .env

WORKERS=4
LOGFILE=/var/log/django-project.log
PORT=8000

Usage

Basic options are start, stop, restart, deploy and init.

usage: Bureaucrat [-h] {start,stop,restart,deploy,init} ...

Bureaucrat - the Procfile & Deployfile manager for Python Virtual Environments

positional arguments:
  {start,stop,restart,deploy,init}
    start               Starts Procfile processes
    stop                Stops Procfile processes
    restart             Restarts Procfile processes
    deploy              Run tasks in Deployfile
    init                Run Deployfile tasks and then start Procfile processes
                        in foreground

optional arguments:
  -h, --help            show this help message and exit

Start / Stop / Restart Arguments

Additional arguments for specifying a custom location for Procfile, .env and log files.

usage: Bureaucrat start [-h] [--venv VENV] [--app APP] [--procfile PROCFILE]
                        [--envfile ENVFILE] [--logpath LOGPATH]
                        [--pidpath PIDPATH]
                        [process [process ...]]

positional arguments:
  process              Procfile Process Name

optional arguments:
  -h, --help           show this help message and exit
  --venv VENV          Virtualenv root
  --app APP            Application root
  --procfile PROCFILE  Procfile path
  --envfile ENVFILE    .env file path
  --logpath LOGPATH    log file path
  --pidpath PIDPATH    pid file path

Example:

$ bureaucrat start
Spawning web: gunicorn project.wsgi:application --log-file log/gunicorn.$LOGFILE --bind unix:run/gunicorn.sock

Deploy Arguments

usage: Bureaucrat deploy [-h] [--venv VENV] [--app APP]
                         [--deployfile DEPLOYFILE] [--envfile ENVFILE]
                         [--logpath LOGPATH]

optional arguments:
  -h, --help            show this help message and exit
  --venv VENV           Virtualenv root
  --app APP             Application root
  --deployfile DEPLOYFILE
                        Deployfile path
  --envfile ENVFILE     .env file path
  --logpath LOGPATH     log file path

Example:

$ bureaucrat deploy
Running task syncdb: manage.py syncdb --noinput
Running task migrate: manage.py migrate --noinput
Running task collectstatic: manage.py collectstatic --noinput

Status

This used by Panubo to support Python environments.

Release files for bureaucrat 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bureaucrat 0.3.6
File Size Uploaded
bureaucrat-0.3.6.tar.gz 8.1 kB Details

Release files / bureaucrat-0.3.6.tar.gz

Download URL bureaucrat-0.3.6.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2d29890e8c96d606c14776ce5d12dbdd3a7502821dcb270180ac9e4056acd4b2
BLAKE2b-256 checksum
How to use checksums
e80849b6682d8b0f3af36efe734dee3d22aa3d06b85b9d5d58db8aa1f991597b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.6 This release

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.9

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page