Обзор

Lena - архитектурный фреймворк для анализа данных. Она написана на популярном языке программирования Python (Питон) и работает с версиями Python 2, 3 и PyPy (2 и 3).

Свойства и преимущества Lena с точки зрения программирования включают:

  • мощный и простой язык программирования.

  • модульность, слабое зацепление (loose coupling). Алгоритмы могут быть легко добавлены, заменены или повторно использованы.

  • повторное использование кода. Разделение логики и презентации. Один шаблон может быть использован для нескольких графиков.

  • быстрая разработка. Могут быть запущены только те элементы, которые уже работают. Во время разработки можно анализировать только малую часть данных (чтобы проверить работу программы). Результаты сложных вычислений можно легко сохранить.

  • производительность (в плане использования памяти и скорости). Несколько видов анализа могут быть сделаны за одно чтение данных. Может использоваться PyPy с компиляцией «на лету».

  • понятный, структурированный и красивый код.

С точки зрения анализа данных:

  • сравнение результатов анализа при произвольных изменениях (в том числе для разных входных данных или алгоритмов).

  • переиспользование алгоритма для подмножества данных (например, чтобы увидеть, как алгоритм работает для разных позиций в детекторе).

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

  • алгоритмы могут быть скомбинированы для более сложного анализа.

Lena была создана при анализе данных в экспериментальной физике нейтрино и названа в честь великой сибирской реки.

Установка

Минимальная

Установите последнюю официальную версию из PyPI:

pip install lena

Базовые модули Lena не имеют зависимостей помимо стандартных библиотек Python.

Полная

Эта установка требуется только если вы хотите расширять и разрабатывать Lena. Скачайте полный репозиторий (с историей) с GitHub и установите все зависимости для разработки:

git clone https://github.com/ynikitenko/lena
pip install -r lena/requirements.txt

Установите программы из предыдущего подраздела и измените PYTHONPATH как показано в следующем подразделе.

GitHub или PyPI

PyPI содержит последний официальный релиз, который был протестирован для большего числа версий Python. GitHub содержит последний разрабатываемый код для продвинутых пользователей. Обычно он также хорошо протестирован, но есть шанс, что впервые введённый интерфейс может быть изменён.

Для большинства пользователей установка из pip должна быть проще. Если по каким-то причинам вы не можете это сделать, вы можете получить архив официального релиза из релизов GitHub.

pip устанавливает фреймворк в системную директорию, в то время как для установки с git вам нужно поменять PYTHONPATH. Добавьте в ваш профиль (например, .profile или .bashrc в Linux)

export PYTHONPATH=$PYTHONPATH:<путь-к-lena>

и замените <путь-к-lena> на фактический путь к клонированному репозиторию.

Документация

В начале работы прочтите пособие.

Полная документация модулей Lena находится в руководстве.
Примечание. В данный момент на русский язык переведена лишь первая часть пособия, https://habr.com/ru/post/490518/

See Release Notes for changes.

Лицензия

Lena - это свободное программное обеспечение, опубликованное под лицензией Apache (версия 2). Вы можете свободно использовать её для своего анализа данных, читать её исходный код и изменять его.

Она предназначена помочь людям при анализе данных, но мы не несём ответственности, если что-то пойдёт не так.

Альтернативы

Ruffus — вычислительный конвейер (computational pipeline) для Python, используемый в науке и биоинформатике. Он объединяет компоненты программы через запись и чтение файлов.