A simple template to bootstrap Python machine learning projects, maintaining a standard structure using uv. It should be slightly faster than starting from scratch each time.
To use this template, follow these steps:
-
Click the "Use this template" button at the top of the repository and follow the procedure.
-
Clone your new repository to your local machine:
git clone https://github.com/your-username/your-repo.git
-
Install uv if you haven't already. On macOS and Linux you can install it using:
curl -LsSf https://astral.sh/uv/install.sh | shFor more installation options, visit uv documentation.
-
Navigate to the project directory. E.g.:
cd your-repo -
The template provides a simple "self-destructing" initialization script,
init.py, that automatically provides the necessary information to generate a fully functional python package (project name, author, ...). With uv this script can be launched as easily as:# launch and follow the prompts uv run init.py -
Add custom dependencies: E.g.
uv add "numpy>=1.21.0,< 2.0.0" -
You're good to go! Of course, you can further customize it to your liking.
Note
The
init.pyscript is self-contained and will delete itself once the procedure is completed. It is absolutely safe to delete if you prefer to edit the files manually.
If you are using VS Code as your editor of choice, you can use the following
snippet in your settings.json file to format and sort imports on save.
{
"[python]": {
"diffEditor.ignoreTrimWhitespace": false,
"editor.wordBasedSuggestions": "off",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"editor.defaultFormatter": "charliermarsh.ruff",
},
}Of course, this is completely optional.