Skip to main content

PyScaffold extension for Data Science projects

Project description

Build Status Coveralls PyPI-Server

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

  1. advocates a proper Python package structure that can be shipped and distributed,
  2. uses a conda environment instead of something virtualenv-based and is thus more suitable for data science projects,
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyscaffoldext-dsproject-0.2.tar.gz (20.4 kB view hashes)

Uploaded Source

Built Distribution

pyscaffoldext_dsproject-0.2-py2.py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page