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/
• Документацию читают чаще 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/
Stack Overflow
Stack Overflow Developer Survey 2023
In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want.
🔥23👍14👎1
Завтра в прямом эфире Moscow Python вместе с Никитой Соболевым (wemake.services) и Сергеем Петровым (Selectel) подробно обсудим типизацию Python и все связанное с ней.
➡️ Когда: 16 июня в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
На трансляции ответим на вопросы и комментарии в прямом эфире.
На трансляции ответим на вопросы и комментарии в прямом эфире.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Типизация в Python
00:00 - интро
1:30 - типы это худшее или лучшее, что произошло с Python?
4:52 - что продвигает Никита
6:30 - нужно ли топить за типы
10:00 - PEP 692, TypedDict
13:24 - PEP 698, Override Decorator for static type
14:50 - PEP 695, Type Parameter Syntax
22:00…
1:30 - типы это худшее или лучшее, что произошло с Python?
4:52 - что продвигает Никита
6:30 - нужно ли топить за типы
10:00 - PEP 692, TypedDict
13:24 - PEP 698, Override Decorator for static type
14:50 - PEP 695, Type Parameter Syntax
22:00…
🔥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
Поддержка pydantic v1 пока на месте, но ее будут постепенно деприкейтить. Ну и рекомендуют использовать https://github.com/pydantic/bump-pydantic для упрощения себе перехода с pydantic v1 на pydantic v2.
Ссылка на release notes https://github.com/tiangolo/fastapi/releases/tag/0.100.0
GitHub
GitHub - pydantic/bump-pydantic: Convert Pydantic from V1 to V2 ♻
Convert Pydantic from V1 to V2 ♻. Contribute to pydantic/bump-pydantic development by creating an account on GitHub.
👍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
YouTube
опрос Stackoverflow / PEP 594 / PSF Board 2023 / релиз JupyterLab 4
00:00 — интро
1:15 — результат опроса разработчик от stackoverflow и что с ним не так
3:55 — Python в топ-3 популярных языков
6:14 — популярные облака
7:28 — jQuery в топ-3 популярных фреймворков, и Flask популярнее Django
10:56 — VS Code обогнала конкурентов…
1:15 — результат опроса разработчик от stackoverflow и что с ним не так
3:55 — Python в топ-3 популярных языков
6:14 — популярные облака
7:28 — jQuery в топ-3 популярных фреймворков, и Flask популярнее Django
10:56 — VS Code обогнала конкурентов…
🔥20👍2
Небезызвестный Дэвид Бизли, книгу которого я рекомендовал в одном из последних подкастов, выпустил бесплатный курс Advanced Python Mastery. Это github-репозиторий с pdf-слайдами и упражнениями. Я пробежался по курсу и мне понравилось — это материал для тех, кто уже работает с python и хочет знать язык глубже:
- как устроены стандартные типы данных "под капотом"
- как устроены объекты и ООП в Питоне
- основы функционального программирования
- что такое метаклассы, как ими пользоваться и почему они вам скорее всего не нужны)
- декораторы, корутины, генераторы и много всего другого
Это явно не приключение на 20 минут, и чтобы пройти курс понадобится время и терпение, но это точно даст гораздо более глубокое понимание, как устроен python и как из него извлекать больше пользы 🙂
Ссылка на курс https://github.com/dabeaz-course/python-mastery
- как устроены стандартные типы данных "под капотом"
- как устроены объекты и ООП в Питоне
- основы функционального программирования
- что такое метаклассы, как ими пользоваться и почему они вам скорее всего не нужны)
- декораторы, корутины, генераторы и много всего другого
Это явно не приключение на 20 минут, и чтобы пройти курс понадобится время и терпение, но это точно даст гораздо более глубокое понимание, как устроен python и как из него извлекать больше пользы 🙂
Ссылка на курс https://github.com/dabeaz-course/python-mastery
GitHub
GitHub - dabeaz-course/python-mastery: Advanced Python Mastery (course by @dabeaz)
Advanced Python Mastery (course by @dabeaz). Contribute to dabeaz-course/python-mastery development by creating an account on GitHub.
👍61🔥26
Если вы используете Django ORM и слышали слова "Кверисеты" и "Менеджеры", но не очень понимаете, что это такое, то эта статья может помочь. Написано довольно просто и с вменяемыми примерами - https://fly.io/django-beats/organizing-database-queries-managers-vs-querysets/
Fly
Organizing Database Queries: Managers vs. QuerySets
Introducing concepts of Django's Managers and QuerySet to organize common database queries
🔥15👍6
Интересный обзор различных библиотеке логирования для python - рассматривают 5 third-party библиотек плюс logging из стандартной библиотеки. Если вы используете стандартный logging - посмотрите на альтернативы, они гораздо удобнее и гибче в настройке https://betterstack.com/community/guides/logging/best-python-logging-libraries/
Betterstack
Logging in Python: A Comparison of the Top 6 Libraries | Better Stack Community
There are many different logging libraries available for Python, each with its own strengths and weaknesses. Learn about the top 6 options in this article.
👍21
Амазон выкатил поддержку python 3.11. По идее это должно несколько ускорить выполнение кода в лямбдах и помочь сэкономить немного денег (кажется я понимаю, почему они так долго тянули с поддержкой 3.10/3.11 :)))
https://aws.amazon.com/blogs/compute/python-3-11-runtime-now-available-in-aws-lambda/
https://aws.amazon.com/blogs/compute/python-3-11-runtime-now-available-in-aws-lambda/
Amazon
Python 3.11 runtime now available in AWS Lambda | Amazon Web Services
You can build and deploy functions using Python 3.11 using the AWS Management Console, AWS CLI, AWS SDK, AWS SAM, AWS CDK, or your choice of Infrastructure as Code (IaC). You can also use the Python 3.11 container base image if you prefer to build and deploy…
👍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
YouTube
Релиз Pydantic 2 / Threads и Python 3.10 / PSF ищет людей на улучшение СPython и другие новости
00:00 — интро
1:00 — Pydantic 2
4:30 — релиз FastAPI 0.100.0
8:15 — Pydantic Bump
9:08 — PEP 703, no GIL
12:00 — Threads и Python 3.10
13:30 — Subinterpreters для no GIL и проблемы subinterpreters в Ruby
20:37 — ответ на вопрос про прикладные преимущества…
1:00 — Pydantic 2
4:30 — релиз FastAPI 0.100.0
8:15 — Pydantic Bump
9:08 — PEP 703, no GIL
12:00 — Threads и Python 3.10
13:30 — Subinterpreters для no GIL и проблемы subinterpreters в Ruby
20:37 — ответ на вопрос про прикладные преимущества…
🔥29👍1
Интересный разбор использования pyinstrument для профилирования асинхронного кода (в данном случае FastAPI). Если приходится сталкиваться с тем, что что-то тормозит, но не очень понятно, что именно - будет полезно почитать https://blog.balthazar-rouberol.com/how-to-profile-a-fastapi-asynchronous-request
Balthazar-Rouberol
How to profile a FastAPI asynchronous request
A short walkthrough of how to profile an HTTP request through an asynchronous FastAPI API handler
🔥26👍2
Вышел Litestar 2.0 (бывший starlite) - фреймворк который мне последнее время очень нравится. Количество изменений большое, из интересного:
- pydantic теперь опционален, вместо него можно из коробки использовать attrs или msgspec
- улучшенная интеграция с sqlalchemy
- каналы для стриминга/подписки на события, пока есть memory и redis-бекенды
- поддержка работы с htmx
Подробности можно посмотреть вот тут https://blog.litestar.dev/litestar-2-0-release-769e299a847
- pydantic теперь опционален, вместо него можно из коробки использовать attrs или msgspec
- улучшенная интеграция с sqlalchemy
- каналы для стриминга/подписки на события, пока есть memory и redis-бекенды
- поддержка работы с htmx
Подробности можно посмотреть вот тут https://blog.litestar.dev/litestar-2-0-release-769e299a847
Medium
Litestar 2.0 release
On the 21.08.2023, after about 7 months of intense development, Litestar 2.0 was released. Let’s talk about it.
🔥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 по Москве.
➡️ Где: онлайн и в записи по ссылке.
Сегодня проведем традиционный эфир про новости из мира Python за август и обсудим:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Litestar 2.0 / поддержка Python в Microsoft Excel / 2FA в PyPI для новых пользователей / PEP 683
00:00 — интро
1:20 — Litestar 2.0 (бывший Starlite)
13:30 — поддержка Python в Microsoft Excel
18:25 — PEP 683 – Immortal Objects, Using a Fixed Refcount
33:50 — PEP 723 – Embedding pyproject.toml in single-file scripts
40:10 — PyPI наняли Safety и Security…
1:20 — Litestar 2.0 (бывший Starlite)
13:30 — поддержка Python в Microsoft Excel
18:25 — PEP 683 – Immortal Objects, Using a Fixed Refcount
33:50 — PEP 723 – Embedding pyproject.toml in single-file scripts
40:10 — PyPI наняли Safety и Security…
👍18🔥3
Вышел Flask 3.0, из самого интересного - обособили части фреймворка не связанные с io, чтобы другие фреймворки (в частности, асинхронный Quart) могли строиться на одной кодовой базе и лучше поддерживать совместимость.
Вроде бы идут разговоры о полном объединении с Quart в району 4.0 но как будут решать тот-же вопрос совместимости с расширениями - не ясно. https://flask.palletsprojects.com/en/3.0.x/changes/
Вроде бы идут разговоры о полном объединении с 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
- Новое 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/
- 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/
JetBrains: Developer Tools for Professionals and Teams
Python Developers Survey 2022 Results
Official Python Developers Survey 2022 Results by Python Software Foundation and JetBrains: more than 23k responses from almost 200 countries.
👍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
YouTube
Релиз Python 3.12 / релиз Flask 3.0 / Python Developers Survey 2022 / Python-редактор в Excel.
Спонсор подкаста — https://learn.python.ru
Ведущие — Михаил Корнеев и Григорий Петров
00:00 - интро
1:12 - Python 3.12
33:00 - сравнивал ли кто-то скорость f-строк в 12 и 11 версии
34:35 - как скоро все библиотеки адаптируют под 3.12
38:58 - уйдет ли…
Ведущие — Михаил Корнеев и Григорий Петров
00:00 - интро
1:12 - Python 3.12
33:00 - сравнивал ли кто-то скорость f-строк в 12 и 11 версии
34:35 - как скоро все библиотеки адаптируют под 3.12
38:58 - уйдет ли…
👍24🔥5
Для FastApi выпустили документацию к коду. Какие доступны классы, какие у них методы, что принимают/отдают — вот это вот все. Поиск по коду дело хорошее, но тут удобно то, что поиск по документации на сайте сразу будет показывать спецификацию. https://fastapi.tiangolo.com/reference/
Tiangolo
Reference - FastAPI
FastAPI framework, high performance, easy to learn, fast to code, ready for production
🔥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
YouTube
Как одна маленькая идея может превратиться в полгода работы
Спонсор подкаста — https://learn.python.ru
Ведущие — Михаил Корнеев и Григорий Петров
00:00 — интро
1:30 — Станислав про себя
2:11 — pathlib.Path.walk в Python 3.12
7:06 — имплементация и верификация контрибьюторов
10:45 – про разработку Open Source…
Ведущие — Михаил Корнеев и Григорий Петров
00:00 — интро
1:30 — Станислав про себя
2:11 — pathlib.Path.walk в Python 3.12
7:06 — имплементация и верификация контрибьюторов
10:45 – про разработку Open Source…
👍12🔥6
Вышла первая бета Django 5.0, а значит значимого изменения состава релиза уже не будет и можно смотреть, что завезли:
1. Много поддержки асинхронности - в
2. На первом месте довольно спорная фича - возможность показывать количество фильтруемых объектов в боковом фильтре в админке. Там под капотом
3. Упрощенная шаблонизация для форм из коробки, для тех кто работает с html-формами код станет читабельнее (хотя думается мне, что те кто работает с большими формами уже давно что-то подобное у себя реализовали)
4. Возможность задавать дефолты на уровне базы данных
5. `GENERATED`-поля в моделях, значение которых рассчитывается на уровне БД
6. В Choice-полях теперь можно использовать словарь, вместо кортежей
В общим никаких революций https://docs.djangoproject.com/en/5.0/releases/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
Пока нет уверенности, что выпиливание 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
Discussions on Python.org
PEP 703 (Making the Global Interpreter Lock Optional in CPython) acceptance
(Posted for the whole Steering Council.) As we’ve announced before, the Steering Council has decided to accept PEP 703 (Making the Global Interpreter Lock Optional in CPython) . We want to make it clear why, and under what expectations we’re doing so. It…
🔥20👍6