Straight to the Money 💰
Minimalistic yet all-inclusive Python project template
Stop wasting time in analysis paralysis over Python tooling choices 💸
Pick the defaults 💱
Go straight to the money 💹
This template focusses on simplicity. If you want something more robust, check this project's detached fork: Paleofuturistic Python.
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 https://github.com/Carlovo/straight_to_the_money
and fill in your project details. - Validate the setup with
uv run python -c "import straight_to_the_money; print(straight_to_the_money.hello())"
(replacestraight_to_the_money
with your project name/slug). - Optionally, pull in any dependencies with
uv add some_lib_you_need
Workflow
- Develop (optional, tinker:
uvx --refresh --with . ptpython
) - QA:
- Format:
uvx ruff format
- Lint:
uvx ruff check
- Type check:
uvx mypy
- Test:
uv run python -m unittest
- Format:
- Build:
uv build
- Document:
uvx 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 walkthrough.
Still skeptical? See the about instead. Or, have a look at my kitchen sink project created with this template.