PythonDigest
前往频道在 Telegram
Сборник Python новостей: https://pythondigest.ru Наш IT-тренажер: https://app.incidenta.tech/ Создано в @incidenta_tech
显示更多1 854
订阅者
-124 小时
-57 天
-1030 天
帖子存档
1 854
Static Analysis vs. Taint Analysis: Which One Secures Your Python Code?
https://nocomplexity.substack.com/p/static-analysis-vs-taint-analysis
1 854
NanoVector — Минималистичная векторная база данных и память для AI-агентов
https://github.com/eminsk/nanovector
1 854
Django - 6.0.9
https://pypi.org/project/django/6.0.9/
Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/
1 854
Django - 6.1.2
https://pypi.org/project/django/6.1.2/
Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/
1 854
Django - 5.2.18
https://pypi.org/project/django/5.2.18/
Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/
1 854
От прогноза потока клиентов к оптимальному штату сотрудников
https://habr.com/ru/companies/alfa/articles/1085676/
Клиентский поток неоднороден. Он зависит от дня недели, месяца, праздников, времени суток, расположения и формата отделения, а также от локального расписания. Среднее значение за месяц для кадрового планирования почти бесполезно: два отделения с одинаковым месячным объёмом могут иметь совершенно разные утренние пики, продолжительность рабочего дня и долю вечерних посещений.Поэтому банку критически важен прогноз клиентопотока для сбалансированного операционного планирования: нехватка сотрудников ведёт к росту очередей и риску нарушения целевых сроков обслуживания,
1 854
Нейросеть написала PR, тесты зелёные, а поведение изменилось. Как я научил CI это ловить
https://habr.com/ru/articles/1088564/
Модель «упрощает» валидацию. Линтер молчит, тесты проходят, ревьюер видит аккуратный дифф в одну строку и жмёт Approve. Через неделю выясняется, что функция скидки начала принимать отрицательный процент.Тесты в таком PR почти всегда написала та же модель, что и код. Они подтверждают, что модель сделала задуманное, и ничего не говорят о том, ведёт ли себя код так же, как раньше. Я сделал инструмент, который проверяет именно это
1 854
Renart: A Local Workspace for SQL and Python Data Pipelines
https://github.com/renart-data/renart
1 854
amqp - 5.4.1
https://pypi.org/project/amqp/5.4.1/
AMQP-клиент. Скачать можно по ссылке: https://pypi.python.org/pypi/amqp/
1 854
aiohttp - 3.14.4
https://pypi.org/project/aiohttp/3.14.4/
http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp
1 854
«Переходи на Spark», говорили они. Сравнил pandas, Polars, DuckDB и PySpark на слабой машине
https://habr.com/ru/articles/1087386/
Сценарий знакомый: открываешь в pandas файл побольше, ноутбук задумывается, и через минуту всё падает с MemoryError. Следом обычно звучит совет: для больших данных есть Spark. Я решил проверить его цифрами, но не на кластере, а на слабой машине с двумя ядрами и 5,8 ГБ памяти.Сравнил шесть вариантов: pandas, pandas с pyarrow, Polars, Polars в потоковом режиме, DuckDB и PySpark. Пять типовых операций, объёмы от 6 до 180 млн строк, контроль памяти и автоматическая сверка результатов между библиотеками. Эта сверка по дороге нашла баг, из-за которого Spark терял целый день данных.Кто сдался первым, кто удивил и почему переход на Spark часто не лучший выход, рассказываю под катом.
1 854
Как ускорить асинхронные генераторы в CPython на 40%, выкинув скрытые исключения
https://habr.com/ru/articles/1087410/
Недавно я гонял бенчмарки на свежей сборке CPython (ветка с tail-call интерпретатором, PGO + LTO, GCC) и снял флеймграф стандартного бенчмарка async_generators из набора pyperformance (рекурсивный обход дерева на 100 000 нод с глубиной вложенности ~17).Картина на профиле оказалась фееричной: почти треть всего процессорного времени (29%) сжиралась кодом, который вообще не делал никакой полезной работы.Рантайм создавал, настраивал, а затем тут же уничтожал объекты исключений StopIteration, о существовании которых Python-код даже не догадывался.Ниже о том, откуда растут ноги у этой проблемы в Си-коде CPython и как пара правок в genobject.c дали ускорение в 1.33x — 1.53x.
1 854
ИИ‑Стоматолог
https://habr.com/ru/articles/1087484/
За месяц я собрал MVP системы для анализа панорамных рентгенограмм. Идея была простой: врач загружает снимок, а модель выделяет области, которые стоит изучить внимательнее.Я не ставил задачу заменить стоматолога. На этом этапе речь шла только о вспомогательном инструменте, который может работать как второе мнение и подсвечивать подозрительные участки на ОПТГ.В процессе эксперимента выяснилось, что главная проблема была не в выборе модели и не в мощности видеокарты. В датасете оказались изображения, которые вообще не должны были участвовать в обучении. Из‑за этого модель начала выдавать детекции на цветных фотографиях полости рта.Сначала это выглядело как странная ошибка. Потом стало понятно, что именно такие случаи лучше всего показывают ограничения системы.
1 854
tlgr: CLI для полного управления аккаунтом Telegram, рассчитанный на скрипты и AI-агентов
https://github.com/tlgrcli/tlgr
tlgr входит в Telegram как обычный пользователь (MTProto, Telethon) и позволяет из терминала читать, искать и отправлять сообщения, управлять чатами, группами, каналами, контактами и медиа. Все команды отвечают в JSON со стабильными кодами выхода, а фоновый демон отправляет события на webhook с HMAC-подписью.
1 854
Как я научил Steam Deck скачивать игры по ссылке с телефона: Steam через CEF, Mega на stdlib и один файл
https://habr.com/ru/articles/1087212/
Я люблю игры, которых нет в Steam: DRM-free игры с GOG и itch.io, визуальные новеллы, фанатские переводы и патчи к ним. На Steam Deck всё это прекрасно запускается, но каждый раз через одну и ту же рутину: скачать, переключиться в режим рабочего стола, распаковать, добавить в Steam как стороннюю игру, выбрать Proton, поискать обложки, вернуться в игровой режим. Переключаться туда ради каждой игры было лень, да и просто геморройно.Отсюда и выросла идея DeckDrop
1 854
Один мок — три проблемы
https://habr.com/ru/articles/1087228/
Тест зелёный, но в продакшене этот сценарий упадёт. Покажу, как один мок прячет бизнес-инварианты, переносит требования в голову разработчика и заставляет тесты молчать об изменениях.
