Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
🔠🔠 — убийца 🔠🔠🔠 и 🔠🟢🔠🔠🔠🔠 ❓

Знакомьтесь: uv от Astral (те же ребята, что сделали Ruff). Это менеджер пакетов на Rust, который в 10-100x быстрее обычного pip.

Зачем он нужен, если есть poetry?


✅ Скорость — установка зависимостей за секунды, а не минуты
✅ Универсальность — заменяет pip, poetry, pyenv, virtualenv и pip-tools сразу
✅ Стандарты — полная совместимость с pyproject.toml
✅ Совместимость — лучше разрешает конфликты версий, чем poetry

Миграция за 3 команды:

# Установка
curl -LsSf https://astral.sh/uv/install.sh | sh

# Создаём окружение (вместо python -m venv)
uv venv

# Устанавливаем зависимости из pyproject.toml
uv pip install -e .


Ключевые отличия от poetry:

🔹 uv pip — дроп-ин замена pip (работает с requirements.txt)
🔹 uv run — запускает скрипты в изолированном окружении без активации venv
🔹 uv lock — генерирует lock-файл (как poetry.lock, но быстрее)

Готовый workflow для проекта:

uv init myproject      # создаёт структуру проекта
uv add fastapi # добавляет зависимость
uv run main.py # запускает с автоматической установкой
uv build && uv publish # сборка и публикация


Стоит ли мигрировать?

Да, если:
- Устали от медленного poetry на больших проектах
- Нужна простота pip + скорость Rust
- Работаете в CI/CD — экономия времени критична

Пока подождите, если:
- Сложный setup с плагинами poetry
- Активно используете poetry shell (в uv пока нет прямого аналога)

Личный опыт: на проекте с 50+ зависимостями установка сократилась с 2 минут до 8 секунд. Poetry удалять пока не спешу, но для новых проектов — только uv


Пробовали uv? Делитесь опытом в комментах 👇

#python #uv #packaging #devtools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1💯1
🐍 Pydantic v2: Встречайте новую эру валидации данных!

Если вы работаете с Python, то наверняка знакомы с Pydantic — «телохранителем» вашего кода, который следит, чтобы в переменные не попало ничего лишнего. Но пришло время двигаться дальше: вторая версия библиотеки — это не просто минорное обновление, а настоящий технический скачок!

Что же изменилось и почему вам стоит обновиться прямо сейчас?

🔜 Скорость, за которую не стыдно
Главная новость: ядро Pydantic v2 полностью переписано на Rust. Это значит, что валидация стала быстрее в 5–50 раз! Теперь проверка огромных JSON-файлов не будет «бутылочным горлышком» вашего приложения.

🛠 Что нового в коде?
Разработчики навели порядок в API, сделав его более логичным и предсказуемым:
• Префикс model_: Теперь все встроенные методы начинаются одинаково (например, model_validate() вместо старого from_orm()). Это исключает путаницу с вашими собственными полями.
• Strict Mode: Теперь можно заставить Pydantic быть «строгим». Больше никакой автоматической конвертации строки "123" в число, если вы этого явно не разрешили.
• TypeAdapter: Теперь можно валидировать простые типы (например, список строк или словарей) без создания целого класса модели.

🎢 Как переехать с v1 и не сломать всё?
Миграция может показаться пугающей, но команда Pydantic позаботилась о нас:
1. Пакет pydantic.v1: Вы можете использовать обе версии в одном проекте параллельно. Это позволяет обновлять код по частям, а не всё сразу.
2. Инструмент bump-pydantic: Это магическая утилита, которая автоматически перепишет большую часть вашего старого кода под новый стандарт.


А вы уже перешли на вторую версию или пока присматриваетесь? Поделитесь в комментариях, какой функции вам больше всего не хватало в v1

#Python #Pydantic #Backend #Programming #WebDevelopment
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1😁1