PyScaffold extension for Data Science projects
Project description
pyscaffoldext-dsproject
PyScaffold extension tailored for Data Science projects. This extension is inspired by cookiecutter-data-science and enhanced in many ways. The main differences are that it
- advocates a proper Python package structure that can be shipped and distributed,
- uses a conda environment instead of something virtualenv-based and is thus more suitable for data science projects,
- more default configurations for Sphinx, py.test, pre-commit, etc. to foster clean coding and best practices.
The final directory structure looks like:
├── AUTHORS.rst <- List of developers and maintainers.
├── CHANGELOG.rst <- Changelog to keep track of new features and fixes between versions.
├── LICENSE.txt <- License as chosen as specified on the command-line.
├── README.md <- The top-level README for developers using this project.
│
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
│
├── docs <- Directory for Sphinx documentation as in the standard PyScaffold setup.
│
├── environment.yaml <- The conda environment file for reproducing the analysis environment.
│
├── models <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-fw-initial-data-exploration`.
│
├── references <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting
│
├── scripts <- Analysis and production scripts which import the actual PYTHON_PKG,
│ e.g. train_model, run_model. etc.
│
├── setup.cfg <- Declarative configuration of your project.
│
├── setup.py <- Make this project pip installable with `pip install -e`
│ or `python setup.py develop`.
│
├── src
│ └── PYTHON_PKG <- Actual Python package where the main functionality goes.
│
├── tests <- Unit tests which can be run with `py.test` or `python setup.py test`.
│
├── .coveragerc <- Configuration for coverage reports of unit tests.
│
├── .isort.cfg <- Configuration for git hook that sorts imports.
│
└── .pre-commit-config.yaml <- Configuration of pre-commit git hooks.
See a demonstration of the initial project structure under dsproject-demo and also check out the the documentation of PyScaffold for more information.
Usage
Just install this package with pip install pyscaffoldext-dsproject
and note that putup -h
shows a new option --dsproject
.
Creating a data science project is then as easy as:
putup --dsproject my_ds_project
Note
This project has been set up using PyScaffold 3.2. For details and usage information on PyScaffold see https://pyscaffold.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 pyscaffoldext-dsproject-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c24157fd5927dacd61ef94833299c42b7bf475ba1d241907547337355b01800 |
|
MD5 | ef0bb351372cbf578356262441acbab2 |
|
BLAKE2b-256 | c96773424702a5fd3ffcfa0c18a4d09afefaf48bb6e12feabc1e843403f84891 |
Hashes for pyscaffoldext_dsproject-0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef127a584873c5f59e5b897f566dd44bf9a119f27bad2c1a9c24d9db0e3d8130 |
|
MD5 | fa3ba32b355554b872f2f52bfac7d450 |
|
BLAKE2b-256 | 00591a8f45c046911184446eefb6e1844b3ffe02b864a75ccb4aa1bc5b225fc3 |