No project description provided
Project description
Table of Contents
๐ช Data Science Cookiecutter
The Data Science Cookiecutter ๐ช is an opinionated, yet configurable, Python project that provides a template for organizing and setting up data science projects. It uses the Cookiecutter project structure to create a standardized and reproducible project layout.
๐ฏ Motivation
Data science projects often require a well-structured project layout to ensure reproducibility and collaboration. The Data Science Cookiecutter aims to solve this problem by providing a project template. While it follows certain opinions about project organization, it also allows for easy customization to fit different project needs.
โจ Features
- Standardized project structure for data science projects
- Automatic generation of project files and folders
- Customizable templates for different project needs
- Customizable for multiple programming languages (currently, the default template currently only has Python)
- Easy project initialization with just a few command-line arguments
โ๏ธ Installation
The Data Science Cookiecutter is on pypi and can be installed using pip
, poetry
, pdm
or conda
.
pdm install datascience-cookiecutter
๐ Basic Usage
To create a new data science project using the Data Science Cookiecutter, follow these steps:
- Open a terminal or command prompt.
cd
to the directory where you want to create the project.- Run the following command:
cookiecutter myproject
wheremyproject
is the name of your project. - profit ๐
๐ Default Template
.
โโโ Makefile <- Makefile for project automation
โโโ README.md <- Project documentation and instructions
โโโ pyproject.toml <- Configuration file for dependencies and project metadata
โโโ data <- Folder to store data
โ โโโ final <- Folder for final processed data
โ โโโ processed <- Folder for intermediate processed data
โ โโโ raw <- Folder for raw data
โ โโโ sim <- Folder for simulated data
โโโ dev <- Folder for development-related files
โ โโโ notebooks <- Folder for Jupyter notebooks
โ โโโ scripts <- Folder for development scripts
โโโ docs <- Folder for project documentation
โโโ myproject <- Placeholder folder for the project itself (replaced with your project name)
โ โโโ __init__.py <- Python package initialization file
โ โโโ main.py <- Main Python script for the project
โโโ references <- Folder for reference materials
โโโ reports <- Folder for project reports
โ โโโ img <- Folder for images and visualizations used in reports
โ โโโ report.md <- Sample report file (Markdown format)
โโโ tests <- Folder for project tests
๐ ๏ธ Makefile
Makefile A Makefile is a file containing a set of instructions, known as targets, used to automate tasks in software development. It provides a convenient way to define and organize common commands for building, testing, and managing a project.
In the provided Makefile, you have the following targets:
- install: Installs project dependencies using
pdm install
. - test: Runs project tests with
pytest
- format: Applies code formatting using
isort
andblack
. - lint: Performs linting and static type checking using
ruff
andmypy
To use the Makefile, open a terminal or command prompt, navigate to your project directory, and run the desired target using the make command followed by the target name. For example:
make install
โค๏ธ PDM
PDM is a Python package manager and build tool that provides an alternative to other package managers like pip or Poetry. It aims to simplify and enhance the management of project dependencies, virtual environments, and building distributions. Follow the link to install it. If you dont want to use it, you can customize the template to create your own Makefile and pyproject.toml.
The template (and PDM) follow the PEP 621 standard for project metadata to use a pyproject.toml file instead of setup.py. This file contains the project metadata and dependencies. It also allows you to specify details like the Python version and the project entry point.
๐ฌ pytest
Pytest is a Python testing framework that allows you to write simple and scalable tests with a clean and expressive syntax. It provides powerful features like fixtures, test discovery, and test selection.
For more information, you can visit the official pytest website: pytest.org
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for datascience_cookiecutter-0.3.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ff25e128516b658fa6091f95a5b3162ef5b7621851e65e917d5e6148b626438 |
|
MD5 | 1c46b850a292f8ea88b6aca0f9ba9a8b |
|
BLAKE2b-256 | 6b0e5c2df25f93dc2b07c654b2b398abb38d2629e7e2055b94a228729ff1feec |
Hashes for datascience_cookiecutter-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cfca53ca664d1dc841587a7b6a4ac064819541b5ac2824800c640cbba0ba547 |
|
MD5 | 1ffbf34c3caf2532b544276427336acf |
|
BLAKE2b-256 | 3f846a3f33d1e8bfee505402929a4f9a517696bf3a9804b599343a29bc75c0e2 |