Обновить
810.4

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Автоматическая сортировка файлов на Python: из хаоса в порядок одной командой

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.2K

Привет, Хабр! Думаю, всем знакома ситуация: десятки файлов на рабочем столе, сваленных в единую кучу. Скрины, документы, архивы — и всё в одном рабочем пространстве. Наводить порядок не всегда получается, а жить в беспорядке не очень удобно. Недавно, в процессе наведения порядка, я утомился делать это руками и написал скрипт на Python, который структурирует и раскидает всё по папкам самостоятельно.

Скрипт в статье:

- Автоматически сортирует файлы по 9 категориям
- Поддерживает 50+ форматов файлов
- Предоставляет гибкие настройки

Читать далее

Голос клиента на автомате: разбираем, как анализировать звонки с помощью речевой аналитики и LLM

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.5K

Привет, Хабр! Это Катя Саяпина, менеджер продукта МТС Exolve.

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

Сегодня покажу, как собрать простую систему фонового анализа звонков. Она забирает расшифровки разговоров через API МТС Exolve, отправляет их в GigaChat для обработки, а результаты сохраняет в базу SQLite.

Читать далее

XTools-py — универсальные утилиты для Python-разработчиков

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.1K

🚀 XTools-py — универсальные утилиты для Python-разработчиков

Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас.

XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку.
Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения.

✨ Возможности

Find — быстрый поиск и работа с коллекциями данных.

Matrix — операции с матрицами.

Config — удобная работа с JSON, YAML, INI.

Validator — валидация строк, чисел и других типов.

Cache — простой кеш с TTL.

DateTimeUtils — работа с датами и временем.

MathUtils — расширенные математические функции.

ColorUtils — преобразование и обработка цветов.

EncryptionUtils — шифрование и хеширование.

TextUtils — удобные манипуляции с текстом.

UnitConverter — конвертация единиц измерения.

AWS S3 — облачное хранилище (асинхронно/синхронно).

Читать далее

Расширение известного трюка с XOR на миллиарды строк: введение в обратимые фильтры Блума

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в таблицах, содержащих миллионы строк?

Читать далее

Разработка Битрикс-бота: история о том, как документация врала, а облака смеялись

Время на прочтение9 мин
Охват и читатели6.5K

Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто потому, что заскучал в корпоративном чате.)

Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но…

Читать далее

Решаем задачи международной математической олимпиады у себя на домашнем компьютере

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели10K

Двое ученых из университета Лос-Анжелеса повторили результат OpenAI и Google с золотой медалью IMO, но с помощью обычной публичной Gemini 2.5 Pro.

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели6.6K

В процессе разработки RAG-системы для обработки видеоконтента передо мной встала задача генерации качественных описаний для большого объема видео-клипов с использованием мультимодальных языковых моделей. Клипы имели продолжительность около 10 секунд, в отдельных экспериментах мы тестировали материал длиной в несколько десятков секунд. Финальные описания составляли от 300 до 2000 токенов и после генерации разбивались на чанки для индексации в векторной базе данных. При тестировании различных подходов обнаружились значительные различия в скорости и качестве обработки. Компактные модели, работающие с отдельными кадрами изображений (Phi, DeepSeekVL2, Moondream), демонстрировали существенно более высокую скорость по сравнению с моделями полноценной обработки видео, однако качество генерируемых описаний оставляло желать лучшего. Типичный workflow включал конкатенацию описаний отдельных кадров, при этом в DeepSeekVL2 дополнительно использовался system prompt для более интеллигентного объединения результатов анализа кадров. Модели для обработки изображений стабильно укладывались в временные рамки 3-5 секунд на клип, что значительно быстрее требуемого лимита. Полноценные видео-модели, получающие на вход целые видеоклипы, изначально генерировали описания за 30 секунд на vanilla PyTorch. Применение VLLM ускорило процесс до 12-15 секунд, а SGLang позволил достичь целевых 8-10 секунд на клип. Эти временные рамки позволили настроить обработку на кластере из 20 RTX 4090 и сгенерировать около миллиона описаний за месяц для production-системы. Благодаря применению различных техник оптимизации инференса удалось не только достичь поставленных временных целей, но и существенно превзойти их, завершив генерацию необходимого объема описаний за две недели вместо месяца. Система успешно развернута в продакшене и демонстрирует стабильную производительность. Данная статья представляет систематизированный анализ практического опыта оптимизации инференса мультимодальных LLM, полученного в ходе решения реальной production-задачи. Особое внимание уделяется сравнению эффективности различных подходов к ускорению, включая современные специализированные фреймворки VLLM и SGLang, а также аппаратные оптимизации на базе TensorRT.

Читать далее

От консоли к GUI: Как написать игру «Сапёр» на Python с нуля версия консоли (часть первая)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.9K

Создайте свою версию легендарного «Сапёра» на Python. В этом пошаговом руководстве вы освоите всё: от создания игрового поля до управления флагами и проверки победы. Неважно, новичок вы или опытный программист - это увлекательное приключение поможет вам прокачать навыки. Начните программировать и играть с собственным «Сапёром» уже сегодня.

Читать далее

Мифы и легенды о производительности Python

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели20K

Антонио Куни — инженер, давно занимающийся повышением производительности Python, а также разработчик PyPy. Он провёл на EuroPython 2025 в Праге презентацию «Мифы и легенды о производительности Python». Как можно догадаться из названия, он считает многие общепринятые сведения о производительности Python как минимум вводящими в заблуждение. На множестве примеров он показал, где, по его мнению, таятся истинные проблемы. Инженер пришёл к выводу, что управление памятью в конечном итоге наложит ограничения на возможности повышения производительности Python, но у него есть проект SPy, который, возможно, станет способом реализации сверхбыстрого Python.

Он начал своё выступление с просьбы: «Если вы считаете Python медленным или недостаточно быстрым, поднимите руку»; поднялось много рук, в отличие от презентации на PyCon Italy, где руку не поднял почти никто из присутствующих. «Совершенно другая аудитория», — сказал он с улыбкой. Антонио уже много лет работает над производительностью Python, он общался с множеством разработчиков на Python и слышал кучу устоявшихся мифов, которые захотел развеять.

Читать далее

Гайд по правильным ожиданиям в UI — тестах. SeleniumWebDriverWait и Expected Conditions

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.5K

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

Читать далее

TY — не thank you, а быстрый type checker для Python

Время на прочтение7 мин
Охват и читатели7.7K

Всем привет! Меня зовут Иван, я программирую на Python, а в свободное время пишу для блога МТС. В прошлый раз поделился опытом, как я осваивал Go и с чем у меня были сложности. Спасибо всем, кто читал и комментировал! Сегодня хочу обсудить мегабыстрый инструмент для проверки типов данных Python — ty: как он устанавливается и используется, какие есть правила и нюансы, а еще посмотрим, как можно его применять. Приступим!

Читать далее

Как научиться программированию разрабатывая игры

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Если вы учились программировать в конце 80x-начале 90х, то наверняка делали это на ZX Spectrum, БК-0010 или MSX. Во всех этих компьютерах был встроенный язык програмирования. Кто-то начинал сразу с машинных кодов Радио-86РК. В любом случае первыми программами скорее всего были игры.

Но любительское программирование началось задолго до 90х. Посмотрим, какие игры предлагались раньше для начинающих программистов и что из этого мы могли бы извлечь для себя сегодня.

Читать далее

Telegram Web App. Всё о Mini Apps

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

В прошлой статье я уже рассмотрел основные возможности Web App. Cегодня же подведём итоги, расскажем все особенности и нюансы работы с Web App в Telegram и соберём простенькое веб-приложение.

Читать далее

Ближайшие события

Тесты не лгут — прислушивайтесь к ним. Часть 2

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.9K

(Статья — результат совместной работы с Максимом Степановым)

В прошлой статье мы показали, как тесты помогают найти изъяны в архитектуре. Для этого мы попытались протестировать скрипт на Python, проверяющий погоду. Нам пришлось разбить его на несколько функций в зависимости от зон ответственности, и это позволило написать несколько тестов. Но у них были существенные недостатки:

Хрупкость

Зависимость от внешних систем

Невозможность протестировать пользовательский сценарий в отдельности

Избыточное покрытие.

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

Читать далее

Titanic + CatBoost (Первое решение, первый Jupyter Notebook)

Уровень сложностиПростой
Время на прочтение32 мин
Охват и читатели9.1K

Решение первого соревнования на kaggle титаник с помощью библиотеки от яндекса catboost. Два способа: обычная модель и второй: с перебором гиперпараметров с помощью randomizedsearch. Сравнение результатов.

Читать далее

От консоли к веб-интерфейсу: создание автоматического веб-инсталлятора для ALD Pro на Flask и Python

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.3K

Программисты делятся на два типа: те, кто автоматизирует установку ALD Pro, и те, кто ещё не понял, сколько времени они теряют. Когда-то я вручную прописывал DNS, как средневековый монах переписывающий манускрипты, но потом осознал, что компьютеры должны работать вместо нас. В этой статье — мой путь от консольных скриптов, которые пугали коллег, до веб-интерфейса, где даже бухгалтер (почти) разберётся.

Читать далее

Автоматизируем печать документов с помощью Python

Время на прочтение7 мин
Охват и читатели12K

Меня зовут, Дмитрий, просто Дима.

Каждый день, я готовлю однообразные документы, в которых нужно печатать страницы - одинаково (однообразно):
1 (ую) и 2 (ую) страницы, двойной печатью по длинному краю;
3 (ью) и 4 (ую) по короткому краю (эти листы горизонтальные);
5 (ую) страницу отдельно (только 1 лист).

Каждый день, из раза в раз, нужно было настраивать диапазон для печати. И в один момент (спустя 3 дня) мне это надоело и было решено написать программу, с помощью которой можно будет распечатать этот документ - одним нажатием мыши.

Спойлер - мне удалось. Но пришлось поискать информацию. А информации на русском не очень много, поэтому искал преимущественно в английских источниках. Что и вдохновило на написание это статьи.

Узнать правду о печати с помощью Python!!!

Нейросетевой помощник для Catan Universe: как я научил ИИ считать карты соперников

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.1K

Привет, коллеги-катановцы!

Знакомо чувство, когда в пылу битвы за овец и кирпичи напрочь забываешь, сколько ресурсов только что сбросил соперник? Вот и я вечно путался — пока не загорелся безумной идеей: А что если заставить нейросеть следить за картами вместо меня?

Пару месяцев, несколько килограммов кофе и одна сгоревшая видеокарта спустя — представляю вам Catan Neural Assistant — шпаргалку, которая в реальном времени подсчитывает ресурсы оппонентов!

Но сначала — лирическое отступление для тех, кто вдруг не в теме.

кто вдруг не в теме.

Применение Portainer в CI/CD процессах

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели8K

Продолжаем знакомиться с Portainer и сферами его применения.

В этой статье узнаем как написать CI/CD для сборки Docker-образа и деплоя проекта, а также, как получить бесплатно Portainer BE.

Читать далее

BRS-XSS: Новое поколение сканера уязвимостей XSS

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели3K

BRS-XSS - это профессиональный инструмент для сканирования уязвимостей Cross-Site Scripting (XSS), разработанный компанией EasyProTech LLC в рамках экосистемы Brabus Recon Suite (BRS). Он создан разработчиком Brabus и впервые опубликован 7 августа 2025 года.

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

Репозиторий

Читать далее

Вклад авторов