TODO @abhi18av:
- git-submodules for various sun templates
- mlflow
- https://github.com/posit-dev/pointblank
This is a template built with Copier to generate a data science focused python project.
Get started with the following command:
copier copy gh:abhi18av/template-analysis-and-writeup path/to/destination
It is assumed that most of the work will be done in Jupyter Notebooks. However, the template also includes a python project, in which you can put functions and classes shared across notebooks. The repository is set up to use Pytest for unit testing this module code.
The template also includes a data
directory whose contents will be ignored by git.
You can use this folder to store data that you do not commit.
You may also put a readme file in which you can document the source datasets you use and how to acquire them.
just
is a command runner that allows you to easily to run project-specific commands.
In fact, you can use just
to run all the setup commands listed below:
just setup
pre-commit is a tool that runs checks on your files before you commit them with git, thereby helping ensure code quality. Enable it with the following command:
pre-commit install --install-hooks
The configuration is stored in .pre-commit-config.yaml
.
You may optionally add a github workflow file which checks the following:
- uses ruff to check files are formatted and linted
- Runs unit tests and checks coverage
- Checks any markdown files are formatted with markdownlint-cli2
- Checks that all jupyter notebooks are clean
Typos checks for common typos in code, aiming for a low false positive rate. The repository is configured not to use it for Jupyter notebook files, as it tends to find errors in cell outputs.
Test with Copier and copier-template-tester.