Хитрый Питон
2.6K subscribers
4 photos
222 links
Я много читаю и делюсь в этом канале заинтересовавшими меня материалами, в основном про Python. @korneevm
Download Telegram
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
Вышел Litestar 2.0 (бывший starlite) - фреймворк который мне последнее время очень нравится. Количество изменений большое, из интересного:

- pydantic теперь опционален, вместо него можно из коробки использовать attrs или msgspec
- улучшенная интеграция с sqlalchemy
- каналы для стриминга/подписки на события, пока есть memory и redis-бекенды
- поддержка работы с htmx

Подробности можно посмотреть вот тут https://blog.litestar.dev/litestar-2-0-release-769e299a847
🔥29👍1
Что нового в Python за август — обсуждаем в прямом эфире

Сегодня проведем традиционный эфир про новости из мира Python за август и обсудим:

🟡релиз Litestar 2.0 (бывший starlite);
🟡поддержка Python в Microsoft Excel;
🟡PEP 723 – Embedding pyproject.toml in single-file scripts;
🟡PEP 683 – Immortal Objects, Using a Fixed Refcount;
🟡безопасностью PyPI займется Safety and Security Engineer;
🟡2FA в PyPI для всех новых пользователей.

➡️Когда: 1 сентября в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3
Вышел Flask 3.0, из самого интересного - обособили части фреймворка не связанные с io, чтобы другие фреймворки (в частности, асинхронный Quart) могли строиться на одной кодовой базе и лучше поддерживать совместимость.

Вроде бы идут разговоры о полном объединении с Quart в району 4.0 но как будут решать тот-же вопрос совместимости с расширениями - не ясно. https://flask.palletsprojects.com/en/3.0.x/changes/
👍28🔥1
Вышел python 3.12, из самых интересных новинок:

- Новое api для профайлинга/дебага - должно позвонить сильно сократить накладные расходы на профилирование python-кода
- Переработали парсер f-строк, теперь в f-строки можно запихивать сложные синтаксические конструкции (например 'str'.join())
- Улучшили читаемость exception-ов, чтобы было понятнее что именно поломалось в коде
- List comprehensions теперь будут отрабатывать быстрее, ну и в целом обещают до 5% улучшения производительности
- Ускорили asyncio и обещают прирост производительности до 75%
- У субинтерпритаторов теперь отдельный GIL, правда пока как и раньше они доступны только из C-api
- Несколько изменений в типизации, самое на мой взгляд интересное - теперь можно использовать ключевое слово type для объявления своих type alias
- Выпилили distutils

Подробнее вот тут https://docs.python.org/dev/whatsnew/3.12.html
🔥60👍8
JetBrains выпустили результата Python Developers Survey 2022. Вот несколько моментов, которые показались мне любопытными:

- Python 2 до сих пор используют около 7% опрошенных
- Flask и Django занимаю 1 и 2 место по популярности, FastAPI на 3-м месте
- Из фреймворков для тестирования самый популярный pytest, который используют более 50% опрошенных
- На 5% больше, чем в прошлом году стали использовать облачные платформы
- Самая популярная платформа для разработки - Linux, Windows на втором месте
- Github Actions стали самым популярным CI-решением
- Из инструментов автоматизации работы с зависимостями Poetry на первом месте, 2 и 3 по популярности ним pipenv и pip-tools
- 34% опрошенных участвовали в разработке библиотек

Ссылка на отчет https://lp.jetbrains.com/python-developers-survey-2022/
👍29
Привет! Сегодня будет традиционный ежемесячный эфир про новости Python, темы:

🟡релиз Python 3.12;
🟡релиз Flask 3.0;
🟡результаты Python Developers Survey 2022;
🟡Python-редактор в Excel.

➡️ Когда: сегодня, 13 октября в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥5
Для FastApi выпустили документацию к коду. Какие доступны классы, какие у них методы, что принимают/отдают — вот это вот все. Поиск по коду дело хорошее, но тут удобно то, что поиск по документации на сайте сразу будет показывать спецификацию. https://fastapi.tiangolo.com/reference/
🔥44👍12
Сегодня будет прямой эфир Moscow Python Podcast со Станиславом Змиевым из Monite. Обсудим:

🟡как делался pathlib.Path.walk в 3.12;
🟡как работает большой Open Source на примере CPython.

➡️Когда: сегодня, 20 октября в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6
Вышла первая бета Django 5.0, а значит значимого изменения состава релиза уже не будет и можно смотреть, что завезли:

1. Много поддержки асинхронности - в contrib.auth, возможность получить и обработать asyncio.CancelledError внутри вьюхи, если клиент разорвал соединение до того, как мы закончили обрабатывать запрос, поддержка асинхронки в куче декораторов, асинхронная отправка сигналов, новые асинхронные методы у моделек
2. На первом месте довольно спорная фича - возможность показывать количество фильтруемых объектов в боковом фильтре в админке. Там под капотом COUNT и естественно на более-менее приличных объемах данных тормозить будет нечеловечески. Благо можно глобально отключить
3. Упрощенная шаблонизация для форм из коробки, для тех кто работает с html-формами код станет читабельнее (хотя думается мне, что те кто работает с большими формами уже давно что-то подобное у себя реализовали)
4. Возможность задавать дефолты на уровне базы данных
5. `GENERATED`-поля в моделях, значение которых рассчитывается на уровне БД
6. В Choice-полях теперь можно использовать словарь, вместо кортежей

В общим никаких революций https://docs.djangoproject.com/en/5.0/releases/5.0/
👍23
Новости nogil. Steering Council принял PEP 703 - опциональный gil из коробки. На discuss.python.org большой пост про это, я приведу только заинтересовавшие меня моменты:

Пока нет уверенности, что выпиливание gil не поломает совместимость со сторонними либами, не сделает интерпретатор медленнее на 10–15% и не усложнит его поддержку. Выбрали вполне ожидаемый подход - реализуем и посмотрим, как пойдет, потому что на прототипах и теоретических выкладках далеко не уедешь.

Как и предполагали раньше, все будет происходить в несколько этапов:

1. Возможность отключить gil на этапе сборки — это точно не продакшен решение, а инструмент для авторов библиотек и экспериментаторов
2. Финализация изменений API и ABI, после чего nogil-сборка будет уже считаться не экспериментальной но все еще не включаться по дефолту
3. Отключенный gil по умолчанию с возможностью включить при сборке

В общем планируют переходить очень постепенно и не загонять людей в светлое будущее палкой вплоть до того, что готовы отозвать PEP 703 если переход окажется слишком калечащим.

https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-in-cpython-acceptance/37075
🔥20👍6