Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jvelezmagic/cookiecutter-conda-data-science


https://github.com/jvelezmagic/cookiecutter-conda-data-science

conda cookiecutter cookiecutter-python3 cookiecutter-template data-science mamba python python3 template-project

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

        

# Cookiecutter Conda Data Science

_A logical, reasonably standardized, but flexible project structure for doing and sharing data science work._

## Requirements

- [Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html)
- [Cookiecutter Python package](http://cookiecutter.readthedocs.org/en/latest/installation.html): This can be installed with pip by or conda depending on how you manage your Python packages:

``` bash
pip install cookiecutter
```

or

``` bash
conda install -c conda-forge cookiecutter
```

## Create a new project

In a folder where you want your project generated:

```bash
cookiecutter https://github.com/jvelezmagic/cookiecutter-conda-data-science
```

## Resulting directory structure

├── LICENSE
├── tasks.py <- Invoke with commands like `notebook`.
├── README.md <- The top-level README for developers using this project.
├── install.md <- Detailed instructions to set up 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.

├── 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-jqp-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.

├── environment.yml <- The requirements file for reproducing the analysis environment.

├── .here <- File that will stop the search if none of the other criteria
│ apply when searching head of project.

├── setup.py <- Makes project pip installable (pip install -e .)
│ so {{ cookiecutter.project_module_name }} can be imported.

└── {{ cookiecutter.project_module_name }} <- Source code for use in this project.
├── __init__.py <- Makes {{ cookiecutter.project_module_name }} a Python module.

├── data <- Scripts to download or generate data.
│ └── make_dataset.py

├── features <- Scripts to turn raw data into features for modeling.
│ └── build_features.py

├── models <- Scripts to train models and then use trained models to make
│ │ predictions.
│ ├── predict_model.py
│ └── train_model.py

├── utils <- Scripts to help with common tasks.
└── paths.py <- Helper functions to relative file referencing across project.

└── visualization <- Scripts to create exploratory and results oriented visualizations.
└── visualize.py

## Contributing guide

All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome.

## Credits

This project is heavily influenced by [drivendata's Cookiecutter Data Science](https://github.com/drivendata/cookiecutter-data-science), [andfanilo's Cookiecutter for Kaggle Conda projects](https://github.com/andfanilo/cookiecutter-kaggle), and julia's package [DrWatson](https://juliadynamics.github.io/DrWatson.jl/dev/).

Other links that helped shape this cookiecutter :

- [Write less terrible code with Jupyter Notebook](https://blog.godatadriven.com/write-less-terrible-notebook-code)
- [Cookiecutter DataScience Opinions](http://drivendata.github.io/cookiecutter-data-science/#opinions)