A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
Requirements
- Python 2.7 or 3.5+
- Cookiecutter Python package(http://cookiecutter.readthedocs.org/en/latest/installation.html) >= 1.4.0: This can be installed with pip by or conda depending on how you manage your Python packages.
# Install cookiecutter and pipenv
pip install cookiecutter
pip install pipenv
# Use cookiecutter to create project from this template
cookiecutter https://github.com/skvorekn/python-cookiecutter
# OR clone the repo and create a project using:
cookiecutter python-cookiecutter/
# Enter project directory
cd <repo_name>
# Follow the instructions in the project README.md for further setup.
- Testing with pytest
- Formatting with black
- Import sorting with isort
- Static typing with mypy
- Linting with flake8
- Git hooks that run all the above with pre-commit
- Continuous Integration with GitHub Actions
See {{ cookiecutter.repo_name }}/README.md for the resulting folder structure.
- Add changes/features.
- Add tests associated with new features.
- Edit documentation as necessary.
- TODO: code formatting, etc.
Project based on the cookiecutter data science project template and the python best practices template.