В PyCharm добавили поддержку PEP 701 с f-строками из 3.12. Теперь можно писать бесконечно вложенные кавычки, и это не будет ломать подсветку синтаксиса в редакторе.
https://blog.jetbrains.com/pycharm/2023/10/2023-2-3/
https://blog.jetbrains.com/pycharm/2023/10/2023-2-3/
The JetBrains Blog
PyCharm 2023.2.3 Is Out! | The PyCharm Blog
You can update to this version from inside the IDE, using the Toolbox App, or using snaps if you are an Ubuntu user. You can also download it from our website. Download PyCharm 2023.2.3
Ruff становится всё более зрелым проектом. Недавно выпустили версию 0.1.0: https://astral.sh/blog/ruff-v0.1.0
Всё ещё не 1.0, но 0.1.0 — это уже серьёзная заявка на стабильность! Что изменилось:
* В Ruff теперь есть preview mode, куда будут попадать все новые, экспериментальные фичи до момента их стабилизации; можно передать флаг
* Ruff теперь по умолчанию фиксит только те правила, которые можно пофиксить безопасно, не изменив смысл кода; unsafe fixes тоже можно запустить, но это нужно указывать явно, и желательно фиксить по одной ошибке за раз, а затем ревьювить получившийся код.
* Появилась политика версионирования; дальше версии будут не просто счётчиком релизов, а будут показывать наличие новых фич и ломающих изменений.
Всё ещё не 1.0, но 0.1.0 — это уже серьёзная заявка на стабильность! Что изменилось:
* В Ruff теперь есть preview mode, куда будут попадать все новые, экспериментальные фичи до момента их стабилизации; можно передать флаг
--preview
или указать в конфиге, чтобы получить доступ к этому великолепию.* Ruff теперь по умолчанию фиксит только те правила, которые можно пофиксить безопасно, не изменив смысл кода; unsafe fixes тоже можно запустить, но это нужно указывать явно, и желательно фиксить по одной ошибке за раз, а затем ревьювить получившийся код.
* Появилась политика версионирования; дальше версии будут не просто счётчиком релизов, а будут показывать наличие новых фич и ломающих изменений.
astral.sh
Ruff v0.1.0
Ruff adds a versioning policy, fix safety levels, and a preview mode for unstable features.
Питонические атаки
Я вам говорю, скоро он их обоих подожмёт
Ну и раз уж мы снова про Ruff, то надо зафиксировать график. Он уже подобрался совсем близко и щекочет там снизу пяточки pylint'у.
Думаю, что дальше популярность Ruff будет прирастать ещё быстрее, учитывая какую деятельность они развели, а теперь ещё и дают какие-никакие гарантии стабильности. Ведь дальше Ruff будет забирать аудиторию не только у линтеров, но и у форматтеров. Такая вот нехитрая ночная табуреточная аналитика (я на табуретке, а не на диване).
Кстати, интересно, что разрыв между pylint и flake8 будто бы сократился. Это почему, как думаете?
Думаю, что дальше популярность Ruff будет прирастать ещё быстрее, учитывая какую деятельность они развели, а теперь ещё и дают какие-никакие гарантии стабильности. Ведь дальше Ruff будет забирать аудиторию не только у линтеров, но и у форматтеров. Такая вот нехитрая ночная табуреточная аналитика (я на табуретке, а не на диване).
Кстати, интересно, что разрыв между pylint и flake8 будто бы сократился. Это почему, как думаете?
Питонические атаки
FastAPI перегнал Django по количеству скачиваний? 🤔 Твит
Что-то модно, что-то вышло из моды, а что-то вечно...
Спустя почти год, FastAPI окончательно перегнал Django по количеству скачиваний. Только Flask сдаваться, похоже, не собирается.
Всё равно какой-то диссонанс. Кажется, что Django — это прям база. Не верится, что он может вот так взять и сдуться. Господи, даже tornado скачивают в два раза больше, чем джанго. Но кто вообще знает, что такое торнадо? Поставьте хотдог, пересчитаем вас. Человек пять должно набраться. А про джанго точно слышали все. Джангисты, расскажите, может вы как-то на флешках или CD-RW болванках передаёте фреймворк по офису? Должно быть какое-то объяснение!
Спустя почти год, FastAPI окончательно перегнал Django по количеству скачиваний. Только Flask сдаваться, похоже, не собирается.
Всё равно какой-то диссонанс. Кажется, что Django — это прям база. Не верится, что он может вот так взять и сдуться. Господи, даже tornado скачивают в два раза больше, чем джанго. Но кто вообще знает, что такое торнадо? Поставьте хотдог, пересчитаем вас. Человек пять должно набраться. А про джанго точно слышали все. Джангисты, расскажите, может вы как-то на флешках или CD-RW болванках передаёте фреймворк по офису? Должно быть какое-то объяснение!
Я провёл исследование российского рынка найма (методом поиска по хедхантеру), и вот сколько вакансий нашлось с упоминанием разных веб-фреймворков:
* Django — 352 вакансии;
* FastAPI — 291 вакансия;
* Flask — 214 вакансий;
* aiohttp — 96 вакансий;
* Tornado — 12 вакансий.
Это вообще никак не матчится с количеством скачиваний этих пакетов из PyPI, но оно, наверное, и не должно. Здесь Django явно (пока?) чувствует себя хорошо, но FastAPI всё равно подступает. Похоже, пользователи Tornado просто предпочитают не афишировать себя.
Даже не знаю, какие тут можно сделать выводы. Для меня утверждение, что новичкам-питонистам обязательно нужно учить джанго, чтобы найти работу, точно не выглядит таким уж однозначно правильным. Вообще, лучше инвестировать время не в изучение конкретных фреймворков и библиотек, а в изучение основ языка или вообще основ computer science. Ну, или можно вообще взять data science. Всего лишь нужно изучить математику (это всегда полезно), и вы будете очень востребованы. Для сравнения, pandas упоминается в 413 вакансиях. А с FastAPI и Flask вы всегда разберётесь и на ходу, без отдельного изучения.
* Django — 352 вакансии;
* FastAPI — 291 вакансия;
* Flask — 214 вакансий;
* aiohttp — 96 вакансий;
* Tornado — 12 вакансий.
Это вообще никак не матчится с количеством скачиваний этих пакетов из PyPI, но оно, наверное, и не должно. Здесь Django явно (пока?) чувствует себя хорошо, но FastAPI всё равно подступает. Похоже, пользователи Tornado просто предпочитают не афишировать себя.
Даже не знаю, какие тут можно сделать выводы. Для меня утверждение, что новичкам-питонистам обязательно нужно учить джанго, чтобы найти работу, точно не выглядит таким уж однозначно правильным. Вообще, лучше инвестировать время не в изучение конкретных фреймворков и библиотек, а в изучение основ языка или вообще основ computer science. Ну, или можно вообще взять data science. Всего лишь нужно изучить математику (это всегда полезно), и вы будете очень востребованы. Для сравнения, pandas упоминается в 413 вакансиях. А с FastAPI и Flask вы всегда разберётесь и на ходу, без отдельного изучения.
Pablo Galindo и Łukasz Langa запустили подкаст. Легендарные чуваки. Первый эпизод про core dev sprint, который недавно имел место быть в Чехии.
Люблю подкасты! Хотя тут вряд ли расслабишься, приходится активно думать, чтобы распарсить акцент Пабло.
Можно слушать на Spotify или Apple Podcasts.
Люблю подкасты! Хотя тут вряд ли расслабишься, приходится активно думать, чтобы распарсить акцент Пабло.
Можно слушать на Spotify или Apple Podcasts.
Вы наверняка видели чувака с вот такой аватаркой, как на скриншоте. Не знаю как вы, а я постоянно натыкаюсь на его ответы на StackOverflow. Всегда по делу, максимально полезно, исчерпывающе. Мартин — один из восьми (на данный момент) юзеров на StackOverflow с репутацией больше миллиона. По тэгу Python он тупо первый, с отрывом от второго места больше, чем в два раза. Почти 20 тысяч ответов. Чувак просто легенда.
Собственно, недавно Мартина наградили почётным званием PSF Fellow за его огромный вклад в коммьюнити. Вообще, удивительно, что его не наградили раньше. Горжусь, потому что это я его номинировал :)
Новость
Собственно, недавно Мартина наградили почётным званием PSF Fellow за его огромный вклад в коммьюнити. Вообще, удивительно, что его не наградили раньше. Горжусь, потому что это я его номинировал :)
Новость
Astral официально анонсирует ruff format
График со скоростью работы я сначала неправильно считал, не заметил ruff. А он там вверху, просто полосочка очень мелкая.
Еще интересное заявление про статус форматтера:
While this is a Beta release, we consider the Ruff formatter production-ready. We’ve been using it in production for a while now, as have our alpha users from GitHub and Discord — including Dagster, whose monorepo contains over 50 Python packages and 500,000 lines of code.
Ну что, переезжаем с Black на Ruff?
P.S.: Кстати, я, кажется, начинаю понимать, почему Astral. Как-то связано с AST? Но ведь и линтер, и форматтер работают над CST! Кстрал должно быть!
График со скоростью работы я сначала неправильно считал, не заметил ruff. А он там вверху, просто полосочка очень мелкая.
Еще интересное заявление про статус форматтера:
While this is a Beta release, we consider the Ruff formatter production-ready. We’ve been using it in production for a while now, as have our alpha users from GitHub and Discord — including Dagster, whose monorepo contains over 50 Python packages and 500,000 lines of code.
Ну что, переезжаем с Black на Ruff?
P.S.: Кстати, я, кажется, начинаю понимать, почему Astral. Как-то связано с AST? Но ведь и линтер, и форматтер работают над CST! Кстрал должно быть!
Forwarded from Коробка с питоном
Пока я спал, руководящий совет языка принял PEP 703 (Making the Global Interpreter Lock Optional in CPython).
Кратко о том, о чём говорится в посте:
1. Руководящему совету ясно, что несмотря на все проблемы и недостатки потоков, nogil будет полезен для Python, так как позволит находить более масштабируемые решения.
2. В то же время, они не уверены, получится ли убрать GIL не сломав при этом обратную совместимость - всё же не хотелось бы терять десятилетия развития базы пакетов. Существующая пакетная экосистема - это одна из сильных сторон языка, как и простая интеграция библиотек на C c CPython.
3. Оценить влияние nogil без реализации сложно, поэтому nogil должен выпускаться в составе регулярных релизов и не обязательно он там должен быть по-умолчанию.
4. Это всё ещё не гарантированная история. Если что-то пойдет не так - от изменений откажутся. Развёртывание должно быть постепенным и наиболее плавным.
5. Выкатка будет происходить в 3 фазы, которые возможно изменятся:
- В первой фазе nogil сделают возможным таргетом при сборке, чтобы разработчики могли тестировать свои пакеты.
- Во второй фазе, когда изменения в API и ABI будут сформированы, а поддержка nogil от сообщества будет достаточной, nogil-сборку добавлят как "поддерживаемую, но не по умолчанию".
- В третьей фазе nogil-сборку сделают сборкой "по-умолчанию", а от gil-сборки будут отказываться.
6. При успешной реализации nogil, ожидается падение производительности на 10-15% в худшем случае.
#pep
Кратко о том, о чём говорится в посте:
1. Руководящему совету ясно, что несмотря на все проблемы и недостатки потоков, nogil будет полезен для Python, так как позволит находить более масштабируемые решения.
2. В то же время, они не уверены, получится ли убрать GIL не сломав при этом обратную совместимость - всё же не хотелось бы терять десятилетия развития базы пакетов. Существующая пакетная экосистема - это одна из сильных сторон языка, как и простая интеграция библиотек на C c CPython.
3. Оценить влияние nogil без реализации сложно, поэтому nogil должен выпускаться в составе регулярных релизов и не обязательно он там должен быть по-умолчанию.
4. Это всё ещё не гарантированная история. Если что-то пойдет не так - от изменений откажутся. Развёртывание должно быть постепенным и наиболее плавным.
5. Выкатка будет происходить в 3 фазы, которые возможно изменятся:
- В первой фазе nogil сделают возможным таргетом при сборке, чтобы разработчики могли тестировать свои пакеты.
- Во второй фазе, когда изменения в API и ABI будут сформированы, а поддержка nogil от сообщества будет достаточной, nogil-сборку добавлят как "поддерживаемую, но не по умолчанию".
- В третьей фазе nogil-сборку сделают сборкой "по-умолчанию", а от gil-сборки будут отказываться.
6. При успешной реализации nogil, ожидается падение производительности на 10-15% в худшем случае.
#pep
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…
Moscow Python проводит митап вот прямо сейчас: https://www.youtube.com/watch?v=B_HprPoVoig
Forwarded from Николай Хитров | Блог
Славянский язык программирования
Мем про древних Русов и ящеров продолжает набирать обороты. В этот раз мемологи сделали типовой урок с hello world на В++ - великом языке программирования древних Русов
P.S. Концовка улыбнула😁
https://youtu.be/KffVhdWAgXc?si=gIoaMfb4nhqs43al
Мем про древних Русов и ящеров продолжает набирать обороты. В этот раз мемологи сделали типовой урок с hello world на В++ - великом языке программирования древних Русов
P.S. Концовка улыбнула😁
https://youtu.be/KffVhdWAgXc?si=gIoaMfb4nhqs43al
YouTube
Великий язык программирования древних Русов
Спустя столько лет наконец-то мы можем писать код на величайшем языке программирования В††.
Наш гит хаб: https://github.com/KanatnikovMax/znanie-drevnix.git
Музыка из видео https://youtu.be/25cyl7S9R-A?si=5WSROCwnBZmLAnFf
Наш гит хаб: https://github.com/KanatnikovMax/znanie-drevnix.git
Музыка из видео https://youtu.be/25cyl7S9R-A?si=5WSROCwnBZmLAnFf
Вышел второй выпуск подкаста core.py от двух кор-разработчиков CPython. В этот раз про PEP 703 и выпиливание GIL — тема, которая волнует многих. Уже во всех радиоприемниках страны!
Кстати, я будто бы уже привык к акценту Пабло. Почти нормально слушается.
https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-2---PEP-703-Removing-the-GIL-e2b8egi
P.S.: Да, для прослушивания этого подкаста, вероятно, потребуется включенный VPN. По крайней мере, в Apple Podcasts с российским айпишником он не включается.
Кстати, я будто бы уже привык к акценту Пабло. Почти нормально слушается.
https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-2---PEP-703-Removing-the-GIL-e2b8egi
P.S.: Да, для прослушивания этого подкаста, вероятно, потребуется включенный VPN. По крайней мере, в Apple Podcasts с российским айпишником он не включается.
А вы заметили, что Python 3.7 EOLнулся еще этим летом? Теперь walrus оператор есть во всех поддерживаемых версиях языка. Кстати, кто-нибудь нашел для него хорошие применения?
Python release cycle
Python release cycle
Forwarded from DevBrain
Github Copilot теперь и через командную строку: https://github.blog/changelog/2023-11-08-github-copilot-in-the-cli-now-in-public-beta/
От себя скажу, что пользуюсь Copilot практически с момента его появления, очень выручает в написании тестов =)
От себя скажу, что пользуюсь Copilot практически с момента его появления, очень выручает в написании тестов =)
The GitHub Blog
GitHub Copilot in the CLI now in public beta · GitHub Changelog
Learn your way around the command line with GitHub Copilot by your side! We’re excited to announce the launch of a brand new GitHub CLI extension that’s now available as…
Пользуетесь какой-нибудь LLM при написании кода? 🤖
Anonymous Poll
24%
Да, GitHub Copilot
35%
Да, ChatGPT
7%
Да, но другое (напишу в комменты)
33%
Нет, это для слабаков
22%
Я и есть LLM
В Х-твиттере наткнулся на статистику использования компилируемых языков в пакетах для Python. Зачем люди пишут пакеты для питона на Go?
PSF и JetBrains запустили своё ежегодное исследование Python Developers Survey 2023. Погнали заполнять! 👇
https://survey.alchemer.com/s3/7554174/python-developers-survey-2023
Через год, когда подведут результаты, будет повод написать пост, типа такого 😅
https://survey.alchemer.com/s3/7554174/python-developers-survey-2023
Через год, когда подведут результаты, будет повод написать пост, типа такого 😅
Alchemer
Python Developers Survey 2023
The official Python Developers Survey 2023. Join and contribute to the community knowledge!
Forwarded from запуск завтра
Мы у себя в компании протестировали ИИ-помощники для программистов. По результатам, добавили Github Copilot в список инструментов, которые оплачиваем всем нашим сотрудникам — он ускоряет написание рутинного кода. Цитирую коллегу:
Когда работаешь с копилотом, кажется, что он помогает нормально, но без вау. Зато когда его выключаешь, то ловишь себя на мысли, что пишешь какую-то фигню, вместо которой можно было просто табнуть.
Ещё из интересных инструментов, которыми пользуются коллеги:
- Phind: классный ассистент для программистов, которому можно позадавать вопросы. Доступен без VPN, никогда не отваливался и, что важно, дает ссылки на источники;
- Machinet: плагин, окно чата, которое видит весь твой проект. В нем можно написать «вот есть ручка //products, напиши такую же только для //orders и сделай такие же тесты» или «почини N+1 запросы в методе getusers на открытой вкладке»
Если ничем таким ещё не пользуетесь — рекомендую попробовать!
Когда работаешь с копилотом, кажется, что он помогает нормально, но без вау. Зато когда его выключаешь, то ловишь себя на мысли, что пишешь какую-то фигню, вместо которой можно было просто табнуть.
Ещё из интересных инструментов, которыми пользуются коллеги:
- Phind: классный ассистент для программистов, которому можно позадавать вопросы. Доступен без VPN, никогда не отваливался и, что важно, дает ссылки на источники;
- Machinet: плагин, окно чата, которое видит весь твой проект. В нем можно написать «вот есть ручка //products, напиши такую же только для //orders и сделай такие же тесты» или «почини N+1 запросы в методе getusers на открытой вкладке»
Если ничем таким ещё не пользуетесь — рекомендую попробовать!
До какого уровня сможете дойти? Я чёт пока на 5 правиле застрял.
https://oskaerik.github.io/theevalgame/
https://oskaerik.github.io/theevalgame/
oskaerik.github.io
the eval game
A game testing your Python skills, inspired by The Password Game.