Хитрый Питон
2.6K subscribers
4 photos
222 links
Я много читаю и делюсь в этом канале заинтересовавшими меня материалами, в основном про Python. @korneevm
Download Telegram
PyPi анонсировали новую фичу для публикации пакетов - Trusted Publishers. Грубо говоря - это возможность использовать короткоживущие OIDC-токены вместо логина/пароля/токена для публикации пакетов на pypi.

Выглядит удобно, самый простой способ начать этим пользоваться - использовать готовый Github Action https://github.com/marketplace/actions/pypi-publish

Ссылка на блог - https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/
👍8
Небезызвестный Армин Ронахер - автор Flask - выложил свою замену pip/poetry/venv/pipenv/hatch и т.д. - `Rye. Написан на rust и явно под влиянием cargo. Выглядит довольно удобно - можно выбрать версию python, сам создает и мейнтейнит pyproject.toml, пакеты ставит с помощью pip-tools под капотом. В общем на странице проекта есть 10-минутное видео, где Армин показывает работу с rye.

Из минусов - похоже он не планирует активно заниматься проектом, поэтому возникает вопрос насколько можно его использовать за пределами личных проектов. Работает пока только на linux и mac. В общем буду посматривать, будет здорово если мы получим не еще один 100500-й менеджер пакетов, а популярный инструмент, который составит хорошую конкуренцию существующим.

Ссылка на репо - https://github.com/mitsuhiko/rye
🔥12👍8👎1
В debian теперь перестанет позволять делать pip install не в виртуальном окружении (https://peps.python.org/pep-0668/). Мотивация - чтобы нельзя было (просто) заменить пакеты установленные apt-ом на пакеты из pypi.

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

В Ubuntu это поведение будет поддержано уже в 23.04. Вот тут новость https://salsa.debian.org/python-team/packages/python-pip/-/blob/master/debian/NEWS
👍27
Вышел urllib3 2.0 над которым работали с 2020 года. Часть фичей похожа на то, к чему многие привыкли в requests:

- Добавили простой интерфейс для запросов urllib3.request() который сазу возвращает response.
- Сделали возможность удобно отправлять и принимать json
- Добавили тайп-хинты

Ссылка на новость о релизе https://sethmlarson.dev/urllib3-2.0.0
👍24
Полезная статья для тех, кто пользуется github actions - довольно простые, но полезные улучшения для пайплайнов. Мне лично приглянулся остановка уже работающего action-а если пришел новый коммит и кеширование установки зависимостей. Утяну себе - https://ashishb.net/tech/common-pitfalls-of-github-actions/
👍10
Сегодня первая пятница месяца и мы как обычно в прямом эфире Moscow Python Podcast удем обсуждать новости за апрель. В темах:

- как Гриша Петров съездил на Европейский PyCon;
- Python Software Foundation считают, что принятие европейского Product Liability Act может поставить под угрозу opensource-разработчиков;
- поддержку trusted publisher от PyPI;
- вышел новый менеджер пакетов от автора Flask;
- релиз одной из основопологающих библиотек - urlib3 2.0;
- в Debian-based дистрибутивах линукса больше нельзя делать pip install вне виртуальных окружений.

Приходите в 14:00 МСК к нам на ютуб https://www.youtube.com/live/vDhn3xE7qN0?feature=share
👍15🔥3
Сегодня 14:00 МСК встретимся в прямом эфире Moscow Python Podcast с Даниилом Мясниковым, руководителем Python-разработки в Контуре. Вместе с гостем обсудим:
→ как занести Python в моностековую компанию, где тысяча разработчиков на C#;
→ сложности, которые видят шарписты в Python;
→ на что обращать внимание при внедрении нового стека.

В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
🔥5👍3
Привет, последнее время был загружен и не писал новости в канал. Но тем не менее новостной выпуск подкаста записываем сегодня в 14:00 МСК на ютубе - приходите.

В этом выпуске обсудим новости за май:

🟡как прошел Python Language Summit 2023;
🟡субинтерпретаторы, как способ обойти ограничение GIL;
🟡обновления в PyPi;
🟡релиз Python 3.12 beta 1.

➡️Когда: 2 июня в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
На ютубе опубликовали видео с прошедшей PyCon US 2023. В плейлисте около 140 роликов, я конечно пока не разбирал подробно, что там интересного, но на первый взгляд есть что посмотреть https://www.youtube.com/watch?v=eZwHvBsoPn4&list=PL2Uw4_HvXqvY2zhJ9AMUa_Z6dtMGF3gtb
🔥19👍6
В 2020 году github обещал добавить в GitHub Packages поддержку работы с python-пакетами - т. е. pypi для репозиториев. Было бы удобно для всякий приватных задач, особенно тем, у кого весь код живет на гитхабе. Но вот вчера они написали, что приоритеты сменились и эту фичу выкинули из планов https://github.com/github/roadmap/issues/94#issuecomment-1581086839

На gitlab такая фича есть но, когда я использовал ее для реальных проектов работало оно странно и создавало проблемы, оказалось проще поднять свой приватный pypi.
🔥5👍1
StackOverflow выпустил результаты очередного опроса разработчиков

• Документацию читают чаще stackoverflow (разница более 7%), это возвращает веру в человечество
• Python на 3-м месте по популярности - на 2-м после javascript, если не считать html/css языком программирования
• Postgres вышел на 1-е место по популярности у профессиональных разработчиков, у новичков популярнее MySQL
• AWS самое популярное облако, вдвое обгоняет второе место (Azure)
• jQuery на 3-м месте по популярности фреймворков, Flask немного популярнее Django
• Visual Studio Code вдвое популярнее чем следующая по популярности IDE (если объединить Idea, PyCharm, WebStorm, phpStorm и Goland)
• Медианная зарплата разработчиков выросла на 10% по сравнению с 2022
• В опрос добавили много вопросов посвящено использованию AI-тулзов. Почти 50% опрошенных как-то используют ai-тулзы в работе, 77% относятся к их использованию положительно
• 80% процентов разработчиков работают в гибридном или полностью удаленном формате, офисы с печеньками нинужны
• 70% процентов разработчиков пишут код в качестве хобби и это прекрасно

Ссылка на исследование https://survey.stackoverflow.co/2023/
🔥23👍14👎1
Завтра в прямом эфире Moscow Python вместе с Никитой Соболевым (wemake.services) и Сергеем Петровым (Selectel) подробно обсудим типизацию Python и все связанное с ней.

➡️Когда: 16 июня в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

На трансляции ответим на вопросы и комментарии в прямом эфире.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22
Я немного пропустил - оказывается на прошлой неделе вышел Fastapi 0.100.0 с поддержкой pydantic 2. Обещают большую прибавку в производительности, но, конечно, это будет зависеть от реальных кейсов.

Поддержка pydantic v1 пока на месте, но ее будут постепенно деприкейтить. Ну и рекомендуют использовать https://github.com/pydantic/bump-pydantic для упрощения себе перехода с pydantic v1 на pydantic v2.

Ссылка на release notes https://github.com/tiangolo/fastapi/releases/tag/0.100.0
👍23
В первую пятницу месяца новостного выпуска не было по техническим причинам. Поэтому будем записывать новостной выпуск завтра:

🟡 результаты опроса разработчиков от Stackoverflow;
🟡 PEP 594 – в Python 3.13 удалят еще 20 модулей stdlib;
🟡 PSF Board 2023;
🟡 PSF нашли специалиста по безопасности;
🟡 записи с PyCon US и DjangoCon Eu;
🟡 релиз JupyterLab 4.

➡️Когда: 14 июля в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍2
Небезызвестный Дэвид Бизли, книгу которого я рекомендовал в одном из последних подкастов, выпустил бесплатный курс Advanced Python Mastery. Это github-репозиторий с pdf-слайдами и упражнениями. Я пробежался по курсу и мне понравилось — это материал для тех, кто уже работает с python и хочет знать язык глубже:

- как устроены стандартные типы данных "под капотом"
- как устроены объекты и ООП в Питоне
- основы функционального программирования
- что такое метаклассы, как ими пользоваться и почему они вам скорее всего не нужны)
- декораторы, корутины, генераторы и много всего другого

Это явно не приключение на 20 минут, и чтобы пройти курс понадобится время и терпение, но это точно даст гораздо более глубокое понимание, как устроен python и как из него извлекать больше пользы 🙂

Ссылка на курс https://github.com/dabeaz-course/python-mastery
👍61🔥26
Если вы используете Django ORM и слышали слова "Кверисеты" и "Менеджеры", но не очень понимаете, что это такое, то эта статья может помочь. Написано довольно просто и с вменяемыми примерами - https://fly.io/django-beats/organizing-database-queries-managers-vs-querysets/
🔥15👍6
Интересный обзор различных библиотеке логирования для python - рассматривают 5 third-party библиотек плюс logging из стандартной библиотеки. Если вы используете стандартный logging - посмотрите на альтернативы, они гораздо удобнее и гибче в настройке https://betterstack.com/community/guides/logging/best-python-logging-libraries/
👍21
Амазон выкатил поддержку python 3.11. По идее это должно несколько ускорить выполнение кода в лямбдах и помочь сэкономить немного денег (кажется я понимаю, почему они так долго тянули с поддержкой 3.10/3.11 :)))
https://aws.amazon.com/blogs/compute/python-3-11-runtime-now-available-in-aws-lambda/
👍16🔥2
Завтра (4 августа) первая пятница месяца, поэтому в 14:00 по Москве будет обычный новостной выпуск Moscow Python Podcast на котором обсудим:

🟡 релиз Pydantic 2;
🟡 поддержку Pydantic 2 в FastAPI;
🟡 PEP 703 — поддержка опционального GIL;
🟡 PSF ищет человека на улучшение процессов разработки Cpython;
🟡 Амазон выкатил поддержку Python 3.11 в лямбдах;
🟡 Дэвид Бизли выпустил бесплатный курс Advanced Python Mastery.

➡️Когда: 4 августа в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍1
Интересный разбор использования pyinstrument для профилирования асинхронного кода (в данном случае FastAPI). Если приходится сталкиваться с тем, что что-то тормозит, но не очень понятно, что именно - будет полезно почитать https://blog.balthazar-rouberol.com/how-to-profile-a-fastapi-asynchronous-request
🔥26👍2