Skip to content

Шаблон cookiecutter для небольшого исследования

Notifications You must be signed in to change notification settings

lexx-esc/analysis_lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cookiecutter - шаблон небольшого исследования

Легкая стандартизированная структура исследовательского проекта с возможностью автоматизации

Зачем все это

Для аналитика, желанной конечной точкой любого исследования будет - интерес к собранным данным со стороны коллег, а значит - периодически придется проходить весь путь сбора и очистки снова и снова. Хорошо, если под рукой есть блокнот который воспроизводится. Хуже, если таких блокнотов набирается много и их нужно запускать в непонятном порядке, с непонятной периодичностью.

Но мы люди ленивые - за нас компьютер работать должен. Поэтому код стоит оформить не в виде блокнота, а в виде модулей, которые можно запускать из CLI по событию или расписанию. Да и преемники - только спасибо скажут за такую возможность.

Каталогизировать результаты и поддерживать работу таких приложений-исследований гораздо проще, когда у них единая структура. В моем случае - такая:

├── README.md          <- Этот файл. Структура проекта {{cookiecutter.project_name}}
├── config             <- Файлы конфигураций, аутентификаций и т.д. (.gitignore)
├── data               <- Хранилище данных проекта (.gitignore)
│   ├── external       <- Данные из внешних источников
│   ├── interim        <- Промежуточные данные процесса
│   ├── processed      <- Данные, подготовленные для модели ML
│   └── raw            <- Сырые данные
│
├── docker             <- Здесь настройки контейнера для приложения, если потребутся
├── docs               <- Документация проекта. Требования, ограничения, условия
├── models             <- Основные и промежуточные модели процесса
├── notebooks          <- Сырые ноутбуки (поиск, EDA, проверка гипотез). (.gitignore)
├── reports            <- Оформленные ноутбуки с решением и исследованиями
├── sql_requests       <- Запросы к базам данных. Разработка.
├── src                <- Модуль проекта (полный цикл исследования, обучения и отчетности)

Как пользоваться

Чтобы воспользоваться этим шаблоном, нам потребуется утилита Cookiecutter**:

$ conda install -c conda-forge cookiecutter

**Можно установить и через pip

Затем, идем в директорию, где должен лежать проект запускаем команду такого вида:

$ cookiecutter https://github.com/lexx-esc/analysis_lite.git

Отвечаем на несколько вопросов и структура под проект создана, и закоммичена в initial commit.

Обязательно ли оставлять структуру неизменной

Верхнеуровневую структуру, конечно, лучше не трогать (но это - не точно :simple_smile:). А вот, второй уровень и ниже - в ваших руках. Настраивайте как нравится.



Огромное спасибо проекту Cookiecutter, ведь с его помощью, на подготовку структуры проектов, уходит гораздо меньше времени.

About

Шаблон cookiecutter для небольшого исследования

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages