Paleofuturistic Python
The Python development workflow your past self had always hoped for is finally here!
This project is meant as an enterprise-ready template for developing Python packages. If that bar is a bit too high for you, then you can checkout Straight to the Money 💰. Paleofuturistic Python is a detached fork of Straight to the Money 💰.
Usage
Prerequisite: uv
(Installing uv should also provide you with uvx.
Give their docs a look-over before continuing if you want to get a better understanding of what is going on under the hood in the steps below.)
Setup
- Initialize with
uvx cruft create --checkout latest https://github.com/schubergphilis/paleofuturistic_pythonand fill in your project details. - Optional: validate the setup with
uv run python -c "import paleofuturistic_python; print(paleofuturistic_python.hello())"(replacepaleofuturistic_pythonwith your project name/slug). - Run
uv sync --all-extras --devto download the dependencies and generate a .lock file.
Workflow
- Download dependencies (if you need any):
uv add some_lib_you_need - Develop (optional, tinker:
uvx --with-editable . ptpython) - QA:
- Format:
uv run ruff format - Lint:
uv run ruff check - Type check:
uv run mypy - Test:
uv run python -m unittest
- Format:
- Build:
uv build - Document:
uv run mkdocs build - Publish:
uv publish
Can it really be that simple? Well, eventually yes, but you will need to set up some connections and credentials still, of course. For a slightly more elaborate walkthrough on that, see the docs.