All streams
Search
Write a publication
Pull to refresh

Привет, Хабр!

Я навайбкодил Вам систему управления отчетами на 100500 Jupyter ноутбуков

Расскажу историю о том, как я решил проблему с хаосом в Jupyter-отчетах и создал систему juport (Jupyter Report System) ссылка на GitHub. А заодно поделюсь мыслями о том, как меняется разработка в эпоху AI-ассистентов.

Проблема: 100500 отчетов и никакого порядка

У меня накопилось огромное количество отчетов, сделанных в Jupyter Lab. Каждый — отдельный файл с кодом, паролями и прочей «кухней».

Главные проблемы:

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

  • Рутина. Нет централизованного места для запуска отчетов, автоматизации по расписанию и единого интерфейса для просмотра.

  • Хаос. Все результаты разбросаны по папкам, и чтобы найти нужный Excel-файл, приходилось долго копаться.

Концепция решения

Нужно было что-то, что позволит разрабатывать отчеты в привычном Jupyter Lab, а потом автоматически запускать их, генерировать чистые HTML-версии без кода и собирать все артефакты в одном месте.

Решение: juport — система управления отчетами

Я создал систему (ну как сам, навайбкодил), состоящую из двух компонентов:

  1. Jupyter Lab Sidecar. Это обычный Jupyter Lab в Docker-контейнере. Здесь разработчики пишут и тестируют отчеты, как привыкли.

  2. juport — система управления. Веб-приложение на Python, которое сканирует папку с ноутбуками. Оно позволяет запускать отчеты вручную или по расписанию, выполняет их в изолированном окружении, генерирует HTML-версии без лишней информации, собирает все артефакты (Excel, картинки) в одну табличку и предоставляет удобный веб-интерфейс. Авторизация — через LDAP.

Как это работает

Разработка отчета:

  1. Вы создаете ноутбук в Jupyter Lab.

  2. Пишете код, тестируете, сохраняете.

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

Запуск отчета:

  1. Заходите в веб-интерфейс juport.

  2. Видите список всех ноутбуков.

  3. Нажимаете «Запустить» или настраиваете расписание.

  4. Система выполняет ноутбук и собирает результаты.

Результат:

  • Чистый HTML-отчет без кода и паролей, доступный для просмотра.

  • Все Excel-файлы, картинки и PDF собраны в одном месте.

  • Удобный интерфейс для скачивания.

  • История выполнений и логи.

Как это сделано

Я не написал ни одной строчки кода сам. Все навайбкодил через Cursor с помощью промптов.

Да, именно так. Привыкайте. Такова реальность.

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

Мы, миллениалы, единственное поколение, которое разбиралось, как собрать компьютер с нуля. Бумеры были до бума ПК, а зумеры уже родились, когда все было готово. С кодом происходит то же самое. Через N лет опытные разработчики будут получать отличные результаты через промпты, потому что у них есть 20 лет опыта. Этот опыт — не знание синтаксиса, а понимание:

  • Архитектурных паттернов

  • Принципов проектирования

  • Торговых компромиссов

  • Потенциальных проблем

Именно поэтому те, кто шарит, получат отличный результат, а те, кто не шарит, получат «коричневую субстанцию».

AI-ассистенты — это не замена разработчикам, а инструмент, который многократно увеличивает нашу скорость. Опыт и понимание архитектуры становятся еще важнее. А новичкам будет сложнее, потому что им придется мотивированно изучать технологии, чтобы получать от нейросетей качественные вещи.

Выводы

  1. AI-ассистенты — это не замена, а инструмент.

  2. Опыт и понимание архитектуры становятся критически важными.

  3. Скорость разработки для опытных специалистов вырастет в разы.

  4. Новичкам придется приложить больше усилий для освоения профессии.

А как вы видите будущее разработки с AI? Делитесь в комментариях!

Tags:
-1
Comments4

Articles