52807
по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
💾🎉 copyparty - ваш файловый сервер на любом устройстве
Copyparty позволяет легко превратить любое устройство в файловый сервер с поддержкой возобновляемых загрузок и скачиваний через веб-браузер. Работает на Python и поддерживает различные протоколы, включая HTTP, WebDAV и FTP.
🚀Основные моменты:
- Поддержка множества протоколов для доступа к файлам.
- Удобный интерфейс для загрузки и управления файлами.
- Возможность создания временных ссылок для обмена файлами.
- Поддержка мобильных приложений для Android и iOS.
📌 GitHub: https://github.com/9001/copyparty
#python
⚡ Наглядное сравнение скорости нового Python 3.14 с предыдущей версией
Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.
Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.
Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.
Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.
Раньше поэтому многопоточность в Python фактически не работала.
🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.
Минусы такого подхода: каждая копия имеет отдельную память, данные нужно сериализовать при передаче — большие накладные расходы.
🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.
📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.
💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.
Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading
@pythonl
🖥 Что нового в Python 3.14 и почему стоит перейти
Python 3.14 вышел 7 октября 2025 года. Это новый стабильный релиз, который содержит как изменения в самом языке, так и улучшения в реализации, стандартной библиотеке, отладке и взаимодействии с многопоточностью.
Ниже - обзор ключевых нововведений, их смысла, применимости и возможных подводных камней.
🟠Основные нововведения (Release highlights)
- Отложенная (ленивая) оценка аннотаций - теперь аннотации не вычисляются сразу, что уменьшает накладные расходы.
- Поддержка нескольких интерпретаторов в рамках одного процесса через новый модуль.
- Новый синтаксис шаблонных строк (t-strings), который даёт больше контроля над статической и интерполированной частью.
- Более информативные сообщения об ошибках (например, подсказки для опечаток в ключевых словах).
- Поддержка формата сжатия Zstandard в стандартной библиотеке.
- Улучшенные возможности для отладки и профилирования, в том числе подключение к живому процессу без остановки.
- Улучшения в asyncio — команды для визуализации и диагностики задач, стеков ожидания и зависимостей.
- Уменьшение пауз сборщика мусора (gc) через инкрементальный сбор.
- Подсветка синтаксиса и автодополнение модулей в интерактивном режиме (REPL) по умолчанию.
🟠 Подробности и примеры
Ленивые аннотации - deferred evaluation of annotations
Раньше аннотации (для типов, документации, подсказок) могли вызывать вычисления прямо при определении функции или класса. Теперь они хранятся в виде «ленивых» структур и вычисляются по надобности. Это снижает накладные расходы на загрузку кода, особенно если аннотации сложные или содержат много forward-ссылок.
Есть модуль annotationlib, который позволяет исследовать аннотации программно и выбирать формат их получения — строки, объекты или отложенные ссылки.
Когда это особенно помогает:
- большие фреймворки, генерация кода, ORM, библиотеки с множеством аннотаций;
- ускорение импорта при старте приложений;
- уменьшение накладных расходов при работе с типами.
Что проверить при миграции:
- код, использующий __annotations__ напрямую, может требовать адаптации;
- убедитесь, что сторонние библиотеки, работающие с аннотациями, поддерживают новый формат.
Несколько интерпретаторов (subinterpreters)
Теперь в Python можно запускать несколько независимых интерпретаторов внутри одного процесса (модуль `concurrent.interpreters`).
Преимущества:
- изоляция между интерпретаторами (отдельная память, отдельный GIL);
- параллелизм на многоядерных системах;
- меньше накладных расходов, чем при использовании multiprocessing.
Ограничения:
- не все C-расширения поддерживают мультиинтерпретацию;
- коммуникация между интерпретаторами требует явных каналов (очереди, сообщения).
Это даёт реальную возможность распараллеливания CPU-задач без запуска отдельных процессов.
Template string literals (t-strings)
Новое синтаксическое средство — префикс t перед строкой, аналогично f'...'.
Результат — объект Template, который хранит текст и вставки по отдельности.
variety = 'Stilton'
template = t'Try some {variety} cheese!'
🐍 Как ускорить ML-эксперименты на Python без настройки железа
Вы пишете на Python, используете PyTorch, TensorFlow или JAX — и тратите часы на установку драйверов, CUDA и зависимостей, вместо того чтобы просто запустить обучение.
В immers.cloud мы убрали эту рутину:
💰 Посекундная тарификация: тарифы от 23 руб/час, платите только за время, когда сервер реально работает.
⚡️ Быстрый старт: нужный сервер поднимается за пару минут.
📈 Гибкость и масштабируемость: 13 моделей видеокарт на выбор, от RTX 3090 до флагманских Н200.
🔧 Удобство: готовые образы для ваших задач, чтобы не тратить время на настройку.
А если нужно прерваться — можно просто заморозить ВМ с помощью функции Shelve: данные сохранятся, а платить за простои не придется.⠀
🔗 Начните сейчас и получите +20 % к первому пополнению!
МТС приглашает всех, кто пишет на С++, Go, Python, JS, Java, C# и других языках, на True Tech Champ — всероссийский чемпионат по программированию. Соревнование будет проходить в двух треках.
Трек 1. Алгоритмический. Индивидуальный зачет [призовой фонд 2 750 000 рублей]
Реши задачи, которые помогут прокачаться в работе с алгоритмами и структурами данных. Похожие задания встречаются на собеседованиях в МТС и других крупных компаниях. До 240 лучших участников попадут в финал и сразятся в лайв-кодинге.
Трек 2. Программирование роботов. Командный формат [призовой фонд 7 500 000 рублей]
Проведи робота по виртуальному лабиринту, затем управляй им дистанционно на офлайн-полигоне, а в финале — пройди испытания на реальной площадке и выбей соперников с платформы.
🎁 Организаторы отправят командам финалистов по одному роботу Waveshare Cobra Flex для кастомизации. После соревнований они останутся у участников в качестве подарка.
📍 Зрелищный шоу-финал с ИИ-технологиями, кодерскими челленджами и выступлениями международных и российских спикеров пройдет 21 ноября в МТС Live Холл.
Стоит участвовать, чтобы:
— Освежить знания и прокачать новые навыки.
— Заявить о себе на всю страну, получить карьерный буст и шанс лично пообщаться с HR-специалистами МТС.
⏰ Регистрация участников до 20 октября на сайте.
Wink AI Challenge — хакатон на стыке IT и кино. Участников ждут задачи, которые ускорят производство фильмов и сериалов за счёт прикладных AI-решений. Призовой фонд соревнования — 1 125 000 рублей.
Регистрация до 31 октября: https://cnrlink.com/winkaichallengepydjango
Приглашаем на первый в России хакатон, посвящённый применению ИИ в кинопроизводстве, ML-инженеров, backend- и frontend-разработчиков, специалистов в DevOps, MLOps, а также инженеров в сфере мультимедиа.
Вы сможете:
🔸 Разработать ML-модель, которую оценят и будут использовать продюсеры популярных российских фильмов и сериалов.
🔸 Решить кейсы, основанные на реальных задачах, с которыми продюсеры сталкиваются каждый день.
🔸 Использовать настоящие сценарии и видеоматериалы для анализа текстов, извлечения сущностей и генерации структуры съёмок.
🔸 Попрактиковаться в применении NLP, NER и мультимодальных данных в задачах кинопроизводства.
Регистрируйтесь на Wink AI Challenge, чтобы разработать ИИ-ассистента, который станет частью производства фильмов и сериалов: https://cnrlink.com/winkaichallengepydjango
🚀 Обучение LLM-агентов для многоповоротного принятия решений
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
🎁 Авто-бот для покупки подарков в Telegram
Этот бот автоматически ищет и покупает подарки по заданным критериям, интегрируясь с Telegram. Он предлагает настраиваемые параметры и способен быстро обрабатывать заказы.
🚀 Основные моменты:
- Полностью автоматический поиск новых подарков
- Высокая скорость покупки (более 5 подарков в секунду)
- Интеграция с Telegram-ботом
- Настраиваемые параметры для фильтрации подарков
- Постоянный мониторинг доступных подарков
📌 GitHub: https://github.com/ThunderTo/Gift-Buyer-Tg
#python
@pythonl
🎨 Улучшение изображений с помощью SRPO
SRPO — это метод, который оптимизирует процесс восстановления изображений с высокой степенью шума, используя новую стратегию выборки и прямую обратную связь. Он обеспечивает более быструю и стабильную тренировку моделей, минимизируя вычислительные затраты и избегая проблем с переобучением.
🚀Основные моменты:
- Эффективное восстановление изображений с высокой степенью шума.
- Ускоренная тренировка за счет оптимизации с аналитическими градиентами.
- Отсутствие проблем с "взломом" вознаграждений.
- Динамическое управление текстовыми условиями для настройки предпочтений.
📌 GitHub: https://github.com/Tencent-Hunyuan/SRPO
@pythonl
🖥 Leviathan — это сверхбыстрая библиотека для Python, реализующая цикл событий (event loop) для asyncio на базе языка Zig!
🌟 Она обеспечивает высокую производительность, полную совместимость с asyncio и простоту интеграции в проекты. Leviathan нацелен на минимизацию задержек и оптимизацию производительности по сравнению со стандартными циклами событий Python.
🔐 Лицензия: MIT
🖥 Github
@pythonl
Погружаемся в Автоматизацию: первый шаг к профессии будущего 🧑🎓
🗓 2 октября в 19:00 по МСК состоится открытое занятие: «Python + Selenium: шаг в Automation с нуля»
Если вы только начинаете свой путь в автоматизации или все еще занимаетесь ручным тестированием — этот интенсив для вас!
✔️ Чем займемся на занятии?
— Напишем полноценный автотест на Python + Selenium + Pytest
— Разберем, почему именно Python подходит для старта в автоматизации
— Обсудим, как manual-тестировщику перейти в automation
Спикер: Елена Янушевская — Senior QA Automation Engineer. Более 8 лет в тестировании, разрабатывает тестовые фреймворки с нуля для продуктовых компаний.
И куда же без бонуса? 🎉
Карьерный консультант Маргарита Головко расскажет, как начать свой путь в карьере автоматизатора, поделится секретами Карьерного центра школы и ответит на ваши вопросы!
🔔 Успейте занять место на вебинар!
🐍 Малоизвестный совет по Python: используй pyparsing вместо громоздких и тяжёлых regex.
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
Читать полностью…
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
🐍 Простые фишки парсинга в Python
1️⃣ Парсинг больших JSON-файлов без загрузки в память
import ijson
with open("big.json", "r") as f:
for item in ijson.items(f, "records.item"):
print(item) # потоковый парсинг, не держим всё в памяти
from lxml import html
doc = html.fromstring("<div><span>Hello</span></div>")
print(doc.xpath("//span/text()")[0]) # Hello
import re
line = '2025-08-23 12:10:45 [INFO] User=egor Action=login'
pattern = r'(?P<date>\d{4}-\d{2}-\d{2}) .* User=(?P<user>\w+) Action=(?P<action>\w+)'
m = re.search(pattern, line)
print(m.groupdict())
# {'date': '2025-08-23', 'user': 'egor', 'action': 'login'}
import yaml
data = yaml.safe_load("""
user: egor
active: true
age: 30
""")
print(data) # {'user': 'egor', 'active': True, 'age': 30}
import struct
raw = b"\x01\x00\x00\x00\x2A\x00"
id, value = struct.unpack("<iH", raw)
print(id, value) # 1 42
import pandas as pd
url = "https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)"
tables = pd.read_html(url)
print(tables[0].head()) # первая таблица со страницы
IT_ONE Cup. Code & Analyst — хакатон для аналитиков и разработчиков, где ты узнаешь, как работает IT-команда, и получишь сильный кейс в портфолио. Выбери трек и реши одну из задач:
→ Проанализируй BPMN-модель кредитного процесса и подготовь ТЗ на систему мониторинга эффективности.
→ Разработай сервис, который в реальном времени следит за переводами и оповещает о подозрительных операциях.
🏆 Призовой фонд: 900 000 рублей
💻 Формат: онлайн
🗓 Регистрация до 16 октября: https://cnrlink.com/itonecupmsupythonl
Приглашаем системных аналитиков, разработчиков и менеджеров проектов. Размер команды — от 1 до 5 человек.
Что тебя ждёт:
• Применишь навыки системного анализа, построения архитектуры и работы с потоковыми данными.
• Получишь готовый проект в портфолио.
• Для участников ТОП-5 команд в каждом треке — фирменный мерч.
Задачи соревнования:
Трек 1. Навигатор оптимизации. Проанализируй кредитный процесс банка, выяви узкие места и создай ТЗ для системы мониторинга производительности. Решение поможет оптимизировать критически важные процессы.
Трек 2. Финансовый радар. Разработай сервис для анализа транзакций в реальном времени. Архитектура должна включать правила обнаружения мошенничества и поддержку различных алгоритмов обработки.
Ждём тебя на IT_ONE Cup. Code & Analyst — старт 17 октября на Codenrock: https://cnrlink.com/itonecupmsupythonl
В 2026 во Владимирской области у Yandex Cloud появится новая зона доступности на базе нового дата-центра Яндекса, прямо рядом с уже действующим ЦОД. Мощность — 40+ МВт.
Задержка между зонами <1 мс, канал до 25,6 Тб/с. Для ваших СУБД и бэкендов на Python/Django это значит: запросы летят почти мгновенно, транзакции проходят без подвисаний, а системы бронирований и ритейл работают бесперебойно.
Каналы связи между зонами полностью независимы, отказоустойчивость на высоте.
🌐 DeepMind представила URL Context — теперь можно извлекать данные с любой веб-страницы, PDF или картинки просто по ссылке!
⚡ Что умеет:
- Подтягивает данные с до 20 URL за один запрос
- Никакой настройки — просто вставляешь ссылки в промпт
- Оплата только за токены, без доп. стоимости за инструмент
💡 Возможности:
▸ Вытаскивать цены, имена, ключевые факты из статей
▸ Сравнивать PDF, отчёты или статьи
▸ Генерировать резюме, посты и документы на основе разных источников
▸ Анализировать GitHub-репозитории и техдоки
👉 URL Context превращает LLM в универсальный инструмент для работы с реальными данными в сети.
https://ai.google.dev/gemini-api/docs/url-context?hl=ru
🎧 MiMo Audio: Инновации в аудио языковых моделях
MiMo Audio предлагает передовые аудио языковые модели, способные к обучению с минимальным количеством примеров. С использованием более 100 миллионов часов данных, модель демонстрирует выдающиеся результаты в задачах распознавания речи и аудиоанализа, а также в генерации речи. MiMo-Audio-7B-Base устанавливает новые стандарты в открытых моделях.
🚀Основные моменты:
- Поддержка нескольких аудио задач с минимальным обучением.
- Высокая производительность в распознавании речи и аудио понимании.
- Генерация реалистичной речи для различных форматов.
- Открытый доступ к моделям через Hugging Face.
📌 GitHub: https://github.com/XiaomiMiMo/MiMo-Audio
@pythonl
🎙️ VoxCPM: Революционный TTS для естественного синтеза речи
VoxCPM — это инновационная система синтеза речи без токенизации, обеспечивающая контекстуально осознанное создание речи и высококачественное клонирование голоса. Она использует диффузионную архитектуру для генерации непрерывных звуковых представлений, что позволяет достигать высокой выразительности и стабильности.
🚀 Основные моменты:
- Контекстуально осознанная генерация речи с естественным звучанием.
- Точное клонирование голоса с минимальным количеством образцов.
- Высокая эффективность синтеза, поддержка потоковой передачи.
📌 GitHub: https://github.com/OpenBMB/VoxCPM
@pythonl
1️⃣0️⃣0️⃣0️⃣ БЕСПЛАТНЫХ приложений, которые можно развернуть прямо у себя на сервере. На GitHub нашли настоящую сокровищницу!
50+ категорий: от аналитики и бронирований до автоматизации рутины и чтения книг.
Внутри — сотни инструментов под любые задачи: файлообменники, парсеры, сервисы для мониторинга и даже решения для ресторанов и отелей.
Всё работает локально — данные остаются только у вас, ничего не уходит разработчикам или в сеть.
https://github.com/awesome-selfhosted/awesome-selfhosted
@pythonl
🛠️ Улучшаем отладку с пользовательскими типами
Этот репозиторий помогает отображать пользовательские типы и контейнеры в отладчике LLDB, делая их более понятными. С помощью кастомных функций и синтетических провайдеров вы сможете легко видеть значения ваших объектов и контейнеров.
🚀Основные моменты:
- Поддержка пользовательских типов и контейнеров в LLDB.
- Использование Python для настройки отображения.
- Примеры для классов и контейнеров, таких как example::date и example::span.
- Удобное взаимодействие с отладчиком через .lldbinit.
📌 GitHub: https://github.com/codeinred/lldb_user_types
#python
🧠 Инструменты для искусственного интеллекта
Собрание полезных AI-инструментов и ресурсов для разработчиков, исследователей и энтузиастов. Участвуйте в развитии сообщества, добавляя новые сервисы и улучшая коллекцию.
🚀 Основные моменты:
- Широкий выбор AI-инструментов по различным категориям.
- Открытое сообщество для совместной работы и улучшения.
- Возможность вносить свой вклад через Pull Requests.
📌 GitHub: https://github.com/Hyraze/collective-ai-tools
#python
🔥 Успех в IT = скорость + знания + окружение
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: /channel/+EPEFXp67QfIyMjMy
Python: /channel/+cq7O4sOHldY1ZTIy
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_1001_notes
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
📚✨ Lue - Умный терминальный ридер с TTS
Lue — это терминальный ридер электронных книг, поддерживающий множество форматов, включая EPUB и PDF. Он предлагает текст в речь с возможностью настройки скорости воспроизведения и синхронизации с выделением слов, что улучшает восприятие текста.
🚀Основные моменты:
- Поддержка форматов: EPUB, PDF, TXT и др.
- Модульная система TTS с Edge и Kokoro.
- Кроссплатформенность: macOS, Linux, Windows.
- Настройка скорости воспроизведения от 1x до 3x.
- Удобный интерфейс с поддержкой мыши и клавиатуры.
📌 GitHub: https://github.com/superstarryeyes/lue
У VK миллионы пользователей. А теперь представьте, сколько легаси и логов.
В канале Backend VK Hub инженеры VK рассказывают о том, что происходит за кулисами больших сервисов и как справляться со всей этой красотой.
Подписывайтесь, если хочется не только читать, но и обмениваться опытом с практикующими инженерами.
🚀 Django 6.0 — уже в пути!
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@pythonl
🐍 Python трюк: сортировка namedtuple
Вместо словарей можно использовать namedtuple для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
🖥 Python: склейка TCP-пакетов
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
Читать полностью…
python
import socket
def send_coalesced(sock, parts):
for chunk in parts[:-1]:
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1]) финальный flush
#Вот короткий пример как делать «плохо» и «хорошо»:
import socket
sock = socket.create_connection(("localhost", 9090))
# Плохо: много маленьких пакетов
sock.sendall(b"Hello, ")
sock.sendall(b"world")
sock.sendall(b"!\n")
# Хорошо: склеили всё и отправили одним пакетом
msg = b"".join([b"Hello, ", b"world", b"!\n"])
sock.sendall(msg)
🔥 Python трюк: динамическое добавление методов в класс
Мало кто знает, но в Python можно на лету добавлять методы в уже созданный класс. Это удобно для плагинов, тестов или динамических API.
Пример 👇
class User:
def __init__(self, name):
self.name = name
# Обычный объект
u = User("Alice")
# Функция, которую хотим "подмешать"
def greet(self):
return f"Hello, {self.name}!"
# Вклиниваем метод в класс
User.greet = greet
print(u.greet()) # Hello, Alice!
🎹 Nallely - модульная open-source платформа для MIDI и звуковых экспериментов
- Работает на Python, позволяет соединять MIDI, датчики, веб-камеры и другие источники в единую систему.
- Можно генерировать, фильтровать и трансформировать сигналы, направляя их обратно в MIDI или другие приложения.
- Поддерживает live coding, генеративную музыку, мультимедийное искусство и сложную маршрутизацию.
- Устройства (нейроны) работают независимо — их можно комбинировать в разные конфигурации для экспериментов.
- Патчи версионируются через git, можно менять структуру прямо во время работы, даже с телефона.
- В комплекте: нейроны для MIDI, обработки сигналов, удалённой связи и визуализации.
🔗 Подробнее и демо: https://dr-schlange.github.io/nallely-midi/
@pythonl
🗣️ RealtimeVoiceChat — живой голосовой чат с ИИ.
RealtimeVoiceChat — это open-source проект, который позволяет общаться с LLM в реальном времени голосом. Он объединяет распознавание речи, LLM и синтез речи в единую систему с минимальной задержкой — около 500 мс при локальной установке.
➡️ Как работает:
1. Запись речи в браузере
2. Передача аудио по WebSocket на сервер
3. Распознавание речи через RealtimeSTT (на базе Whisper)
4. Ответ от LLM (Ollama, OpenAI и др.)
5. Озвучка ответа через RealtimeTTS (Coqui XTTSv2, Kokoro и др.)
6. Обратная передача аудио в браузер
7. Поддержка прерываний и динамики через turndetect.py
✨ Особенности:
- Задержка ~500 мс
- Поддержка разных LLM и TTS движков
- Быстрый запуск через Docker Compose
- Чистый веб-интерфейс на Vanilla JS + Web Audio API
✔️ Стек:
- Backend: Python + FastAPI
- Frontend: JS + WebSockets
- ML: transformers, torchaudio, Ollama, Whisper, TTS
- Контейнеризация: Docker
✔️ Требуется CUDA-совместимая видеокарта (для Whisper/TTS) и Docker.
🔥 Отличный проект для тех, кто хочет интегрировать голосовой интерфейс с LLM — например, для ассистентов, чат-ботов, презентаций или UX-экспериментов.
🔜 Репозиторий: https://github.com/KoljaB/RealtimeVoiceChat
🔜 Демо: https://www.youtube.com/watch?v=-1AD4gakCKw
@pythonl
#tts #llm #opensource