Note: this is an early version of the template, structure and workflow are to be improved.
This is a minimal setup to work with Poetry, Sphinx and Streamlit out of the box.
Install cookiecutter if you do not have it yet:
pip install cookiecutter
Run at prompt and answer several questions about your new package:
cookiecutter https://github.com/epogrebnyak/impression
or, equivalently:
cookiecutter gh:epogrebnyak/impression
The way you may anwser questions is similar to this:
λ cookiecutter https://github.com/epogrebnyak/impression
package_name [pkg]: foo
author_name [Evgeniy Pogrebnyak]: Gino Forchione
author_email [e.pogrebnyak@gmail.com]: keep.it.a@secret.com
The project from example answers above will be created at foo
folder.
Please refer to Cookiecutter documentation for customisation.
- Poetry package and environment manager
- pytest and Github Actions testing pipeline
- Sphinx documentation with:
- markdown support via powerful myst-parser
- beautiful PyData theme
- publishing to Github Pages
- justfile for just command runner
- streamlit for quick dashboards
- MIT license
I test the created package manually, maybe there can be a clever script for that.
Command | Status |
---|---|
poetry run pytest |
ok |
just docs |
needs poetry install |
just show |
ok |
just app |
ok |
- badges (streamlit, test results)
- Read the docs compatibility
- git init and set origin in the script
- command line wrapper
Modern packaging:
- https://github.com/cjolowicz/cookiecutter-hypermodern-python
- https://github.com/TezRomacH/python-package-template
Data pipleine coockiecutter
Streamlit forum: