Resources & Development¶
Source Repository¶
Pypen is developed on Git, hosted on GitHub at github.com/MysteryDemon/pypen. The reference layout is:
pypen/ ├── app/ # Quart dashboard (ASGI) │ ├── __init__.py │ ├── cron.py │ ├── routes/ │ ├── static/ │ ├── templates/ │ └── utils/ ├── worker/ # Project manager (clone, build, supervise) │ ├── config_loader.py │ ├── project_manager.py │ ├── pyenv_utils.py │ ├── s6_config.py │ └── s6_svc.py ├── ping/ # Optional keep-alive pinger ├── start.py # Boots dashboard + supervisor + worker + pinger ├── run.py # Uvicorn entry point for the dashboard ├── update.py # Optional self-update from [upstream].repo ├── Dockerfile ├── heroku.yml ├── project.toml.example ├── requirements.txt └── README.md
Bug Tracker¶
File issues at github.com/MysteryDemon/pypen/issues. Please include:
- Pypen version (commit SHA if running from source)
- Host OS and architecture
- A redacted excerpt of
project.toml - Relevant log lines from
/var/log/s6/<id>/
Contributing¶
Pull requests are welcome. The codebase favours small, focused modules and explicit names; please match that style. New configuration keys need an entry on the Configuration File page.
License¶
Pypen is released under the MIT License.