Привет, Хабр!
Я навайбкодил Вам систему управления отчетами на 100500 Jupyter ноутбуков
Расскажу историю о том, как я решил проблему с хаосом в Jupyter-отчетах и создал систему juport (Jupyter Report System) ссылка на GitHub. А заодно поделюсь мыслями о том, как меняется разработка в эпоху AI-ассистентов.
Проблема: 100500 отчетов и никакого порядка
У меня накопилось огромное количество отчетов, сделанных в Jupyter Lab. Каждый — отдельный файл с кодом, паролями и прочей «кухней».
Главные проблемы:
Безопасность. Нельзя просто так поделиться отчетом с руководством или бухгалтерией, потому что там есть доступы к базам и код.
Рутина. Нет централизованного места для запуска отчетов, автоматизации по расписанию и единого интерфейса для просмотра.
Хаос. Все результаты разбросаны по папкам, и чтобы найти нужный Excel-файл, приходилось долго копаться.
Концепция решения
Нужно было что-то, что позволит разрабатывать отчеты в привычном Jupyter Lab, а потом автоматически запускать их, генерировать чистые HTML-версии без кода и собирать все артефакты в одном месте.
Решение: juport — система управления отчетами
Я создал систему (ну как сам, навайбкодил), состоящую из двух компонентов:
Jupyter Lab Sidecar. Это обычный Jupyter Lab в Docker-контейнере. Здесь разработчики пишут и тестируют отчеты, как привыкли.
juport — система управления. Веб-приложение на Python, которое сканирует папку с ноутбуками. Оно позволяет запускать отчеты вручную или по расписанию, выполняет их в изолированном окружении, генерирует HTML-версии без лишней информации, собирает все артефакты (Excel, картинки) в одну табличку и предоставляет удобный веб-интерфейс. Авторизация — через LDAP.
Как это работает
Разработка отчета:
Вы создаете ноутбук в Jupyter Lab.
Пишете код, тестируете, сохраняете.
Используете переменные окружения для конфигурации, чтобы не хранить пароли в коде.
Запуск отчета:
Заходите в веб-интерфейс juport.
Видите список всех ноутбуков.
Нажимаете «Запустить» или настраиваете расписание.
Система выполняет ноутбук и собирает результаты.
Результат:
Чистый HTML-отчет без кода и паролей, доступный для просмотра.
Все Excel-файлы, картинки и PDF собраны в одном месте.
Удобный интерфейс для скачивания.
История выполнений и логи.
Как это сделано
Я не написал ни одной строчки кода сам. Все навайбкодил через Cursor с помощью промптов.
Да, именно так. Привыкайте. Такова реальность.
Андрея Карпатый говорил о том, что скоро разработка будет выглядеть совсем иначе. И он прав.
Мы, миллениалы, единственное поколение, которое разбиралось, как собрать компьютер с нуля. Бумеры были до бума ПК, а зумеры уже родились, когда все было готово. С кодом происходит то же самое. Через N лет опытные разработчики будут получать отличные результаты через промпты, потому что у них есть 20 лет опыта. Этот опыт — не знание синтаксиса, а понимание:
Архитектурных паттернов
Принципов проектирования
Торговых компромиссов
Потенциальных проблем
Именно поэтому те, кто шарит, получат отличный результат, а те, кто не шарит, получат «коричневую субстанцию».
AI-ассистенты — это не замена разработчикам, а инструмент, который многократно увеличивает нашу скорость. Опыт и понимание архитектуры становятся еще важнее. А новичкам будет сложнее, потому что им придется мотивированно изучать технологии, чтобы получать от нейросетей качественные вещи.
Выводы
AI-ассистенты — это не замена, а инструмент.
Опыт и понимание архитектуры становятся критически важными.
Скорость разработки для опытных специалистов вырастет в разы.
Новичкам придется приложить больше усилий для освоения профессии.
А как вы видите будущее разработки с AI? Делитесь в комментариях!