sertansenturk / cookiecutter-ds-docker

A Docker-based Data Science cookiecutter (for myself)
https://cookiecutter-ds-docker.readthedocs.io/
GNU Affero General Public License v3.0
14 stars 1 forks source link
cookiecutter data-science docker jupyter mlflow pyspark python tensorflow

cookiecutter-ds-docker

A Docker-based Data Science cookiecutter (for myself)

GitHub release (latest by SemVer) Documentation Status Build Status codecov License: AGPL v3 License: CC BY-NC-SA 4.0

Table of Contents

1. Introduction

This repo hosts a personalized, Docker-based cookiecutter template for Data Science projects.

The template consists of a docker-compose stack with the services below:

  1. A customized Jupyter service with a starter Python package installed.
  2. An mlflow tracking server to store experiments
  3. A postgresql database, which stores mlflow tracking information

The template also comes with two standalone Docker image below for local usage:

  1. Python test and development
  2. Building Sphinx documentation

2. Documentation

Please refer to Read The Docs for the documentation.

3. Quickstart

First, install cookiecutter and docker.

Then, run the commands below and follow the on-screen instructions to "cut" a new project from the template:

cd /{ base_folder }
cookiecutter gh:sertansenturk/cookiecutter-ds-docker

To build and start the Docker stack, run:

cd /{ base_folder }/{{ cookiecutter.repo_slug }}
make

quickstart

4. Known Issues

  1. In Linux, if DATA_DIR (defined in the template) is in a drive formatted in NTFS, you might have permission issues when mounting the folder to the docker containers (See Issue #56). We suggest you to cut the project into a drive, which is formatted in a native Linux filesystem.

5. License

The source code hosted in this repository is licensed under Affero GPL version 3. Any data (features, models, figures, results, documentation, etc.) in this repository are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

6. Authors

Sertan Şentürk
contact@sertansenturk.com