🛠 Тестируем Python-проекты с разными версиями с помощью `uv` и `uv-test`
Удобная комманда для запуска тестов проекта против нескольких версий Python. Ключевой приём:
Например, для проекта с
▶️
▶️
▶️
uv-test: скрипт для упрощения
Чтобы не вводить длинную команду каждый раз, можно использовать простой helper-скрипт:
▶️ По умолчанию использует Python 3.14.
▶️ Можно указать версию через
▶️ Все дополнительные аргументы передаются в
Скрипт проверяет наличие
💡 Результат: быстрое тестирование проекта на любых версиях Python без лишнего геморроя с окружениями и контейнерами.
🐸 Библиотека питониста
#буст
Удобная комманда для запуска тестов проекта против нескольких версий Python. Ключевой приём:
uv run --with-editable .[test]
Например, для проекта с
[test]
extras:cd /tmp
git clone https://github.com/simonw/datasette
cd datasette
uv run --python 3.14 --isolated --with-editable '.[test]' pytest -n auto
--isolated
— чтобы окружение было чистым.--with-editable '.[test]'
— ставит проект в editable mode, чтобы изменения сразу отражались.-n auto
— pytest-xdist использует все CPU автоматически.uv-test: скрипт для упрощения
Чтобы не вводить длинную команду каждый раз, можно использовать простой helper-скрипт:
uv-test -p 3.14 -k permissions -vv
-p
.pytest
.Скрипт проверяет наличие
uv
и pyproject.toml
/setup.py
, чтобы не запускать тесты не из корня проекта.💡 Результат: быстрое тестирование проекта на любых версиях Python без лишнего геморроя с окружениями и контейнерами.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
Свежий релиз Python 3.14 снова подвинул границы производительности.
Проведённые бенчмарки показывают — прирост скорости чувствуется и в рекурсии, и в итерациях, и даже в многопоточности.
Что тестировали:
fibo(40)
(рекурсия) и bubble sort
(10 000 элементов)Результаты:
📍 Fibonacci (1 поток)
— Python 3.14 в среднем на 27% быстрее, чем 3.13.
— С версии 3.11 Python вышел из категории «медленный язык» в «уже вполне быстрый».
— Pypy по-прежнему монстр — ≈ 5 раз быстрее CPython 3.14, Rust — в 70 раз.
📍 Bubble sort (1 поток)
— Прирост скромнее — около 10%, но 3.14 всё ещё самый производительный CPython.
— Pypy — в 18 раз быстрее, Node — в 6 раз, Rust — в 36 раз.
📍 JIT vs Free-Threading
— JIT почти не ускорил код — эффект минимальный.
—А вот free-threading (без GIL) реально раскрылся: в многопоточном режиме Python 3.14 FT работает в 3 раза быстрее, чем стандартный интерпретатор.
Ключевые инсайты:
— Python 3.14 — самый быстрый CPython на сегодня
— Версии 3.11+ — огромный шаг вперёд
— JIT ещё сырый, но потенциал есть
— Free-threading — игра меняет правила для многопоточных нагрузок
— Pypy по-прежнему король скорости
Интересно, как free-threading поведёт себя в реальных ML и backend-нагрузках.
Уже кто-то пробовал запускать свои пайплайны на 3.14 FT? Делитесь наблюдениями
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6🔥3
Почему Django фреймворк получил такое название?
Anonymous Quiz
36%
Вчесть гитариста Джанго Рейнхардта
15%
В честь персонажа Тарантино
43%
Это аббревиатура “Dynamic JSON API”
7%
Случайный выбор генератора имён
❤3👍1
🧩 Практика и обучение
— С чего начать? 10 учебных проектов на Python для вашего GitHub — подборка идей для прокачки с примерами и репозиториями.
— EDA в Python для новичков: что почитать и где попрактиковаться — вводное руководство по разведочному анализу данных и полезные ресурсы для старта.
— Топ-5 библиотек Python, которые должен знать каждый новичок — подборка базовых инструментов, которые стоит освоить каждому начинающему разработчику.
⚙️ Инструменты и продвинутая практика
— Настраиваем Docker для Django — как упаковать Django-проект в контейнер и избежать типичных ошибок.
— 12 фишек в административной панели Django, которые экономят мне 12 часов в неделю — скрытые возможности Django Admin, которые повышают продуктивность.
— Регулярная катастрофа и как её избежать. Подход к регулярным выражениям — разбор ошибок и практические советы по безопасному использованию regex.
🧠 Новости и размышления
— Релиз Python 3.14 — свежий релиз с улучшенной производительностью и новыми возможностями.
— Вышел Python 3.14. Насколько он быстр? — анализ тестов производительности и сравнение с предыдущими версиями.
— PEP 8 как религия: почему Python сам не соблюдает свои же правила — размышления о кодстайле и двойных стандартах в экосистеме Python.
— Django 6.0: Ключевые функции, критические изменения — обзор нового мажорного релиза, на который стоит обратить внимание.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Библиотека задач по Data Science | тесты, код, задания
😁9😢3
This media is not supported in your browser
VIEW IN TELEGRAM
В proglib.academy — Глобальная распродажа знаний ‼️
💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.
👉 Успей забрать свой курс на proglib.academy
💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.
Курсы с практикой, без воды и пафоса.
Просто берёшь и делаешь апгрейд.
👉 Успей забрать свой курс на proglib.academy
😁5❤1👍1
Почему вообще нужен PyOCI? Потому что не хочется зависеть от очередного «облачного провайдера» только ради того, чтобы хранить приватные Python-пакеты.
PyOCI делает так, что любой OCI-registry (вроде ghcr.io или Azure Container Registry) начинает работать как обычный Python-index.
То есть можно использовать GitHub Packages как приватный PyPI — с уже встроенной системой доступа и без лишней настройки.
pip
и вашим OCI-registry.Пример установки:
pip install --index-url="https://<user>:<token>@pyoci.com/<registry>/<namespace>/" <package>
Пример: установка пакета
hello-world
из организации allexveldman
через ghcr.io
:pip install --index-url="https://$GITHUB_USER:$GITHUB_TOKEN@pyoci.com/ghcr.io/allexveldman/" hello-world
Идеально подходит, если хочется:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1👏1
7 самых мощных фич новой версии, которые стоит знать 👇
Новый синтаксис
t""
(PEP 750) — как f-строки, но безопасные.Они предотвращают SQL-инъекции и другие уязвимости, возвращая объект
Template
, а не str
.Meta-разработанный алгоритм компрессии zstd теперь в стандартной библиотеке.
Больше никаких
NameError
при аннотациях внутри классов!Теперь Python лениво вычисляет типы только при обращении.
Терминал Python теперь ближе к IDE:
подсветка синтаксиса, умное автодополнение — даже без VSCode.
Теперь Python предупреждает, если в
finally
встречаются return
, break
, continue
.Теперь без лишних скобок:
except ZeroDivisionError, TypeError:
Самое ожидаемое: Free-threaded Python официально поддерживается!
Без глобального интерпретатора блокировки (GIL).
— Обычный Python: 12.65 сек
— Free-threaded Python: 3.16 сек
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👾6❤4
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом
В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.
В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;
🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября
👉 Записаться на курс
В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.
В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;
🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября
👉 Записаться на курс
👍1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
Инструмент PyPIPlus мгновенно показывает все зависимости любого Python-пакета с PyPI.
Полезно для дата-сайентистов:
Идеально для: подготовки окружений, деплоя моделей, аудита сторонних библиотек и управления зависимостями.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5
📚 Классика, которая не стареет: курс по структурам данных
Одни из легендарных лекций по структурам данных от MIT, где каждая лекция — как путешествие в глубину компьютерной науки.
Темы, которые остаются актуальными и сейчас:
➡️ Time travel — персистентные структуры данных: как «помнить прошлое», но не менять его.
➡️ Geometry — работа с многомерными данными (карты, таблицы, базы).
➡️ Dynamic optimality — идеальное дерево поиска: существует ли оно вообще?
➡️ Memory hierarchy — оптимизация работы с кэшем, даже не зная его размера.
➡️ Hashing — самая используемая структура данных в мире, и до сих пор поле активных исследований.
➡️ Integers — когда логарифм слишком медленно, а константа — возможна.
➡️ Dynamic graphs — как быстро пересчитывать граф при изменениях связей.
➡️ Strings — поиск подстрок в гигантских текстах (Google, ДНК и всё между).
➡️ Succinct structures — структуры, которые занимают почти столько же места, сколько сами данные.
🎓 Ссылка на лекции от MIT
Хочешь прокачаться в алгоритмах с практикой и поддержкой?
— Алгоритмы и структуры данных
⚡️ Сейчас действует акция –40% на курс и ещё несколько программ.
🐸 Библиотека питониста
#буст
Одни из легендарных лекций по структурам данных от MIT, где каждая лекция — как путешествие в глубину компьютерной науки.
Темы, которые остаются актуальными и сейчас:
🎓 Ссылка на лекции от MIT
Хочешь прокачаться в алгоритмах с практикой и поддержкой?
— Алгоритмы и структуры данных
⚡️ Сейчас действует акция –40% на курс и ещё несколько программ.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥1
🧐 Хочешь в Data Science, но не знаешь, с чего начать?
Пройди короткий тест по математике — бот покажет, насколько ты готов к переходу и что стоит подтянуть.
👉 Пройти тест
Пройди короткий тест по математике — бот покажет, насколько ты готов к переходу и что стоит подтянуть.
Всего пару минут — и ты поймёшь, куда двигаться дальше.
👉 Пройти тест
👍3❤1
Пока все обсуждают Python 3.14, уже вышла Python 3.15 Alpha.
Что нового:
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥2
🎲 Мы не только учим, но и играем!
На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.
‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.
👉 Записаться на курс
На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.
‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.
👉 Записаться на курс
👍1
🤖 Hypothesis — пусть Python сам придумывает тесты
Хотите тестировать Python-код умнее, а не больше?
Попробуйте Hypothesis — библиотеку, которая сама генерирует тестовые данные и помогает находить неожиданные крайние случаи.
Вместо десятков однотипных тестов вы просто описываете свойства, которые ваш код должен соблюдать — всё остальное Hypothesis сделает за вас.
👉 Это не просто «юнит-тесты», а полноценное исследование поведения программы. Отличный способ обнаружить скрытые баги ещё до продакшна.
🔗 Документация и код: https://clc.to/NlOt_g
🐸 Библиотека питониста
#буст
Хотите тестировать Python-код умнее, а не больше?
Попробуйте Hypothesis — библиотеку, которая сама генерирует тестовые данные и помогает находить неожиданные крайние случаи.
Вместо десятков однотипных тестов вы просто описываете свойства, которые ваш код должен соблюдать — всё остальное Hypothesis сделает за вас.
👉 Это не просто «юнит-тесты», а полноценное исследование поведения программы. Отличный способ обнаружить скрытые баги ещё до продакшна.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🔥 PyTorch 2.9: новые возможности и улучшения
Новая версия приносит улучшения в производительность, переносимость и опыт разработчика:
🔜 Стабильный libtorch ABI для C++/CUDA расширений
🔜 Symmetric memory для мульти-GPU ядер
🔜 Расширенная поддержка wheel: ROCm, XPU, CUDA 13
🔜 Оптимизации для Intel, Arm и x86
С 3,216 коммитами от 452 участников, PyTorch 2.9 продолжает развивать open source AI для разработчиков по всему миру.
🟡 Полный блог о релизе: https://clc.to/Pvqrqw
🐸 Библиотека дата-сайентиста
#свежак
Новая версия приносит улучшения в производительность, переносимость и опыт разработчика:
С 3,216 коммитами от 452 участников, PyTorch 2.9 продолжает развивать open source AI для разработчиков по всему миру.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥1
Самые заметные и полезные нововведениями Python 3.14 — без теоретических JIT и free-threading, только практичные вещи, которые можно использовать уже сегодня
— REPL и PDB получили синтаксическую подсветку,
—
unittest
теперь подсвечивает тесты (зелёные — прошли, красные — упали),—
argparse
и json
выдают цветной вывод,— даже
calendar
теперь выделяет текущую дату.Пример:
$ python -m unittest
..F
======================================================================
FAIL: test_example (tests)
----------------------------------------------------------------------
AssertionError: Expected 42 != 0
# Теперь ошибки — красным, успехи — зелёным
Теперь можно копировать и перемещать файлы без
shutil
:from pathlib import Path
source = Path("readme.txt")
destination = Path("docs/readme.md")
source.copy_into(destination.parent)
source.move(destination)
Python теперь подсказывает опечатки:
improt math
# SyntaxError: invalid syntax. Did you mean 'import'?
Пример:
import col<TAB>
# collections, colorsys
Больше не нужно идти через datetime:
from datetime import date
date.strptime("2026-03-14", "%Y-%m-%d")
# datetime.date(2026, 3, 14)
Пример:
from uuid import uuid7
print(uuid7())
# UUID('0199b0ac-10b0-7628-8c45-96ab90bcc870')
Больше никаких скобок:
try:
int("abc")
except ValueError, TypeError:
print("Invalid number")
InterpreterPoolExecutor
из concurrent.futures
позволяет запускать несколько интерпретаторов Python в одном процессе, но с отдельными GIL — почти как multiprocessing, только легче.💡 Если вы хотели повод обновиться — вот он.
Если хочется разобраться, как Python устроен изнутри — от ссылок и памяти до потоков и архитектуры интерпретатора,
рекомендуем курс Программирование на языке Python.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
👍2