pythonl | Unsorted

Telegram-канал pythonl - Python/ django

52808

по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books

Subscribe to a channel

Python/ django

🔍 Основные нововведения в Django 5.2

1. 📦 Автоматический импорт моделей в интерактивной оболочке
Теперь при запуске команды python manage.py shell все модели из установленных приложений автоматически импортируются.

Это упрощает работу в интерактивной оболочке, позволяя сразу использовать модели без необходимости ручного импорта. Для получения подробностей об импортированных объектах можно использовать флаг -v 2.​

2. 🔗 Поддержка составных первичных ключей
Django 5.2 вводит нативную поддержку составных первичных ключей через класс CompositePrimaryKey. Это позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей, без необходимости использования сторонних решений.​

3. 🧩 Гибкая настройка BoundField в формах
Теперь можно переопределять класс BoundField на уровне проекта, формы или отдельного поля, устанавливая атрибут bound_field_class. Это предоставляет разработчикам более тонкий контроль над отображением и поведением форм.​


4. ⚡ Расширенная асинхронная поддержка
Django продолжает движение в сторону асинхронности, добавляя новые асинхронные методы и улучшая реализацию бэкендов аутентификации. Это особенно полезно для операций, связанных с вводом-выводом, и способствует созданию более производительных приложений.​

5. 🎨 Новые виджеты форм и улучшения интерфейса
Добавлены новые виджеты форм, такие как ColorInput, SearchInput и TelInput, соответствующие стандартам HTML5. Также улучшена доступность форм для пользователей с особыми потребностями.​
Bastaki Software Solutions L.L.C-FZ

6. 🗃️ Улучшения в работе с базой данных

Поддержка изогнутых геометрий в GDAL, включая CurvePolygon, CompoundCurve, CircularString, MultiSurface и MultiCurve.

По умолчанию соединения с MySQL используют кодировку utf8mb4 вместо устаревшей utf8mb3.

Улучшена работа методов values() и values_list(), теперь они генерируют SELECT-запросы в указанном порядке.​

🔧 Совместимость и поддержка
Django 5.2 поддерживает Python версий 3.10–3.13.

С выходом этой версии, основная поддержка Django 5.1 завершена. Последний минорный релиз 5.1.8, также содержащий обновления безопасности, был выпущен одновременно с 5.2.

Django 5.0 достиг конца расширенной поддержки. Последний релиз безопасности, 5.0.14, также был выпущен сегодня. Рекомендуется обновиться до версии 5.1 или более новой.

📥 Обновление и ресурсы
Загрузить Django 5.2 можно с официальной страницы загрузки или через PyPI.

Полные примечания к релизу доступны в официальной документации.

Для автоматического обновления кода и устранения устаревших конструкций можно использовать инструмент django-upgrade.​
Django Project

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

📌 Релиз

@pythonl

Читать полностью…

Python/ django

🚀 Python-разработчик — от основ до синьора.

Если вы ищете структурированный roadmap в бэкенд-разработке на Python, обратите внимание на дорожную карту от Boot.dev. Она начинается с базовых навыков (Linux, Git, ООП) и ведёт к сложным темам: алгоритмы, HTTP-серверы, безопасность и DevOps-инструменты.

Создатели сделали акцент на практике. После каждого теоретического блока предлагается создать проект: от простого бота до агрегатора блогов с использованием SQL и облачных хранилищ.

🤖 GitHub

@python_job_interview

Читать полностью…

Python/ django

🐍 Dulwich — проект, предлагающий альтернативу классическим библиотекам вроде GitPython и pygit2. Это полностью Python-реализация Git-клиента без зависимостей от нативного Git.

Инструмент поддерживает как низкоуровневые операции с репозиториями, так и сложные команды, имитирующие интерфейс командной строки Git. Для тех, кому важна производительность, есть опциональные Rust-расширения.

🤖 GitHub

@pythonl

Читать полностью…

Python/ django

🖥 Python на скорости Rust

Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust.

🧠 Как это работает?
- Использует символическое трассирование на CPython для анализа функций
- Генерирует промежуточное представление (IR)
- Транслирует IR в C++ или Rust, а затем компилирует в бинарный код
- Поддерживает платформы: Linux, Android, WebAssembly и др.

📦 Пример:
@compile
def fma(x: float, y: float, z: float) -> float:
return x * y + z
После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python.

🔗 Подробнее
🔗 Github

@pythonl

#Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm

Читать полностью…

Python/ django

🌟 TARIFF — инструмент, который вы реально ждали, Python-пакет, который делает импорты «Великими» снова.

Инструмент позволяет вводить "пошлины" на Python-библиотеки, замедляя загрузку определённых пакетов, чтобы подчеркнуть идею "экономического протекционизма" в коде.​

✔️ Основные особенности
Имитация тарифов на импорты: пользователь может установить "тарифы" (в процентах) на определённые пакеты, например:​



import tariff

tariff.set({
"numpy": 50, # 50% тариф на numpy
"pandas": 200, # 200% тариф на pandas
"requests": 150 # 150% тариф на requests
})


Замедление импорта: при импорте указанных пакетов время загрузки увеличивается пропорционально установленному тарифу.​

Вывод сообщений: при каждом "обложенном тарифом" импорте выводится сообщение в стиле политической риторики, например:​

JUST IMPOSED a 50% TARIFF on numpy! Original import took 45000 us, now takes 67500 us. American packages are WINNING AGAIN! #MIPA

Библиотека использует monkey-patching для перехвата и модификации процесса импорта.​

Github

@ai_machinelearning_big_data

#fun #python

Читать полностью…

Python/ django

Стартовал набор в ШАД — успейте подать заявку!

Технологии меняют нашу реальность, но за их развитием стоят люди, которые умеют находить нестандартные решения. И именно в Школе анализа данных Яндекса готовят таких специалистов! Здесь амбициозные и увлечённые студенты:

- погружаются в машинное обучение, Data Science и искусственный интеллект;
- перенимают опыт экспертов из индустрии;
- учатся решать задачи, стоящие перед ведущими IT-компаниями и исследовательскими центрами.

Учёба в ШАДе — это серьёзный вызов даже для тех, кто уже знаком с анализом данных. Поступить непросто, но если вы готовы к интенсивной нагрузке, нестандартным кейсам и полной пересборке своего мышления — это место для вас! За 2 года обучения вы получите инструменты и навыки, которые позволят работать над сложнейшими задачами индустрии, запускать собственные проекты и двигать науку вперёд.

Занятия полностью бесплатны и проходят по вечерам. Если в вашем городе нет филиала, можно учиться онлайн. Готовы бросить вызов данности? Тогда подавайте заявку до 4 мая!

Читать полностью…

Python/ django

Аналитиков данных становится все больше, а вы до сих пор не понимаете, что это за специалисты, и чем они занимаются?

Онлайн-школа Data Science karpovꓸcourses приглашает на бесплатный вебинар, где вы не только узнаете все о востребованной профессии, но еще и поймете, подходит ли вам эта сфера, и как начать развиваться в ней!

Старт: 15 апреля в 19:00 мск.

Спикер вебинара — преподаватель karpovꓸcourses и Team lead команды продуктовой аналитики в Raiffeisen CIB — расскажет о том, какие навыки нужны для старта карьеры, и с какими задачами работают аналитики каждый день.

А в конце вебинара вас ждет бонус от школы karpovꓸcourses — карьерный гайд и промокод на скидку на обучение.

Регистрируйтесь, чтобы не упустить возможность узнать больше о профессии аналитика данных и сделать шаг к новой карьере →
https://clck.ru/3L4Y8K/?erid=2VtzqwmamE1

Реклама. ООО «Карпов Курсы», ИНН: 7811764627, erid: 2VtzqwmamE1

Читать полностью…

Python/ django

🌟 NVIDIA добавила нативную поддержку Python в CUDA.

Python уже несколько лет уверенно лидирует среди языков программирования, а теперь стал ещё ближе к железу. На GTC 2025 NVIDIA объявила о полноценной интеграции Python в свой CUDA-стек.

Это значит, что писать код для GPU можно будет напрямую на Python — без погружения в C++ или Fortran. Как подчеркнул Стивен Джонс, архитектор CUDA, цель — сделать инструмент естественным для Python-разработчиков: «Это не перевод синтаксиса C на Python. Все должно работать так, как привыкли разработчики».

Раньше CUDA требовала глубокого понимания низкоуровневых языков и это здорово ограничивало аудиторию. Сейчас, когда Python стал стандартом в ML и DS, NVIDIA открывает двери для миллионов программистов. По данным The Futurum Group, в 2023 году CUDA использовали 4 миллиона человек — теперь их число может резко вырасти.

Техническая часть такая же обширная, как и ожидания этого события профессиональным сообществом.

🟢Во-первых, появилась библиотека cuPyNumeric — аналог NumPy, который переносит вычисления с CPU на GPU буквально заменой импорта.

🟢Во-вторых, CUDA Core переосмыслен для Python: здесь сделан упор на JIT-компиляцию и минимизацию зависимостей.

🟢В-третьих, добавлены инструменты для профилирования и анализа кода, а ускоренные C++-библиотеки теперь доступны из Python без потерь в производительности.

Но главное — новый подход к параллельным вычислениям. Вместо ручного управления потоками, как в C++, NVIDIA предлагает модель CuTile, которая оперирует массивами, а не отдельными элементами. Это упрощает отладку и делает код читаемым, не жертвуя скоростью. По сути, разработчики получают высокоуровневую абстракцию, скрывающую сложности железа, но сохраняющую гибкость.

Пока CuTile доступен только для Python, но в планах — расширение для C++. Это часть стратегии NVIDIA по поддержке новых языков: Rust и Julia уже на походе.

Python-сообщество уже может экспериментировать — например, интегрировать CUDA-ядра в PyTorch или вызывать привычные библиотеки. Теперь даже те, кто никогда не писал на C++, смогут использовать всю мощь GPU — осталось проверить, как это скажется на скорости создания прекрасных LLM светлого будущего.

🔜 Посмотреть полную презентацию на GTC 2025


@ai_machinelearning_big_data

#AI #ML #Python #CUDA #NVIDIA

Читать полностью…

Python/ django

🧠 Python-задача на внимательность и знание подводных камней

Что выведет этот код?


def make_funcs():
funcs = []
for i in range(3):
def wrapper(x=i):
return lambda: x
funcs.append(wrapper())
return funcs

a, b, c = make_funcs()
print(a(), b(), c())


❓ Варианты ответа:

A)0 1 2
В) 2 2 2
C)0 0 0
D)Ошибка на этапе выполнения

✅ Ответ: 0 1 2

📘 Объяснение:
🔹 Цикл for i in range(3) проходит по значениям 0, 1, 2.

🔹 В каждой итерации вызывается wrapper(x=i) — это копирует текущее значение i в локальную переменную x.

🔹 Затем возвращается lambda: x, которая запоминает это конкретное значение x.

🔹 В итоге:

a() → 0

b() → 1

c() → 2

Если бы мы не использовали x=i по умолчанию, а писали просто lambda: i, все функции замкнули бы одну и ту же переменную i, и на момент вызова она бы уже была равна 3.


@pythonl

Читать полностью…

Python/ django

🚀 Как Duolingo ускорил микросервисы на 40% с помощью асинхронного Python 🐍⚡

Duolingo рассказали, как им удалось значительно повысить производительность своих Python-сервисов, переведя их на async/await, и сделали это не ради хайпа, а ради экономии.

💸 Мотивация: производительность и снижение затрат
Duolingo работает с большим количеством микросервисов, обрабатывающих огромные объёмы трафика. Несмотря на высокую нагрузку, многие их Python-сервисы простаивали в ожидании I/O — например, сетевых запросов или операций с базой данных. Это означало неэффективное использование CPU, а значит — деньги на облачный хостинг тратились зря.

Асинхронный код — способ “переключаться” между задачами во время ожидания, используя CPU с большей отдачей. Именно это стало главной мотивацией: не “просто быть async”, а снизить расходы.

⚙️ Как проходила миграция
Процесс был постепенным и продуманным. Ниже ключевые шаги:

▪ Переход не “всё или ничего”
Команда не бросалась переписывать весь сервис с нуля. Они начали с конвертации отдельных маршрутов (routes) на async def, добавляя поддержку асинхронности по частям.

▪ Инструменты постепенно адаптировали
Библиотеки и инструменты внутри компании пришлось обновить:
 ▪ свой HTTP-клиент переписали под aiohttp,
 ▪ систему аутентификации сделали совместимой с async-контекстами,
 ▪ логирование, трассировка и метрики обновили под async-архитектуру.

▪ Тесты и инфраструктура
Асинхронные изменения требовали пересмотра тестов. Они внедрили поддержку pytest-asyncio и переосмыслили подход к мокам и фикстурам.

▪ Запуск в проде — поэтапно
Сначала маршруты работали в синхронном режиме. Потом их перевели в async-режим и замерили разницу. Так удалось отловить “узкие места” до массового внедрения.

📈 Результаты: +40% производительности на инстанс
▪ У каждого экземпляра микросервиса CPU начал использоваться эффективнее.
▪ Снизилось среднее время ответа (latency).
▪ Уменьшилось количество необходимых инстансов — экономия в $$$.
▪ Код стал удобнее масштабировать и поддерживать в I/O-интенсивной среде.

Пока один запрос “ждёт”, процессор может выполнять другие задачи.

🔍 Выводы
Duolingo подчёркивает:
асинхронность не нужна “просто потому что модно”.
Но если у вас сервис с большим числом I/O-операций и важна производительность — async Python может дать реальный прирост и экономию.

➡ Оригинальный пост

@pythonl

Читать полностью…

Python/ django

🖥 Разработка игры в стиле Mario с нуля на Python

Создание собственной игры в духе легендарного Super Mario Bros — это отличный способ прокачать навыки программирования, погрузиться в основы геймдева и просто повеселиться.

Гайд по разработке простой платформенной игры с нуля Python, используя библиотеку Pygame.

📌 Гайд

@pythonl

Читать полностью…

Python/ django

🔌 python-kasaуправление умными устройствами TP-Link из Python.

Если у вас есть умные розетки, лампы или другие устройства TP-Link и вы хотели бы автоматизировать их через Python, обратите внимание на эту библиотеку. С её помощью можно легко включать/выключать устройства, проверять их статус и даже управлять через командную строку. Поддерживаются как модели Kasa, так и Tapo, включая розетки, выключатели, лампы и даже камеры.

🤖 GitHub

@pythonl

Читать полностью…

Python/ django

🗣 OuteTTS 1.0 — это современный open-source инструмент для синтеза речи (Text-to-Speech), который делает акцент на высоком качестве озвучки, клонировании голоса и поддержке множества языков. Основные особенности:

🔊 Ключевые возможности:
Высокая производительность:
Способен генерировать аудио до 42 секунд (~8192 токена) за один прогон.

Однако для наилучших результатов рекомендуется ограничиваться ~7000 токенами.

- Поддержка клонирования голоса:
Использует референсный голос (speaker reference) длиной, например, 10 секунд. В таком случае контекст для синтеза сокращается: доступно около 32 секунд активного контента (из 42).

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

🛠️ Под капотом:
Хотя подробностей о модели в описании немного, из GitHub-репозитория следует, что:

Используются современные архитектуры трансформеров для TTS.

Поддерживается реалистичное клонрование голоса по короткому фрагменту.

Скорость генерации и качество аудио находятся на уровне лучших TTS-систем с открытым кодом.

Установка:
git clone https://github.com/edwko/OuteTTS.git
cd OuteTTS
pip install -r requirements.txt



python
from outetts import OuteTTS

tts = OuteTTS(
reference_speaker_path="reference_audio/igor_voice.wav",
language="ru" # поддерживаются и другие языки, например: "en", "ja"
)

text = "Привет, Python разработчик! Я твой кастомный голосовой ассистент."
audio = tts.generate(text)

with open("output.wav", "wb") as f:
f.write(audio)


📥 Ссылка на репозиторий

@pythonl

Читать полностью…

Python/ django

🖥 DeepGit: Repo Discovery — это открытый AI-инструмент, который помогает находить полезные репозитории на GitHub с помощью семантического поиска.

Он основан на системе LangGraph, использует анализ кода, документации и сигналов из сообщества, чтобы отфильтровывать малоизвестные, но перспективные проекты.

Ключевые возможности:
▪ Семантическая проверка: ищет не просто по ключевым словам, а «понимает» содержание.
▪ Многогранный анализ: учитывает не только код, но и документацию, активность и отзывы сообщества.
▪ GitHub-интеграция: фокусируется на данном экосистемном источнике, упрощая отбор качественных проектов.

🖥 GitHub

@pythonl

Читать полностью…

Python/ django

Последний шанс попасть на ключевое ИТ-событие весны — Data Fusion 2025!

Уже 16–17 апреля в Москве состоится одна из крупнейших конференций по анализу данных и ИИ. Если вы еще не зарегистрировались — поторопитесь!

Data Fusion 2025 — это не просто конференция, а место, где ежегодно собираются разработчики, аналитики, инженеры данных, исследователи, бизнес и госструктуры, чтобы обсудить, как ИИ и данные меняют индустрию.
Что в программе?

✔️ 70+ сессий — от ML-инфраструктуры до внедрения генеративных моделей
✔️ 250+ экспертов — разработчики, архитекторы, лидеры компаний и науки
✔️ Тренды и инсайты этого года — новые подходы к DataOps и управлению качеством данных
✔️ Кейсы от топовых ИТ-компаний — только актуальные и проверенные решения

📌Москва, технологический кластер «Ломоносов», 16-17 апреля.

Не откладывайте на потом, регистрирация скоро закроется 💣 — https://data-fusion.ru/. Участие бесплатное!


*ML — машинное обучение
*DataOps — методология разработки и предоставления данных

Читать полностью…

Python/ django

⚡️Строим рекомендательную систему фильмов на Kaggle

Вы когда-нибудь хотели сделать свою собственную систему рекомендаций фильмов? 🎬

Приходите на бесплатный вебинар, где Савелий Батурин, Senior ML-Engineer и преподаватель курса по ML школы Simulative в прямом эфире покажет как построить рекомендательную систему фильмов на Kaggle.

Что будем делать на вебинаре:
🟠Разберем имеющиеся данные фильмов с их оценками
🟠Проведем предобработку данных
🟠Построим рекомендательную систему на основе машинного обучения
🟠Проведем расчет и анализ метрик на основе результатов работы модели

Вебинар будет интересен как новичкам, так и уже опытным специалистам

😶Зарегистрироваться на бесплатный вебинар

Читать полностью…

Python/ django

👩‍💻 Docker — лучший канал для ускоренного обучения DevOps.

С помощью инфографики, наглядных визуализаций и коротких обучающих видео вы изучите все ключевые концепции работы с Docker и методики DevOps.

Прокачать скиллы: t.me/DevopsDocker

Читать полностью…

Python/ django

Поздравляем, вы на 1 шаг ближе к работе мечты 🥳

Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉

Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Python-разработчиков.

Подписывайтесь, чтобы найти ту самую работу ✨

Читать полностью…

Python/ django

📌 Tracecat — open-source платформа для автоматизации безопасности. Этот проект предлагает YAML-шаблоны для создания workflow с визуальным редактором, упрощая автоматизацию рутинных задач.

Инструмент позволяет интегрировать Temporal для надёжного выполнения сценариев и поддержка MITRE D3FEND. Локальный запуск возможен через Docker Compose, а для продакшена есть Terraform-конфиги для AWS Fargate.

🤖 GitHub

@pythonl

Читать полностью…

Python/ django

🖥 Важная особенность генераторов в Python!

Давай разберемся, как это работает:

Что такое Генератор?
Функция my_generator_function является генератором, потому что она использует ключевое слово yield.

В отличие от обычной функции, которая выполняет весь код и возвращает одно значение через return, генератор "приостанавливается" на каждом yield, возвращая указанное значение.

При следующем вызове он возобновляет работу с того места, где остановился.
Как работает yield:
Когда вы вызываете gen = my_generator_function(), код внутри функции не выполняется.

Создается специальный объект-генератор (gen).
Первый вызов next(gen) заставляет функцию выполниться до первого yield 1. Функция возвращает 1 и приостанавливается.
Второй вызов next(gen) возобновляет выполнение с точки после yield 1 и доходит до yield 2. Функция возвращает 2 и снова приостанавливается.
Именно поэтому print(next(gen), next(gen)) выводит 1 2.

Как работает return в генераторе:
Когда поток выполнения внутри генератора доходит до оператора return (в нашем случае return 73) или просто до конца функции без явного return, генератор считается завершенным.

Важно: Значение, указанное в return (здесь 73), не возвращается как обычное значение через yield. Вместо этого генератор выбрасывает (raises) специальное исключение: StopIteration.

Этот механизм StopIteration - стандартный способ в Python сигнализировать, что итератор (а генератор - это тип итератора) исчерпан.

Перехват StopIteration и получение значения:
В правой части кода мы пытаемся вызвать next(gen) еще раз.

Генератор возобновляется после yield 2, доходит до return 73 и выбрасывает StopIteration.

Конструкция try...except StopIteration as err: перехватывает это исключение.

Ключевой момент (показан стрелкой на картинке): Значение, которое было указано в операторе return генератора (73), становится доступным как атрибут .value пойманного исключения StopIteration.

Поэтому print(err.value) выводит # 73.

Итог:
Teturn в генераторе не производит очередное значение, а завершает его работу. При этом значение из return "упаковывается" в исключение StopIteration, сигнализирующее об окончании, и его можно извлечь из атрибута .value этого исключения, если перехватить его вручную.

Стандартный цикл for item in generator(): в Python автоматически обрабатывает StopIteration (просто завершает цикл) и не дает прямого доступа к err.value. Поэтому для демонстрации этого механизма и получения возвращаемого значения используется явный вызов next() внутри блока try...except.

@pythonl

Читать полностью…

Python/ django

🧠 Влияет ли кэш CPU на производительность Python-кода?

Лукас Аткинсон провёл серию тестов, чтобы проверить, как поведение CPU-кэша влияет на время выполнения Python-кода. Результаты удивляют.

🔍 Ключевые выводы:

- Последовательный доступ к спискам быстрее, чем случайный
- При 200k элементах случайный доступ медленнее на 47%
- При 1.6M элементов — почти в 4 раза
- Python чувствителен к низкоуровневым аспектам памяти, в том числе CPU-кэшу

💡 Совет: при работе с большими объёмами данных используй последовательный доступ — это реально ускоряет код.

📖 Читать подробнее: lukasatkinson.de

@pythonl

Читать полностью…

Python/ django

🖥 Строковый метод translate позволяет заменять (или удалять) несколько символов строки за один проход. (Похоже на множественные вызовы метода replace.)

import string

s = "Hello, world!"
print(s.translate(str.maketrans("", "", string.punctuation)))
# Hello world


Строковый метод translate ожидает «таблицу перевода», которую мы создаем с помощью вспомогательного метода класса maketrans.

Третий аргумент (string.punctuation в примере) — это строка символов, которые мы хотим удалить.

Значение string.punctuation
(на которое указывает стрелка):
!'#$%&\'()*+,-./:;<=>?@[\\]^_{|}~`

Суть шпаргалки: Она показывает, как эффективно удалить все стандартные знаки препинания из строки в Python, используя комбинацию методов str.maketrans для создания "инструкции" по удалению и str.translate для применения этой инструкции к строке.

@pythonl

Читать полностью…

Python/ django

🐍 Задача по Python: Замыкания и области видимости

Что выведет следующий код?


def outer():
x = 5
def inner():
nonlocal x
x += 1
return x
return inner

f = outer()
print(f())
print(f())
print(f())


Варианты ответа:
A)

7
8


B)

5
5


C)

6
6


D) Ошибка выполнения

---

✅ Правильный ответ: A

Почему:
Функция
outer создаёт замыкание. Переменная x сохраняется между вызовами f, потому что inner — замыкает x и изменяет её с помощью nonlocal. Это классический пример использования замыканий в Python.

@pythonl

Читать полностью…

Python/ django

🚀 Автоматизируй Docker для Python за 1 команду с Python

📦 Dockerpyze — мощный опенсорс-инструмент, который превращает любой Python-проект на uv или poetry в Docker-образ без ручной возни.

💡 Просто добавь - [tool.dpy] в pyproject.toml, укажи entrypoint — и собирай образы одной командой. Без Dockerfile, без боли.

🔧 Поддерживает:
✅ PEP-621
✅ uv и poetry
✅ кастомные переменные, порты и зависимости
✅ CI/CD (в т.ч. GitHub Actions)

🔥 Подходит для быстрой упаковки ML-сервисов, REST API, CLI-инструментов и всего, что крутится на Python.

Github

#python #docker #poetry #uv #devtools #opensource #cli

@pythonl

Читать полностью…

Python/ django

🚀 Летняя школа бэкенда Яндекса открыла набор!

Хочешь провести лето с пользой, развивая реальные сервисы в команде с профи? Это твой шанс!

Если ты:
• Уверенно пишешь на Python, Java или C++
• Понимаешь основы алгоритмов и структур данных
— подавай заявку в Летнюю школу бэкенд‑разработки Яндекса.

🗓 Формат обучения:
• 2 июня – 27 июля — онлайн-лекции и практика
• 28 июля – 24 августа — работа над проектами (онлайн или офлайн)

💡 Что тебя ждёт:
• Реальные задачи и работа в фулстек-команде
• Наставничество от инженеров Яндекса
• Возможность получить офер: >50% выпускников становятся стажёрами или сотрудниками компании
• Нетворкинг, лекторий и крутая атмосфера

📍Участие бесплатное.
🕓 Заявки принимаются до 27 апреля. Не упусти!

🔗 Подробнее

#backend #летняяшкола #яндекс #стажировка #разработка #python #java #cplusplus

Читать полностью…

Python/ django

⚡️Поступили новости от Kaspersky!

В «Лаборатории Касперского» стартовал набор на оплачиваемую стажировку SafeBoard по нескольким направлениям тестирования! Если ты студент вуза Москвы/МО или учишься в Школе 21 и готов(а) работать от 20 часов в неделю, присоединяйся к нашим IT-командам.

Ты научишься интересным задачам:

Разрабатывать подходы и методики тестирования;
Анализировать требования и проектную документацию;
Участвовать в развитии тестового фреймворка на Python;
Поддерживать CI/CD;
Расширять тестовое покрытие для KasperskyOS.

Тебя ждет зарплата, компенсация питания и крутая атмосфера в офисе: спортзал, сауна, игровые комнаты, кофейные паузы и многое другое 😇

Делай крутые тесты, регистрируйся https://kas.pr/bn12?erid=2W5zFJhkKRr

Реклама. Рекламодатель АО «Лаборатория Касперского» ИНН 7713140469

Читать полностью…

Python/ django

Инженеры и любители работать с железом, отмечаем даты: 25 и 26 апреля в Москве пройдет Repair Cafe.

Когда-то Яндекс начинался с Поиска, а сегодня в компании полный in-house цикл производства железа: роботы-доставщики, автономный транспорт, умные устройства для дома и многое другое. И для тех, кто разделяет этот инженерный дух и не боится пробовать и создавать, Яндекс проводит Repair Cafe.

Оба дня будет работать мастерская — сердце всего мероприятия. Место для тех, кто хочет припаять контакты, починить наушники или разобрать проигрыватель под чутким присмотром опытных наставников. Там же будет доступно целое меню паяльников и нужных запчастей. А любителей ретро-железа ждет починка культового ПК «Ленинград», который выпускался еще в конце 80-х годов.

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

Зарегистрироваться и ознакомиться с программой можно здесь. Прием заявок открыт до 16 апреля.

Читать полностью…

Python/ django

🖥 Ibis — SQL и Python в одном флаконе

Надоело переключаться между SQL и pandas?

Ibis — это библиотека, которая объединяет лучшее из двух миров: SQL-запросы и Python-пайплайны в одном коде.

📦 Установка (с DuckDB и примерами):


bash pip install 'ibis-framework[duckdb,examples]'


🔍 Пример:


import ibis
penguins = ibis.examples.penguins.fetch()

# SQL внутри Python
res = penguins.sql(\"""
SELECT species, island, count(*) AS count
FROM penguins GROUP BY 1, 2
\""")

# Python-стиль фильтрации и сортировки
res.order_by("count")



┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━┓
┃ species ┃ island ┃ count ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━┩
│ string │ string │ int64 │
├───────────┼───────────┼───────┤
│ Adelie │ Biscoe │ 44 │
│ Adelie │ Torgersen │ 52 │
│ Adelie │ Dream │ 56 │
│ Chinstrap │ Dream │ 68 │
│ Gentoo │ Biscoe │ 124 │
└───────────┴───────────┴───────┘


📌 Что умеет Ibis: — SQL-прослойка прямо по датафреймам
— Один и тот же код работает с DuckDB, PostgreSQL, BigQuery, SQLite и др.
— Унифицированный синтаксис независимо от движка
— Отлично вписывается в data science-пайплайны

📊 Где пригодится:
— Аналитика
— Дашборды
— EDA и быстрые прототипы
— Интеграция SQL в ноутбуках без боли.

Совместим с Jupyter, Airflow, и всей питоновской экосистемой.

🔗 Подробнее
🔗 Github

@pythonl

Читать полностью…

Python/ django

🖥 Watchdog — это библиотека, специализирующаяся на отслеживании изменений в файловой системе, но в стильном дизайне.

Инструмент даёт возможность фиксировать любые операции с файлами и директориями (создание, удаление, модификация, перемещение) и поддерживает работу в средах Linux, macOS и Windows

Библиотека будет особенно полезна в таких случаях, как:
▪ автоматический перезапуск серверов при обновлениях файлов
▪ обработка вновь загружаемых файлов в заданную директорию
▪ синхронизация содержимого папок
▪ создание механизмов резервного копирования, оперативно реагирующих на изменения

🔗 Watchdog
🔗 Документация

@pythonl

Читать полностью…

Python/ django

🗂️ Ballista — распределённый движок запросов, построенный на базе Apache DataFusion. Инструмент позволяет параллельно выполнять запросы на множестве узлов, сохраняя совместимость с существующими SQL-запросами, включая сложные JOIN, подзапросы и CTE.

Развёртывание упрощено благодаря Docker-образам и поддержке Kubernetes, а встроенные бенчмарки показывают, что Ballista уже способна конкурировать с Spark по скорости обработки TPC-H-подобных запросов.

🤖 GitHub

@pythonl

Читать полностью…
Subscribe to a channel