Skip to content
/ blueprint Public template

A blueprint for creating a new (Data Science) Python project.

Notifications You must be signed in to change notification settings

Aymane11/blueprint

Repository files navigation

Check Code Issues

blueprint

A code starter for creating Python (Data Science) projects.

Usage

Requirements

Getting started

  • Follow this link to create a repository using this template, without the need to clone it.
  • Or use the generate-image button located in the repository homepage.

Development

  • Run the following command to install dependencies (including dev dependencies):
poetry install
  • Run the following command to get available commands (see pyproject.toml for more information):
poe -h
  • Available commands:
Command Description
format Format the code using black
bandit Check for security issues using bandit
flake8 Lint the code base using flake8
pylint Lint the code base using pylint
test Run unit tests with coverage using pytest and pytest-cov
pre-commit Run pre-commit hooks before staging
autoflake Remove unused imports using autoflake
all Run all tasks

For example to run all the poe tasks, run:

poe all

Production

  • Run the following command to install dependencies (except for dev dependencies):
poetry install --no-dev

Project structure

.
├── data
│   ├── final                    # data after training the model
│   ├── processed                # data after processing
│   └── raw                      # raw data
├── docs                         # documentation for your project
├── .flake8                      # configuration for flake8 - a Python linting tool
├── .gitignore                   # ignore files that cannot be commited to Git
├── Makefile                     # store useful commands to set up the environment
├── models                       # store models
├── notebooks                    # store notebooks
├── .pre-commit-config.yaml      # configurations for pre-commit
├── pyproject.toml               # dependencies for poetry
├── README.md                    # describe your project
├── src                          # main code base module
│   ├── __init__.py
│   └── main.py                  # main script
└── tests                        # test module
    ├── __init__.py
    └── test_blueprint.py

TO DO

  • Docker
  • DVC
  • Hydra
  • Cookiecutter

Contributing

  1. Fork it 🍴
  2. Change it 🔧
  3. Create a Pull Request 🔃

Contributors