Обновить
883.14

Python *

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

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

FlakyDetector — мой путь к созданию инструмента для ловли «нестабильных» тестов в Python

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

FlakyDetector — мой путь к созданию инструмента для ловли «нестабильных» тестов в Python

Привет! Меня зовут Артём Алимпиев, я Python-разработчик.
Недавно я столкнулся с тем, что даже идеально написанные тесты порой ведут себя… странно.
Один день они проходят, другой — падают, хотя код не менялся.

Если вы когда-нибудь ловили такие «призраки» в CI/CD, то знаете, насколько это раздражает.

Так начался мой эксперимент — сделать инструмент, который умеет находить и объяснять, почему тесты становятся нестабильными.

Так родился проект FlakyDetector.

Читать далее

Яндекс Трекер: Инструкция. Как создать форму для шаблонизации задач и проектов

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

Сервис Яндекс Трекер хорошо подходит для управления процессами и проектами, однако сейчас «из коробки» нет решения для шаблонизации задач проектов. Каждый проект нужно заводить с самого начала, что увеличивает время работы с проектами и задачами.

В данной инструкции предложено решение, как с помощью Яндекс Форм, Yandex Cloud Functions и Яндекс Трекера создать инструмент для шаблонов проектов с уже существующими предустановленными задачами по вашим параметрам.

Читать далее

Менеджер Python проектов на Python

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

Была у меня папка на диске C под названием Python. В ней я держал свои проекты. Со временем надоело каждый раз вручную создавать папку для нового проекта, потом вручную создавать стартовый файл app.py. Это одно и то же действие снова и снова. В какой то момент я зае***ся сильно устал, хотелось просто нажать одну кнопку и получить готовую структуру без рутины. Решил автоматизировать

Здарова Хабровчане, на связи King Triton. Ловите мое очередное бесполезное творение PythonProjectManager (далее PPM)

PPM это небольшое приложение на Python. Сделано на PyQt6. Задача простая. Создавать проекты быстро, без лишних движений, с удобным доступом к ним

Читать далее

История одного бота: как сэкономить 500 часов на откликах и случайно отправить резюме боссу

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

Привет, Хабр.

Меня зовут Вадим, я бэкенд-разработчик.

Все мы знаем, что поиск работы в IT — это отдельный круг ада. Особенно этап "воронки": чтобы получить один оффер, нужно отправить 100+ откликов. Причем не пустых, а с вменяемым сопроводительным.

Как инженер, я не люблю рутину. Если алгоритм действий повторяется ("прочитать — сопоставить — написать — отправить"), значит, его можно заскриптовать.

Так появился мой pet-проект «Аврора», который на прошлой неделе перерос в закрытую бету на 100 человек. Рассказываю про архитектуру, промпт-инжиниринг и о том, почему if company_name != current_job — это самая важная строчка кода, которую я забыл написать.

Читать далее

Poetry vs Pip: Почему пора перестать использовать requirements.txt

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

На моем компьютере всё работало!» — фраза, после которой начинается многочасовой дебаггинг. Вы открываете requirements.txt, а там свалка: непонятные версии, транзитивные зависимости и библиотеки, которые вы вообще не ставили.

Pip — отличный установщик, но ужасный менеджер проектов. В 2025 году стыдно таскать за собой «портянку» из текстовых файлов. В этой статье я покажу, как Poetry превращает ад зависимостей в скучный и предсказуемый процесс. Разберем pyproject.toml, магию lock-файла и переедем с Pip за 5 минут без боли.

Внутри: туториал, гайд по миграции и честный разбор минусов (да, Poetry тоже не идеален).

Читать далее

Мы добавили поддержку ещё 19 языков России и СНГ в проект silero-stress

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

Мы недавно писали на Хабр о нашей библиотеке silero-stress для простановки ударения в обычных словах и омографах. Теперь у нашего проекта silero-stress вышла версия v1.2, в которую вошло следующее:

Что вошло?

Вайбкодинг реальности: Как я заставил AI переписать физику, просто пересылая сообщения между окнами

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

Привет, Хабр. Я простой сисадмин. Моя стихия — это линуксы, серверы и чтобы прод не падал.

Я не физик и не математик. Но я заядлый любитель научпопа. У меня на фоне постоянно крутятся лекции про космос, документалки про квантовую механику и математические парадоксы. Это моё хобби — мне дико интересно, как всё устроено на самом деле.

И пока я впитывал эти знания, в голове прочно засело ощущение какой-то незавершенности. Всё, что мы знаем о фундаментальной науке, казалось мне... сырым. Этот зоопарк частиц, куча разных взаимодействий, темная материя, которую никто не видел... Меня не покидала мысль: мир должен быть проще. Он должен быть сделан из чего-то единого, из одной простой сущности, которая элегантно объясняет и величественный космос, и ничтожные квантовые частицы.

С этим ощущением я жил долго. А недавно я открыл для себя вайбкодинг. Это когда ты пишешь код не руками, а идеями, используешь современные IDE с AI-агентами (я юзаю Windsurf), чтобы материализовать их, просто общаясь с ассистентом. Он сам пишет код, запускает, анализирует и улучшает. От меня только согласие на запуск и критика.

Обычно я так автоматизирую рутину. Но пару вечеров назад я поймал странный вайб. Глядя на схемы Стандартной Модели физики, я подумал: «Господи, какой же это легаси-код». Куча костылей, 20+ свободных параметров, какие-то глюоны, бозоны... Это выглядит как монолит, который писали 50 лет разные команды, и никто не знает, как он работает целиком.

И тогда я вспомнил про свою навязчивую идею. Что если нет никакого зоопарка частиц, а есть одна «Ткань» (Fabric)? И всё вокруг — это деформации разного рода. Ткань изгибается, дрожит, а складки на ней буквально стягивают полотно вселенной. Это стягивание — и есть та самая масса. Та самая гравитация, искажение пространства-времени, которое тянет всё на себя.

Я решил проверить это. Но не сам (я же не умею решать уравнения поля). Я решил устроить AI-битву. Я заставил нейросети выводить законы физики за меня.

Читать далее

ООП в Python на пальцах: Пишем свою текстовую RPG с нуля

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

Как объяснить новичку разницу между Классом и Объектом так, чтобы он запомнил это навсегда? Представить, что Класс — это чертеж робота, а Объект — сам робот.

В этой статье я раскладываю принципы ООП (Объектно-Ориентированного Программирования) на понятные атомы. Никакой сухой академической теории — только живой код на Python. Мы пройдем путь от простых переменных до масштабируемой системы классов на примере создания RPG-игры. В конце вас ждет домашнее задание для закрепления материала.

Читать далее

Пишем Telegram-бота на Python: прикручиваем оплату Telegram Stars, систему промокодов и OpenAI

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

Привет, Хабр! В качестве пет-проекта для работы с API и базами данных решил написать своего бота-ассистента. Идея простая: прокси к OpenAI, но с нюансами: хотел разобраться, как работать с относительно новой внутренней валютой Telegram Stars, реализовать собственную систему промокодов и админку без использования громоздких фреймворков, оставаясь на библиотеке telebot (pyTelegramBotAPI).

Читать далее

Лабораторная работа по тонкой настройке LLM для нестандартных задач классификации

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

Еще со времён школы меня будоражили возможности, которые дают компьютеры. Написать программу — это как создать что-то материальное своими руками. Неделю назад я за один вечер прочитал книгу Себастьяна Рашки «Строим LLM с нуля» (доступна на английском бесплатно), в которой без сложной теории матанализа описывается архитектура современных LLM и как их тюнить. 

Если вы интересовались, как работают LLM, то уже имеете представление, что модели умеют предсказывать следующее слово и что за этим стоит математика. Но на этом объяснение, как правило, заканчивается. Детали того, как они предсказывают следующее слово, часто рассматриваются как черный ящик.. В этой статье предлагаю рассмотреть эту тему подробнее и познакомиться с тонкой настройкой (fine-tuning) LLM для решения условно-практической задачи классификации с помощью примеров кода, приведенных в упомянутой книге. 

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

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

Читать далее

Чистая правда: как компьютерное зрение помогает делать мир чище

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

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

Всем привет! Меня зовут Алина, я инженер‑исследователь в Центре искусственного интеллекта СФУ. В этой статье расскажу, как мы применяем методы компьютерного зрения для анализа фотографий уборок в проекте «Чистые игры», как подошли к задаче автоматической оценки качества уборок и какие технические решения легли в основу MVP. В конце поделюсь выводами и тем, что удалось сделать, а что ещё предстоит улучшить.

Читать далее

Восемь высокопроизводительных Python-библиотек в копилку разработчикам

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

Когда в 1991 году Гвидо ван Россум представил миру Python, никто не мог предсказать, какое место через несколько десятилетий этот язык займет в веб-разработке, Data Science и Machine Learning. Сейчас Python продолжает развиваться: с новым поколением инструментов в прошлое уходят традиционные ограничения — производительность, GIL и сложность параллельных вычислений. 

Привет, Хабр! С вами Леша Жиряков, я руковожу бэкенд-направлением витрины KION, возглавляю гильдию по Python и пишу для блога MWS на Хабре. Я каждый день сталкиваюсь с вызовами высоконагруженных систем и сформировался пул инструментов, которые помогают решать критические проблемы современной разработки — от обработки данных с Polars до управления зависимостями с UV. 

В этом материале я сделаю обзор Python-библиотек, с которыми можно создавать системы, сравнимые по производительности с Go и Rust. 

Читать далее

Теория графов для программистов

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

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

Погрузиться в мир графов

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

Делаем активное охлаждение для Orange Pi Zero W2 с интеграцией в Home Assistant и оповещаем о неисправностях в Node-Red

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

Прикрутим к Orange pi Zero W2 дешманский вентилятор, и будем следить и управлять его скоростью через Home Assistant.

А в случае его остановки получим уведомления на телефон или озвучим его с помощью умной колонки «Алиса» ее голосом (реализовываем автоматизацию через Node-Red).

На панели управления графиками будут: температура CPU, текущая мощность вентилятора, вращается ли реально вентилятор сейчас или умер.

Научимся настраивать автозагрузку в Linux, подключатся через SSH к серверу и тд.

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

Давай посмотрим как это все реализовать...

Как не проспать дейли: Реализуем планировщик задач внутри Python-процесса

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

В потоке кода легко пропустить дейли, забыть проверить бэкапы или закоммитить задачи перед уходом. Сторонние планировщики часто избыточны и потребляют лишние ресурсы, а самописные скрипты на while True: time.sleep() — это архитектурный тупик, блокирующий потоки и создающий временной дрейф.

В этом туториале напишем свой легковесный фоновый сервис на Python. Разберем, как отправлять нативные системные уведомления (Windows/Linux/macOS) через библиотеку Plyer, настроим гибкое расписание с помощью Schedule и научимся запускать скрипт в режиме демона без висящего окна терминала.

Читать далее

Меня позвали в крутой проект, спасибо, Хабр

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

Но я облажался...

Блин я даже в школе столько правил по русскому не читал, какой же наш язык сложный, а что бы реализовать все проверки, что бы правила корректно отрабатывали, проще застрелиться... Пришлось гуглить информацию по ЕГЭ 2025 года и ковыряться на НКРЯ. Много нового узнал =)

В общей сложности потратили неделю, на реализацию концепта, функционал, перенос правил русского языка.

Читать далее

OpenAI Guardrails: защита ИИ-приложений от атак

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

Всем привет!

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

Guardrails предоставляет намного более мощные возможности для защиты, позволяя создавать многоуровневую систему валидации входных и выходных данных.

Читать далее

Ещё один ORM для Python. SQLORM: минималистичная альтернатива SQLAlchemy

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

Команда Python for Devs подготовила перевод статьи о том, почему автору SQLAlchemy нравится… но не настолько, чтобы не попробовать создать собственный ORM. SQLORM ― минималистичный, прямолинейный и честный: никакой магии, никаких скрытых Unit of Work, максимум контроля над SQL и минимум связности с сессией.

Читать далее

Пейзажная лирика глазами кода

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

Где заканчивается слово и начинается образ? Использую Python для поиска особенностей творчества К.Г. Паустовского.

Читать далее

Python для этичного хакера: проверяем форму авторизации через Username Enumeration

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

Автоматизация — лучший друг пентестера. Сегодня практикуемся в написании кастомных эксплойтов на Python для решения задач Web Security Academy.

Разберем лабораторию «Username enumeration via different responses»: проанализируем логику ошибок бэкенда, обойдем форму аутентификации без использования браузера и напишем скрипт, который находит валидного пользователя и подбирает пароль быстрее, чем вы успеете заварить кофе. Полный листинг кода и разбор нюансов работы с сессиями прилагается.

Читать далее

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