Modern Cookiecutter template for Python-based data science/engineering/analytics projects. Created by Coefficient.
Inspired by:
# Install cookiecutter (if you haven't already done so)
pipx install cookiecutter
# Install the latest release directly from this repo
cookiecutter https://github.com/CoefficientSystems/modern-data-cookiecutter
# Follow instructions in docs/getting_started.md or docs/quickstart.md
- Work across multiple Python versions using pyenv
- Virtualenv management using virtualenv and pyenv-virtualenv
- Packaging and dependency management with Poetry
- Automated dependency upgrades with poetry-plugin-up and Dependabot
- Linting pre-configured using pre-commit, Flake8 and pylint
- Code auto-formatting with Black, autoflake, add-trailing-comma
- Import sorting with isort
- Automated Python syntax upgrades with pyupgrade
- Testing with pytest
- Continuous integration with GitHub Actions
- Twelve Factor app principles
- Jupyter Lab/Notebook configured with jupyter-black autoformatter
- Directory structure designed specifically for data science & analytics projects (adapted from cookiecutter-data-science)
- Security audit with pip-audit and detect-secrets
- Keep secrets & config out of code by loading as environment variables using direnv
- Get started easily using Getting Started or the Quickstart with further documentation on how to use the packages in this cookiecutter available in docs/
- VS Code Settings configures features like "Format on save", isort configuration, bracket pair colorization, Pylance and mypy alongside recommended extensions
- Automated release notes using towncrier
Please see CONTRIBUTING.md for guidance on how to request features, report issues, setup a development environment, test this cookiecutter and contribute to development.