Procfile and Deployfile process manager for Python virtual environments
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file bureaucrat-0.3.6.tar.gz
.
File metadata
- Download URL: bureaucrat-0.3.6.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d29890e8c96d606c14776ce5d12dbdd3a7502821dcb270180ac9e4056acd4b2 |
|
MD5 | dbfaee6128b342b1acb768904bc5a928 |
|
BLAKE2b-256 | e80849b6682d8b0f3af36efe734dee3d22aa3d06b85b9d5d58db8aa1f991597b |