Питонические атаки
1.2K subscribers
183 photos
4 videos
1 file
459 links
Всяческие заметки про программирование на Python и другие весёлые истории.
Download Telegram
Его уже не остановить.

Автор Ruff анонсировал утилиту uv — сверхбыстрый пакетный менеджер для Python, написанный, конечно же, на Rust. Пока что это drop-in замена для pip, venv и pip-tools, но глобальная цель — создать Cargo-like experience для Python. Если что, Cargo — это пакетный менеджер для Rust, рок-звезда среди пакетных менеджеров. Он получился настолько хорош, что все теперь его копируют.

Запоминайте, вместо:

pip install ruff


Теперь делаем:

uv pip install ruff

Анонс здесь: https://astral.sh/blog/uv
PYTHON_GIL=0

Скажи кто-нибудь лет 10 назад, что такое вольют в python... Никто бы не поверил

https://github.com/python/cpython/pull/116338
Forwarded from Хитрый Питон
Вышел ruff 0.4.0. Из интересного - они переписали парсер, который преобразует код в ast (abstract syntax trees). Это увеличит скорость работы ruff дополнительно на 20-40% что звучит здорово. Также новый парсер позволяет улучшить обработку ошибок парсинга, нарпимер сделав ошибки более читаемыми.
Также они добавили свой language server, написанный на rust для интеграции с редакторами кода, которые поддерживают language server protocol (LSP). Предыдущий lang server у них был написан на питоне.
Ну и как обычно много всяких улучшений/исправлений меньшего размера.
Ссылка на анонс https://astral.sh/blog/ruff-v0.4.0
Ссылка на ченджлог https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md#040
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from CPython notes
Смержили новый REPL!
https://github.com/python/cpython/pull/111567
В общем-то, реализация из PyPy.
Я, так как довольно часто пользуюсь реплом, доволен.
У uv (существует 13 недель) теперь больше звёздочек на гитхабе, чем у pip (существует 13 лет). Выводы делайте сами.
Stack Overflow запустили свой ежегодный опрос Developer Survey. Как можно заметить, я люблю читать результаты этих исследований и пытаться выдать диванную аналитику. Господа питонисты, нужно заполнить опросник, чтобы туда попали данные про нас с вами, чтобы мне потом было о чём рассуждать.

В этом году примерно треть опросника занимают вопросы про AI. А еще забавно видеть, что в вопросе с "другими библиотеками" появился вариант Ruff. Видимо, много шума наделала утилита, что даже попала на радары Stack Overflow.

Заполнить опрос можно до 7 июня.
Тем временем FastAPI уже стал лидером по количеству вакансий на хедхантере, обойдя Django.

При этом во многих вакансиях, конечно, упоминается знание нескольких фреймворков.

Но FastAPI — на коне!
Люблю ездить на конференции. Тут даже дело не столько в докладах — я их лучше потом дома в спокойной обстановке ещё раз послушаю. Скорее бóльшую ценность я выношу из разговоров, которые происходят в коридорах между докладами. Походишь, послушаешь, у кого что болит и как справляются, и становишься чуточку умнее. Познакомишься с кем-нибудь, зарядишься об других людей хорошим настроением и снова можно отправляться надирать задницу этому злобному продакшену. Смена обстановки, зарефлексировать около иллюминатора — тоже важно (я не житель столиц, так что у меня есть привилегия прям поехать на конференцию). Короче, конференция — это для меня всегда исключительно позитивное мероприятие ☕️

В частности, люблю ездить на PyCon Russia. Плотная программа с двумя параллельными треками (Python и Data), lightning talks, мастер-классы, клёвые активности в перерывах (кстати, надо потренироваться стоять на корточках на балансборде), after party, ламповая атмосфера. Я приезжал на эту конференцию в 2022 и в 2023, а так как зелёная сова приучила меня, что нарушать ударный режим нельзя, то в этом году я тоже собираюсь ехать. Приглашаю и вас тоже.

Из хедлайнеров фестиваля в этом году будут такие знаменитые спикеры (ладно, это просто те, кого я узнаю в лицо) как Николай Хитров, Григорий Петров, Денис Катаев и мой любимый стендап комик Денис Аникин. Будут доклады про архитектуру, перфоманс, Go, Rust, Python в браузере, Kubernetes, большие языковые модели и другое. Короче, лучше сами посмотрите программу и выберите интересное.

26-27 июля, Москва.
Программа: https://pycon.ru/program

Обязательно примените промокод PYTHONIC_ATTACKS — он даст скидку 7%.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Делаю вид что разбираюсь (Sergey Petrov)
Тут в питонячем клубе решили немного пошатать устои и поменять формат версионирования. Потому что все равно семвера уже нет — 3 на 4 никогда не поменяют, а в минорной версии не стесняются депрекейтить и удалять старое. Да и учитывая текущий график релизов удобно будет прибить версию к году, т.е. вместо 3.15 будет 3.26. И бонусом проще считать когда версия будет EOL — 26 + 5 = [20]31

А почему это предлагается сделать с 26 года? Ну потому что релиз с мемным номером 3.14 таки надо сделать в 25 году, а потом уже можно менять

https://peps.python.org/pep-2026/
https://discuss.python.org/t/pep-2026-calendar-versioning-for-python/55782
Линтеры он уже победил, следующие на очереди — форматтеры. Постепенно происходит adoption этой фичи, поэтому скачивания black уменьшаются. Форматтер в Ruff появился всего 14 месяцев назад.
Forwarded from Geeks (Шпак Aлександр)
Честно говоря, за последние пару лет я стал настоящим фанатом инструментов для разработки на Python от компании Astral. Сначала меня покорил линтер Ruff - теперь он есть во всех проектах, в которых я участвую. Недавно я попробовал uv и теперь каждый раз страдаю, когда приходится возвращаться к Poetry (но со временем заменю и его).

Стоит отметить, что uv и Ruff написаны на Rust, благодаря чему они работают значительно быстрее аналогичных инструментов на Python. Помимо скорости, они радуют достаточно удобной настройкой. Неудивительно, что оба инструмента стремительно набирают популярность в сообществе Python-разработчиков, и их востребованность только растет.

Сегодня Чарли Марш из Astral написал в Twitter X о новом инструменте - статическом анализаторе типов. Это отличная новость, и я уже с нетерпением жду релиза! По его словам, это самый амбициозный проект компании на данный момент, и в него уже внесено более 800 пул-реквестов. Пока что проект находится на ранней стадии разработки.

https://x.com/charliermarsh/status/1884651482009477368
Доброе утро, работяги! Сможете объяснить почему так? 😅
>>> list(list()) * 5
[]
>>> [[]] * 5
[[], [], [], [], []]
Много шума создал вайб-кодинг в последнее время. Я тоже имею кое-что сказать.

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

Сначала мне показалось, что прям круто. Пишешь ему, что тебе надо, а он и зависимости сам устанавливает нужные, и код пишет, делает какой-то README сразу. Запускаешь — работает. Если попросить, то и в Docker заворачивает, и Redis подключает. И файлы читает-исследует, и ошибки из терминала ловит. Вау. Я так вдохновился, что аж пет-проекты снова начал делать, хотя уже лет 5 этим не занимался.

Иногда прям удачно генерирует. А в другой раз — видимо, когда Луна выходит из нужной фазы — начинаются какие-то проблемы на ровном месте. Начинает терять файлы/функции, и вместо расширения существующих создавать новые. Пытается решить проблемы почему-то сменой версии библиотек — даунгрейдит её и даунгрейдит, хотя очевидно (мне), что это не поможет. Иногда в попытке решить проблему начинает ходить по кругу и меняет код туда-сюда. От всяких таких проблем иногда помогает создать новый чат (чтобы обнулить контекст), иногда сменить модель, а иногда только ручное вмешательство. Надо следить и пресекать попытки делать херню.

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

Если отклоняешься от мейнстримных технологий, то сразу всё становится хуже. Взбрело мне в голову заюзать YDB (это такая СУБД, которая имеет serverless режим в Yandex Cloud), модель мне очень уверенно сгенерировала абсолютно нерабочий код, который я потом еще часа 4 чинил. В целом-то похоже на правду, но вот почему-то не работает. Пришлось по-старинке читать документацию, искать примеры. А запросы для PostgreSQL фигачит в основном безошибочно. Всё время пытается использовать pip, хотя я велю использовать uv, но это поведение я таки обуздал, прописав правила в специальный конфиг .cursorrules, где на примерах объяснил как пользоваться uv. Видимо, uv — слишком свежая тулза, ещё не попала в обучающие выборки моделей в нужном количестве.

Если пытаться генерировать проекты целиком, то может получиться что угодно — как нерабочее говно, так и рабочее говно. Если двигаться небольшими итерациями и следить за выводом, то получается хорошо, но это уже почти то же самое, как кодить самому. Иногда реально проще сделать руками, чем объяснить как надо. Этим инструментом надо ещё научиться пользоваться, привыкнуть к такому стилю работы.

Ускоряет ли это работу? Да, наверное, да — зависит от того, насколько сильно вы будете всё контролировать и перепроверять. Заменит ли ИИ программистов? Ну, поживём-увидим. Прямо сейчас это точно не революция, которая превратит нас всех в курьеров, а скорее очередная итерация улучшения эргономики для тех, кто уже и так умеет программировать. Или снижает порог входа для тех, кто не умеет, но очень хочет. В любом случае, рекомендую попробовать попользоваться. Опыт интересный.

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