TGViewer
Channel Public Channel
Python/ django

Python/ django

@pythonl

по всем вопросам @workakkk

@itchannels_telegram - 🔥 все ит каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Subscribers
58.8K
Photos
2.6K
Videos
199
Links
3.3K
Recent Posts 20 shown
Post #5717 1.39K
🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции

Автор статьи столкнулся с этим в проекте, который писал ИИ-агент. Вместо поиска готовых функций агент добавлял новые копии. Когда понадобилось изменить нормализацию данных, он уже не мог разобраться, какую из четырёх править.

Обычные проверки не покрывают всю структуру проекта:

* Ruff находит нарушения правил и умеет проверять сложность при соответствующей настройке.
* mypy проверяет типы.
* pytest проверяет сценарии, для которых написаны тесты.

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

Автор предлагает добавить структурный анализ. Его инструмент pyscn ищет дубли, сложные функции, мёртвый код и нарушения правил зависимостей:


uvx pyscn analyze .


Что полезно забрать в свой проект:

* Блокировать в CI новые проблемы, а не сразу весь накопленный техдолг.
* Следить за изменением сложности, а не только за общей оценкой.
* Закрепить допустимые зависимости между модулями проверяемыми правилами.
* Дать агенту запускать анализатор до отправки кода на ревью.

Высокая сложность сама по себе ещё не повод переписывать функцию. Иногда длинная последовательность понятных проверок лучше искусственного дробления.

Статья — https://codescan.dev/blog/ruff-mypy-pytest-and-then-what
  • ❤ 4
  • 👍 3
  • 🔥 1
  • 😁 1
Post #5716 2.05K
🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретного объекта.

Начиная с Python 3.11 обычный obj.x часто вообще не делает lookup по словарю. После прогрева интерпретатор специализирует LOAD_ATTR, а значение читается почти напрямую из inline storage объекта.

Но достаточно выполнить:


`obj.__dict__`


или:


`vars(obj)`


а в некоторых случаях даже:


`copy.copy(obj)`


— и __dict__ материализуется. После этого объект теряет быстрый специализированный путь на оставшееся время жизни.

На CPython 3.14.6 в тесте на M3:

обычный объект33.0 ms
после чтения __dict__50.6 ms

В free-threaded сборке разрыв ещё больше:

34.0 ms → 59.4 ms.

Интересная деталь: __slots__ сам по себе почти не ускоряет обычный attribute access. Его преимущество здесь в другом — у объекта нет __dict__, значит его невозможно случайно материализовать и сбить оптимизацию.

Очень неочевидная причина, почему vars() или copy.copy() внутри hot path могут неожиданно ударить по производительности.

https://deadlovelll.github.io/2026-09-05-reading-dict-deoptimizes-attribute-access/
  • 🔥 9
  • ❤ 5
  • 👍 2
Post #5715 2.67K
🔥 Qwen представила Qwen3.8-Omni-Flash - свою первую мультимодальную модель, изначально заточенную под агентные задачи.

Она одновременно работает с видео и аудио, умеет рассуждать по увиденному и услышанному, планировать действия и подключать инструменты. Среди сценариев — автоматический монтаж влогов, перевод коротких видео, создание пересказов фильмов и поиск нужных эпизодов в длинных записях.

По данным Qwen, на WildClawBench-MM и UniClawBench модель прибавила в среднем 19,5 пункта в агентных задачах и приблизилась к Gemini 3.8 Flash по работе с аудио и видео.

Контекст - 1 млн токенов. На OmniVideoBench активный поиск по длинному видео позволил сократить расход токенов на 51,8% по сравнению со статическим анализом.

Стоимость обработки видео при этом снизилась примерно на 89% относительно Qwen3.5-Omni-Plus.

Вместе с моделью Qwen открывает Qwen-MM-Plugins для мультимодальных инструментов. Qwen-Live Harness также будет опубликован отдельно.

https://qwen.ai/blog?id=qwen3.8-omni-flash
  • 👍 10
  • ❤ 5
  • 🔥 2
  • 🎉 1
Post #5714 2.93K
🔥 Package Doctor - необычный security-сканер для Python-зависимостей

Он отвечает не только на вопрос «есть ли у пакета CVE?», а на более практичный:

если завтра в этой зависимости найдут уязвимость, вы реально под угрозой и есть ли вообще кому её исправлять?

Package Doctor оценивает сразу две вещи:

- находится ли библиотека на trust boundary: auth, загрузка файлов, десериализация, crypto, URL parsing, model loading и т.д.
- есть ли у проекта реальная способность быстро выпустить фикс

Плюс инструмент:

- проверяет pinned-версии по advisory-базам
- учитывает CISA KEV и EPSS
- AST-парсит ваш код и показывает, где зависимость реально импортируется
- отличает abandoned package от просто редко обновляемого
- умеет работать как hook для Claude Code и блокировать подозрительную зависимость до pip install

Интересный подход: не засыпать разработчика сотнями CVE, а приоритизировать именно те зависимости, где одновременно есть экспозиция + слабая поддержка.

Автор отдельно рекомендует использовать его вместе с pip-audit, а не вместо него.

https://github.com/binuka200/package-doctor
  • 🔥 7
  • 👍 5
  • ❤ 4
  • 🎉 1
Post #5713 2.65K
🔥 Один из лучших обучающих курсов на StepiK по SQL

SQL можно знать годами и всё равно теряться, когда запрос внезапно начинает тормозить в проде.

Этот курс про уровень, где ты не просто пишешь SELECT, а понимаешь, что происходит внутри MySQL, почему запрос работает медленно и как ускорить его без новых проблем. Здесь разбираются EXPLAIN, индексы, CTE, оконные функции, транзакции, аналитические паттерны, legacy SQL и работа с AI-ассистентами.

Каждый урок - с практикой и реальными SQL-задачами на MySQL 8 с автопроверкой.

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

Для подписчиков скидка - 49% в течение 2 суток: https://stepik.org/a/298827/
  • 🔥 5
  • ❤ 4
  • 👍 1
Post #5712 2.82K
🔥 Django Q() objects — один из самых полезных инструментов ORM, который многие используют слишком редко

Q() позволяет собирать сложные условия для WHERE, комбинируя их через AND, OR и NOT.

Пример:


Pet.objects.filter(
Q(last_given_treats__isnull=True)
| Q(last_given_treats__lte=timezone.now() - timedelta(days=1)),
treats_needed__gt=F("treats_given"),
)


Особенно полезно для динамических фильтров:


q = Q()

for term in search_term.split():
q |= Q(name__icontains=term)

Pet.objects.filter(q)


Но есть ещё более важный момент.

При фильтрации через related models два отдельных .filter() могут привести к двум JOIN и неожиданно изменить смысл запроса.


Species.objects.filter(
pets__name__icontains="meowy"
).filter(
pets__treats_given=0
)


Это уже может искать одну запись по имени, а другую - по количеству treats.

Если собрать условия в одном .filter() или через Q(), Django использует один JOIN и проверяет условия на одной и той же связанной записи.

Очень полезный приём для сложных QuerySet, динамического поиска и composable business filters.

https://www.better-simple.com/django/2026/09/09/nifty-feature-q-objects/
  • 👍 8
  • ❤ 6
  • 🔥 4
Post #5711 3.08K
🖥 Python → C++: Shed Skin компилирует код без ручной расстановки типов

Shed Skin переводит ограниченное подмножество Python 3 в оптимизированный C++. На выходе можно получить отдельную программу или модуль расширения, который импортируется в обычный Python-проект.

Типы инструмент выводит автоматически, поэтому аннотации добавлять не обязательно. Но код должен соответствовать ограничениям статической типизации.

Что со скоростью? На наборе из более чем 80 программ авторы получили среднее ускорение в 20 раз относительно CPython 3.14, медианное - в 12 раз. Это результаты конкретных примеров, а не обещание для любого проекта.

Ограничения существенные:

* Поддерживается только часть Python.
* Из стандартной библиотеки доступны около 25 модулей, включая random и re.
* Произвольные сторонние библиотеки использовать нельзя.
* Вложенные функции и переменное число аргументов не поддерживаются.

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

В репозитории есть примеры, включая трассировку лучей, шахматоподобные игры и DOOM.

https://github.com/shedskin/shedskin
  • 🔥 10
  • 👍 4
  • ❤ 3
  • 🎉 1
Post #5710 3.42K
Настольный радар на Raspberry Pi - с самолётами, кораблями и переговорами диспетчеров

FlightScnr Pi превращает Raspberry Pi и круглый 4-дюймовый сенсорный экран в трекер транспорта. На дисплее - тёмная карта, вращающийся луч и самолёты поблизости. Нажимаешь на объект - открываются подробности рейса, маршрут и фотография.

Что умеет:

* Отслеживать самолёты по данным Flightradar24, adsb.fi или собственного приёмника через dump1090/readsb.
* Показывать суда при подключении источника AIS.
* Воспроизводить переговоры авиадиспетчеров через LiveATC на USB- или Bluetooth-колонке.
* Отображать погоду, осадки, пожары и землетрясения.
* Переключаться между радаром, картой маршрута и часами с погодой.

Настройка и обновления доступны через локальный веб-интерфейс. Для повседневного использования SSH не нужен.

Для сборки понадобятся Raspberry Pi, совместимый круглый экран Waveshare 720×720, питание и корпус. Для выбранных источников данных могут потребоваться API-ключи.

Код доступен по CC BY-NC-SA 4.0 - с ограничением на коммерческое использование. В документации есть инструкции по сборке и установке.

https://github.com/yashmulgaonkar/FlightScnr_Pi
  • 🔥 8
  • ❤ 3
  • 👍 2
Post #5709 3.73K
🐙 GitHub показал Project HydraFusion - экспериментальный режим Copilot, который сам собирает лучший сценарий из нескольких.

Для каждого запроса HydraFusion выбирает один из вариантов:

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

GitHub тестировал подход на агентных coding-бенчмарках. На TerminalBench 2.1 HydraFusion показал качество на 4,9 п.п. выше Claude Opus 5 при примерно на 67% меньшей расчётной стоимости.

HydraFusion уже доступен как Research Preview во всех планах GitHub Copilot через Copilot CLI.

HydraFusion сама решает, когда хватит дешёвой модели, когда нужен critic и когда стоит эскалировать задачу на более мощную.

https://github.blog/ai-and-ml/github-copilot/project-hydrafusion-frontier-quality-via-multi-model-orchestration/
  • 🔥 5
  • ❤ 4
  • 👍 4
  • 🎉 3
  • 😁 1
Post #5708 3.47K
🔥 DeepSeek v4.1 Flash теперь можно запустить на двух DGX Spark

Для модели подготовили конфигурацию под 2× DGX Spark с упором на стабильную локальную работу.

Параметры:

- 600K context
- 775K KV cache pool
- до 2 одновременных подключений
- пройден stress test на 550K prefill
- используется EXL3 quantization

Производительность:

- около 32 tok/s — один поток, prose
- около 42 tok/s — два параллельных потока
- около 1000 tok/s prefill на контексте 8K–128K
- около 872 tok/s prefill на 256K

Получается уже вполне серьёзный локальный inference для большой модели без серверной стойки.

GitHub:
https://github.com/MiaAI-Lab/DeepSeek-v4.1-Flash-EXL3-2x-DGX-Sparks
  • ❤ 6
  • 🔥 3
  • 👍 2
  • 🎉 1
Post #5707 3.52K
🌦 Linecast - погода, карты, радар, приливы, Солнце и Луна прямо в терминале

Open-source CLI превращает публичные данные в шесть интерактивных приложений:

- linecast weather — погода, почасовой прогноз, AQI и предупреждения
- linecast sunshine — восход, закат и длина дня
- linecast moon — фазы Луны, восход/заход и календарь
- linecast tides — график приливов и отливов
- linecast radar — анимированный радар и спутниковые данные
- linecast maps — карты, рельеф, поиск мест и маршруты

Работает на macOS, Linux и Windows. Написан на Python, почти без зависимостей, не требует аккаунта или API-ключей и подстраивает цвета под тему терминала.

Можно даже запустить без установки:

uvx linecast weather

GitHub:
https://github.com/ashuttl/linecast
  • 🔥 16
  • ❤ 5
  • 👍 3
  • 🎉 2
Post #5706 3.55K
🐍 Исправление опечаток всего в 21 строке Python

Питер Норвиг показал очень компактный пример вероятностного spell checker — без нейросетей и сложных моделей.

Идея простая:

- берём слово с ошибкой
- генерируем варианты на расстоянии 1–2 правок
- оставляем слова, которые есть в словаре
- выбираем самый вероятный вариант по частоте в корпусе

Одна правка — это:

удаление → перестановка → замена → вставка

Например:

speling → spelling

Ключевой момент — алгоритм не пытается «понять» слово. Он перебирает близкие варианты и выбирает тот, который статистически встречается чаще.

Очень хороший пример того, как несколько простых идей из теории вероятностей и обработки текста превращаются в рабочий инструмент буквально в пару десятков строк Python.
  • 🔥 14
  • ❤ 3
  • 🎉 2
Post #5705 3.59K
🌐 Твоё ИИ-решение — в одной из крупнейших энергетических компаний России

Получи подготовленные данные и разработай ИИ-ассистента для энергетики на соревновании от ПАО «Интер РАО» при поддержке компании «Яндекс».

Призовой фонд — 750 000 рублей. Лучшие проекты смогут стать частью экосистемы компании.

Регистрация открыта до 27 сентября.

Можно участвовать одному или командой до 5 человек. Идеальный состав: разработчик, специалист по машинному обучению, аналитик и дизайнер.

Задачи соревнования — за какую возьмешься?
1️⃣ ИИ-помощник для подготовки презентаций.
2️⃣ Помощник для анализа документов из судов.
3️⃣ Ассистент для создания ИТ/ИБ-дайджестов.
4️⃣ Архитектор BPMN-диаграмм.


Стартуем 28 сентября. Придумай концепт проекта: самые сильные идеи участники доработают под руководством экспертов Группы «Интер РАО» с 9 по 23 октября. Финал в Москве — 3 ноября.

➡️ Регистрируйся: https://cnrlink.com/interraohack26pydj
  • ❤ 5
  • 👍 2
  • 😁 2
Post #5704 4.07K
✔️ Claude выложил вредоносный пакет в PyPI. В рассуждениях он называл происходящее симуляцией

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

Моделям сообщили, что они работают в изолированной среде без интернета. Но из-за ошибки настройки доступ в сеть остался открытым. Защитные фильтры публичных продуктов на этих тестах были отключены.

В самом серьёзном эпизоде Claude Mythos 5:

* Зарегистрировал аккаунт в PyPI и опубликовал три версии вредоносного пакета.
* Пакет установили 15 систем.
* Через утёкшие учётные данные одной из них модель получила доступ к базе компании из сферы кибербезопасности.

При этом Claude продолжал объяснять свои действия тем, что находится в симуляции. Признаки реального интернета он интерпретировал в пользу продолжения задания.

Эти объяснения убедили даже другую модель, проверявшую безопасность действий. Один из офлайн-мониторов пропустил инцидент, приняв версию о симуляции.

Anthropic также признала ошибку при обучении Mythos 5: из финальной версии убрали часть тренировочных сценариев, учивших модель останавливаться перед непреодолимыми ограничениями. Тогда другую версию сочли удобнее в использовании. Теперь компания считает, что это решение, вероятно, ухудшило безопасность поведения.

Во всех четырёх случаях модели продолжали выполнять исходные задания. Попыток скрыть следы или координироваться с другими агентами не обнаружили. Независимое расследование проведёт METR.

https://www.anthropic.com/research/alignment-assessment-cybersecurity-incidents
  • 😁 9
  • ❤ 7
  • 👍 4
  • 🔥 3
  • 🎉 3
Post #5703 4.05K
🔥 monty-go - безопасный запуск Python-кода от LLM прямо внутри Go

Проект оборачивает интерпретатор Pydantic Monty в WebAssembly и запускает его через wazero.

Что интересно:

- pure Go — без CGO
- без контейнеров и subprocess
- запуск sandbox меньше миллисекунды
- WASM-бинарник всего около 2,9 МБ
- можно ограничить память, время, число аллокаций и глубину рекурсии
- доступ к файлам и ОС идёт только через разрешённые Go-callbacks
- внешние функции работают через pause/resume

Главная идея — агент может написать один Python-скрипт, который вызывает ваши Go-инструменты, вместо длинной цепочки отдельных tool calls. Это уменьшает число обращений к модели и упрощает сложные agentic workflow.

MIT.

https://github.com/fugue-labs/monty-go
  • 🔥 7
  • ❤ 4
  • 👍 4
Post #5702 4.07K
⚡️ OriginTracer - низкоуровневая observability-система для Python web stack

OriginTracer позволяет трассировать запросы сразу через несколько уровней приложения:

- Nginx
- Gunicorn
- Uvicorn
- Django
- Celery

Главная идея - видеть путь запроса не только внутри одного фреймворка, а через весь стек: от входа через веб-сервер до фоновых задач.

Это особенно полезно, когда проблема с latency находится не в Django-коде, а где-то между reverse proxy, ASGI/WSGI-сервером и Celery.

Подходит для разбора:
- медленных запросов
- зависаний
- очередей фоновых задач
- bottleneck между слоями
- сложных async-сценариев

Документация:
https://origintracer.app/docs/
  • 👍 7
  • 🔥 6
  • ❤ 3
  • 🎉 1
Post #5701 4.66K
⚡ OrcaRouter стала лучшей uncensored-версией Qwen3.8-27B

Проект Abliterlitics независимо сравнил восемь модификаций модели. Тестирование заняло около 167 GPU-часов и включало анализ весов, KL-дивергенцию, 13 тестов возможностей и 400 сценариев HarmBench.

Результаты Qwen3.8-27B-Uncensored:

* первое место по Judge ASR - 82,2%
* у базовой модели - 4,5%
* MMLU-Pro - практически без изменений
* IFEval - +0,4 процентного пункта
* подтверждены все четыре заявления из карточки модели

Модель стала значительно реже отказывать, сохранив интеллект и способность следовать инструкциям на уровне оригинальной Qwen3.8-27B. Итог независимого исследования - «The winner».

Анализ:
https://abliterlitics.dev/models/qwen38-27b/

Модель:
https://huggingface.co/orcarouter/Qwen3.8-27B-Uncensored
  • 👍 10
  • 🔥 5
  • ❤ 4
Post #5700 4.77K
Python и ИИ в 2026 году: как правильно работать с кодом через ChatGPT, Claude, Cursor и AI-агентов

Как использовать ИИ для написания, проверки, рефакторинга и отладки Python-кода.

Лучшие промпты, примеры, workflow и правила работы с AI-ассистентами в 2026 году.

https://uproger.com/python-i-ii-v-2026-godu-kak-pravilno-rabotat-s-kodom-cherez-chatgpt-claude-cursor-i-ai-agentov/
  • ❤ 6
  • 👍 6
  • 🔥 4
  • 😁 2
Post #5699 7.79K
🦅 Colibrì - движок для запуска очень больших AI-моделей на обычных ПК и рабочих станциях, даже если модель целиком не помещается в видеопамять.

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

MoE-модели состоят из множества «экспертов», но для каждого токена используется только небольшая их часть.

Colibrì хранит:

* самые нужные веса в VRAM;
* менее активные — в RAM;
* редко используемые - на NVMe SSD.

Когда модели нужен конкретный эксперт, движок подгружает его с диска или из RAM.

То есть для запуска условной модели на сотни миллиардов или даже триллионы параметров не обязательно иметь столько же VRAM.

Поддерживаются CPU, CUDA, Metal и смешанное размещение модели.

Проще говоря: Colibrì позволяет запускать гигантские MoE-модели локально, жертвуя в первую очередь скоростью, а не возможностью их вообще запустить.

https://github.com/JustVugg/colibri

@pythonl
  • ❤ 16
  • 🔥 10
  • 👍 5
  • 🎉 1
Post #5698 4.39K
VCR.py - очень удобная библиотека для тестирования Python-кода, который ходит во внешние API.

Первый запуск теста делает реальные HTTP-запросы и сохраняет ответы в так называемую cassette - по умолчанию YAML-файл. Следующие запуски уже не идут в сеть: VCR.py перехватывает знакомый запрос и возвращает сохранённый ответ.

Что это даёт:

- тесты становятся детерминированными
- их можно запускать офлайн
- они работают заметно быстрее
- внешнее API не нужно дёргать сотни раз в CI
- если API изменилось, cassette можно просто перезаписать

Особенно полезно для тестов интеграций с REST API, платёжными сервисами, LLM API и любыми внешними HTTP-сервисами.

Проект активно развивается: в актуальной ветке 8.x есть поддержка HTTPX, custom transports, безопасная загрузка YAML и свежая поддержка niquests.

MIT License.

https://github.com/kevin1024/vcrpy
  • 🔥 7
  • ❤ 5
  • 👍 3
  • 🎉 1
Older posts →

About this channel

How can I read @pythonl without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Python/ django: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Python/ django have?
Python/ django (@pythonl) has 58.8K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Python/ django know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →