Forwarded from Хитрый Питон
Возможно, вы слышали о AST — это встроенная в питон библиотека для построения абстрактного синтаксического дерева кода. AST используется, например, при написании линтеров. Минус в том, что он позволяет анализировать код, но при этом выкидывает части кода, которые не важны для компилятора, но важны для нас (например, комментарии).
Некоторое время назад Instagram выложил LibCST - которая гораздо бережнее относится к коду и соответственно может использоваться не только для проверки, но и для модификации кода.
В статье разобран хороший пример, как с помощью LibCST можно написать инструмент для ручного рефакторинга кода, который было бы сложно сделать другими инструментами (и долго и неудобно вручную). Если вам интересна тема разработки инструментария для python - рекомендую https://engineering.instawork.com/refactoring-a-python-codebase-with-libcst-fc645ecc1f09
Некоторое время назад Instagram выложил LibCST - которая гораздо бережнее относится к коду и соответственно может использоваться не только для проверки, но и для модификации кода.
В статье разобран хороший пример, как с помощью LibCST можно написать инструмент для ручного рефакторинга кода, который было бы сложно сделать другими инструментами (и долго и неудобно вручную). Если вам интересна тема разработки инструментария для python - рекомендую https://engineering.instawork.com/refactoring-a-python-codebase-with-libcst-fc645ecc1f09
Medium
Refactoring a Python Codebase with LibCST
How can an engineering team maintain consistent conventions in a growing codebase? When working on new code, engineers add new patterns to…
> Today we are announcing that we will be suspending sales and R&D activities in Russia indefinitely. Sales in Belarus are also suspended indefinitely.
https://blog.jetbrains.com/blog/2022/03/11/jetbrains-statement-on-ukraine/
#jetbrains
https://blog.jetbrains.com/blog/2022/03/11/jetbrains-statement-on-ukraine/
#jetbrains
The JetBrains Blog
JetBrains' Statement on Ukraine | The JetBrains Blog
We have already made our position very clear in regard to the invasion of Ukraine. We condemn the attacks of the Russian government, and we stand with the Ukrainian people, including our own colleagues and their families.
Питонические атаки
> Today we are announcing that we will be suspending sales and R&D activities in Russia indefinitely. Sales in Belarus are also suspended indefinitely. https://blog.jetbrains.com/blog/2022/03/11/jetbrains-statement-on-ukraine/ #jetbrains
Письмо на почту прислали.
Важная информация о вашем продукте или сервисе
Здравствуйте!
К сожалению, мы больше не можем продавать наше программное обеспечение и услуги клиентам из Российской Федерации или Беларуси. Теперь это невозможно с точки зрения операционной деятельности, помимо других аспектов.
Мы понимаем, что для вас это имеет значительные последствия. Это происходит не по вашей вине, и мы приносим вам свои глубочайшие извинения. Для того чтобы максимально облегчить последствия этой ситуации для вас, мы предпринимаем следующие шаги:
• Все действующие подписки на IDE будут автоматически продлены до 1 октября 2022 года, если они заканчивались ранее. Также, для всех действующих подписок на IDE мы предоставляем резервную лицензию на последнюю выпущенную версию программного обеспечения, доступную на дату окончания срока действия вашей подписки (а не на дату начала), независимо от того, была ли ваша подписка годовой или месячной.
• Для всех облачных сервисов (Space, YouTrack InCloud, TeamCity Cloud) мы предоставляем дополнительные 6 месяцев бесплатного пользования. Кроме того, мы можем помочь вам экспортировать данные при условии, что у нас будет такая возможность.
• Все лицензии на локальное программное обеспечение (YouTrack, TeamCity, Upsource) остаются в вашем распоряжении бессрочно. Однако для продуктов не будут доступны обновления, включая улучшения безопасности. Текущая ситуация также может повлиять на нашу способность предоставлять вам техническую поддержку. Мы надеемся на ваше понимание.
Обратите внимание, что вышеизложенное относится исключительно к коммерческим и персональным платным продуктам. Это не затрагивает бесплатные подписки и лицензии, включая образовательные продукты и программное обеспечение с открытым исходным кодом, а также продукты и услуги с бесплатными планами. Вы сможете продолжать их использовать.
Мы еще раз приносим извинения за причиненные неудобства. Если обстановка улучшится и ситуация изменится, мы немедленно уведомим вас об этом.
Спасибо. Команда #jetbrains
Важная информация о вашем продукте или сервисе
Здравствуйте!
К сожалению, мы больше не можем продавать наше программное обеспечение и услуги клиентам из Российской Федерации или Беларуси. Теперь это невозможно с точки зрения операционной деятельности, помимо других аспектов.
Мы понимаем, что для вас это имеет значительные последствия. Это происходит не по вашей вине, и мы приносим вам свои глубочайшие извинения. Для того чтобы максимально облегчить последствия этой ситуации для вас, мы предпринимаем следующие шаги:
• Все действующие подписки на IDE будут автоматически продлены до 1 октября 2022 года, если они заканчивались ранее. Также, для всех действующих подписок на IDE мы предоставляем резервную лицензию на последнюю выпущенную версию программного обеспечения, доступную на дату окончания срока действия вашей подписки (а не на дату начала), независимо от того, была ли ваша подписка годовой или месячной.
• Для всех облачных сервисов (Space, YouTrack InCloud, TeamCity Cloud) мы предоставляем дополнительные 6 месяцев бесплатного пользования. Кроме того, мы можем помочь вам экспортировать данные при условии, что у нас будет такая возможность.
• Все лицензии на локальное программное обеспечение (YouTrack, TeamCity, Upsource) остаются в вашем распоряжении бессрочно. Однако для продуктов не будут доступны обновления, включая улучшения безопасности. Текущая ситуация также может повлиять на нашу способность предоставлять вам техническую поддержку. Мы надеемся на ваше понимание.
Обратите внимание, что вышеизложенное относится исключительно к коммерческим и персональным платным продуктам. Это не затрагивает бесплатные подписки и лицензии, включая образовательные продукты и программное обеспечение с открытым исходным кодом, а также продукты и услуги с бесплатными планами. Вы сможете продолжать их использовать.
Мы еще раз приносим извинения за причиненные неудобства. Если обстановка улучшится и ситуация изменится, мы немедленно уведомим вас об этом.
Спасибо. Команда #jetbrains
Вопросы по лицензированию
Что такое резервная бессрочная лицензия?
Резервная бессрочная лицензия позволяет пользоваться определенной версией программного продукта без действующей подписки на него.
При покупке годовой подписки, резервная бессрочная лицензия на вер...
При покупке годовой подписки, резервная бессрочная лицензия на вер...
Питонические атаки
Письмо на почту прислали. Важная информация о вашем продукте или сервисе Здравствуйте! К сожалению, мы больше не можем продавать наше программное обеспечение и услуги клиентам из Российской Федерации или Беларуси. Теперь это невозможно с точки зрения операционной…
> Это происходит не по вашей вине, и мы приносим вам свои глубочайшие извинения.
Такие простые слова, но чёт тронуло. Наверное, на контрасте. Просто последние недели я каждый день читаю эти отвратительные прощальные письма с нотками осуждения по типу «ты, лично ты — агрессор, поэтому мы тебе всё и отключаем». Ну, либо просто сухие официальные, что не сильно лучше. А тут как-то по-человечески прям.
И сразу же понимаешь, что JetBrains во всей этой ситуации тоже пострадавшие. Они ведь довольно сильно связаны с Россией, хоть никогда и не были российской компанией.
#jetbrains
Такие простые слова, но чёт тронуло. Наверное, на контрасте. Просто последние недели я каждый день читаю эти отвратительные прощальные письма с нотками осуждения по типу «ты, лично ты — агрессор, поэтому мы тебе всё и отключаем». Ну, либо просто сухие официальные, что не сильно лучше. А тут как-то по-человечески прям.
И сразу же понимаешь, что JetBrains во всей этой ситуации тоже пострадавшие. Они ведь довольно сильно связаны с Россией, хоть никогда и не были российской компанией.
#jetbrains
Происходящее всё равно никак не получается игнорировать, поэтому все посты получаются немного грустные. Но сегодня и о хорошем тоже напишу.
Как минимум двое из core-разработчиков CPython сейчас находятся в Украине — Сергей Сторчака и Андрей Светлов. От Андрея я за последнее время не увидел никаких новостей, а Сергей время от времени освещает в твиттере происходящие вокруг него события.
Если следите за развитием Python в последнее время, то вы обязательно слышали эти имена и знаете, какой огромный вклад вносят в проект оба этих человека. Андрей Светлов у меня в основном ассоциируется с асинхронщиной в питоне, а Сергей — он просто вносит какое-то невероятное количество разных фич и фиксов. Серьёзно, открываешь любой ченджлог на любую версию питона за последние 5 лет, и там обязательно будет несколько изменений от Serhiy Storchaka.
Кажется, что оба из них находятся в относительной безопасности. Я заключил это по тому, что новые коммиты от них появляются почти каждый день. Удивительно увлечённые своим делом люди! 💪
Надеюсь, что острая фаза пиздеца поскорее закончится и что грустных новостей дальше будет меньше. Берегите себя!
Как минимум двое из core-разработчиков CPython сейчас находятся в Украине — Сергей Сторчака и Андрей Светлов. От Андрея я за последнее время не увидел никаких новостей, а Сергей время от времени освещает в твиттере происходящие вокруг него события.
Если следите за развитием Python в последнее время, то вы обязательно слышали эти имена и знаете, какой огромный вклад вносят в проект оба этих человека. Андрей Светлов у меня в основном ассоциируется с асинхронщиной в питоне, а Сергей — он просто вносит какое-то невероятное количество разных фич и фиксов. Серьёзно, открываешь любой ченджлог на любую версию питона за последние 5 лет, и там обязательно будет несколько изменений от Serhiy Storchaka.
Кажется, что оба из них находятся в относительной безопасности. Я заключил это по тому, что новые коммиты от них появляются почти каждый день. Удивительно увлечённые своим делом люди! 💪
Надеюсь, что острая фаза пиздеца поскорее закончится и что грустных новостей дальше будет меньше. Берегите себя!
Twitter
Serhiy Storchaka (@SerhiyStorchaka) / Twitter
Python core developer. 🐍
Ещё одна новость, про помощь.
Сообщество помогло вывезти близких Сергея Сторчака из Украины и найти им временное жильё. Łukasz Langa даже поехал в Варшаву, чтобы лично их встретить и помочь обустроиться.
Из твиттера Сергея:
> My sister and her family are near the nuclear power plant, which is a strategic target. My young nephew is in Kyiv and may die in one of the battles. These are the people dearest to me, I live only for them and my mother.
Само собой, сам Сергей, как военнообязанный, не может выехать из страны (да и не факт, что хочет). Ну, хотя бы часть его семьи теперь в безопасности.
Горд быть в таком коммьюнити, где люди не только холиварят про синтаксис и запятые, но и поддерживают друг друга, и даже готовы куда-то ехать и тратить не только деньги, но и драгоценные моменты собственной жизни, чтобы кому-то стало спокойнее и безопаснее.
https://www.reddit.com/r/Python/comments/t9dd6n/family_of_key_python_contributor_storchaka_has/
Сообщество помогло вывезти близких Сергея Сторчака из Украины и найти им временное жильё. Łukasz Langa даже поехал в Варшаву, чтобы лично их встретить и помочь обустроиться.
Из твиттера Сергея:
> My sister and her family are near the nuclear power plant, which is a strategic target. My young nephew is in Kyiv and may die in one of the battles. These are the people dearest to me, I live only for them and my mother.
Само собой, сам Сергей, как военнообязанный, не может выехать из страны (да и не факт, что хочет). Ну, хотя бы часть его семьи теперь в безопасности.
Горд быть в таком коммьюнити, где люди не только холиварят про синтаксис и запятые, но и поддерживают друг друга, и даже готовы куда-то ехать и тратить не только деньги, но и драгоценные моменты собственной жизни, чтобы кому-то стало спокойнее и безопаснее.
https://www.reddit.com/r/Python/comments/t9dd6n/family_of_key_python_contributor_storchaka_has/
Twitter
Serhiy Storchaka
My sister and her family are near the nuclear power plant, which is a strategic target. My young nephew is in Kyiv and may die in one of the battles. These are the people dearest to me, I live only for them and my mother.
Вам всегда в питоне не хватало указателей и арифметики над ними? Держите, пользуйтесь, теперь такое есть! (Пожалуйста, не надо)
https://github.com/ZeroIntensity/pointers.py
https://github.com/ZeroIntensity/pointers.py
GitHub
GitHub - ZeroIntensity/pointers.py: Bringing the hell of pointers to Python.
Bringing the hell of pointers to Python. Contribute to ZeroIntensity/pointers.py development by creating an account on GitHub.
Кстати, Python 3.10.3 вышел. Там багфиксы и исправления разных секьюрити проблем. Надо обновляться!
https://blog.python.org/2022/03/python-3103-3911-3813-and-3713-are-now.html
https://blog.python.org/2022/03/python-3103-3911-3813-and-3713-are-now.html
blog.python.org
Python Insider: Python 3.10.3, 3.9.11, 3.8.13, and 3.7.13 are now available with security content
👎1💔1🍓1
Питонические атаки
В следующем релизе macOS Monterey 12.3 🍎, которая сейчас находится в бета-тестировании, обещают наконец-то удалить из системы предустановленный Python 2. Начиная с какой-то из предыдущих версий уже и так выскакивало окошко с предупреждением, если вдруг пайчарм…
Обновился до macOS Monterey 12.3. Подтверждаю, Python 2 пропал.
К счастью, для того проекта, где он мне нужен, у меня уже было до обновления создано виртуальное окружение, и оно нормально работает 😅
Так что я пока ничего делать не буду. А вообще, говорят, можно поставить Python 2 из Homebrew.
#macos #python2
К счастью, для того проекта, где он мне нужен, у меня уже было до обновления создано виртуальное окружение, и оно нормально работает 😅
Так что я пока ничего делать не буду. А вообще, говорят, можно поставить Python 2 из Homebrew.
#macos #python2
🎉4
А вы знали, что
https://github.com/python-attrs/attrs/pull/936
#python2
attrs
поддерживает Python 2.7? Точнее, теперь об этом уже стоит говорить скорее в прошедшем времени.https://github.com/python-attrs/attrs/pull/936
#python2
GitHub
Drop Python 2.7 by hynek · Pull Request #936 · python-attrs/attrs
We have paid our dues.
The tooling situation around Python 2 has deteriorated to such a degree that
upholding compatibility is not tenable anymore for a volunteer-run project.
Here's the stats ...
The tooling situation around Python 2 has deteriorated to such a degree that
upholding compatibility is not tenable anymore for a volunteer-run project.
Here's the stats ...
В PSF в честь Pi Day (14 марта) объявили фандрайзер. Обратите внимание, какие забавные суммы они собирают!
https://psfmember.org/civicrm/contribute/transact?reset=1&id=37
https://psfmember.org/civicrm/contribute/transact?reset=1&id=37
В репо
https://github.com/faster-cpython/ideas/blob/main/main-vs-310.rst
faster-cpython
выложили результаты сравнения производительности ветки main
(это будет 3.11) с 3.10. И по большинству бенчмарков оно и правда становится быстрее!https://github.com/faster-cpython/ideas/blob/main/main-vs-310.rst
👍8🔥2
Недавно вышел mypy 0.940 с экспериментальной поддержкой паттерн-матчинга из Python 3.10. Тайп-чекер умеет выполнять проверку на полноту (exhaustiveness checking) для енумов и юнион-типов. Это полезно!
https://mypy-lang.blogspot.com/2022/03/mypy-0940-released.html
#mypy
https://mypy-lang.blogspot.com/2022/03/mypy-0940-released.html
#mypy
Blogspot
Mypy 0.940 Released
We’ve just uploaded mypy 0.940 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new ...
❤4
В Python 3.11 стандартная библиотека пополнится модулем
Отсутствие в стандартной библиотеке модуля для работы с этим форматом создаёт сложности для разного тулинга, который хочет читать оттуда свои настройки — форматтеры, линтеры, утилиты, связанные с управлением зависимостями и пакетированием. Особенно страдают именно утилиты из последней категории, например, pip или pipenv — они не могут позволить себе зависеть от сторонних пакетов. Им приходится просто вендорить стороннюю библиотеку к себе в код (Ctrl+C, Ctrl+V🗿).
Пока что
Сейчас есть тенденция на вынос разного старого ненужного из разросшейся стандартной библиотеки языка (те самые подтекающие батарейки 🪫), да и новые модули без большой нужды стараются не добавлять. Но TOML обещает стать новым стандартом для конфигурации в экосистеме Python (как уже стал в некоторых других экосистемах), так что добавление такой библиотеки точно оправдано.
https://peps.python.org/pep-0680/
#pep #toml
tomllib
— как можно догадаться по названию, это про работу с TOML файлами. TOML уже стал популярным форматом для описания конфигурации, но до сих пор работа с ним в питоне возможна только через сторонние модули.Отсутствие в стандартной библиотеке модуля для работы с этим форматом создаёт сложности для разного тулинга, который хочет читать оттуда свои настройки — форматтеры, линтеры, утилиты, связанные с управлением зависимостями и пакетированием. Особенно страдают именно утилиты из последней категории, например, pip или pipenv — они не могут позволить себе зависеть от сторонних пакетов. Им приходится просто вендорить стороннюю библиотеку к себе в код (Ctrl+C, Ctrl+V🗿).
Пока что
tomllib
будет уметь только читать формат. Интерфейс, по традиции, похож на json
(load
и loads
). Запись решили не делать, потому что сложно, много нюансов, и мало кому нужно.Сейчас есть тенденция на вынос разного старого ненужного из разросшейся стандартной библиотеки языка (те самые подтекающие батарейки 🪫), да и новые модули без большой нужды стараются не добавлять. Но TOML обещает стать новым стандартом для конфигурации в экосистеме Python (как уже стал в некоторых других экосистемах), так что добавление такой библиотеки точно оправдано.
https://peps.python.org/pep-0680/
#pep #toml
👍5🔥2👏2❤1😢1
Forwarded from Chernov sharit
А вы говорите у вас на проекте legacy. Тут в python закинули PEP по удалению неиспользуемых батареек и большинство датируется 90х годами.
https://peps.python.org/pep-0594/
#python
https://peps.python.org/pep-0594/
#python
❤4
Chernov sharit
А вы говорите у вас на проекте legacy. Тут в python закинули PEP по удалению неиспользуемых батареек и большинство датируется 90х годами. https://peps.python.org/pep-0594/ #python
На самом деле PEP-594 уже давнишний, но его постоянно переносят на следующую версию. Наверное, чтобы подольше сохранить совместимость с Python 2 и не создавать лишних проблем обновляющимся. Вот, знайте, в 3.11 грядет большое количество новых депрекейшнов, а в 3.12 уже начнут удалять.
❤6
Meta (ага, та самая ныне экстремистская организация) продолжает донатить крупные суммы денег в Python Software Foundation. Напомню, что Python является для них довольно важной платформой — они даже поддерживают свой форк интерпретатора Cinder и пилят тайп-чекер pyre.
Благодаря этому пожертвованию, доказавшая свою успешность программа “Developer in residence” продляется еще как минимум на год. Łukasz Langa продолжает трудиться над нуждами проекта фулл-тайм до 2023.
https://pyfound.blogspot.com/2022/03/meta-deepens-its-investment-in-python.html
Благодаря этому пожертвованию, доказавшая свою успешность программа “Developer in residence” продляется еще как минимум на год. Łukasz Langa продолжает трудиться над нуждами проекта фулл-тайм до 2023.
https://pyfound.blogspot.com/2022/03/meta-deepens-its-investment-in-python.html
Blogspot
Meta deepens its investment in the Python ecosystem
As the backbone to many Meta Services ranging from Instagram to its AI and data infrastructure, Python is very important to Meta. PyTorch i...
👍10
Кстати, как вы читаете имя нашего польского developer in residence?
Anonymous Quiz
27%
Лукас
62%
Лукаш
5%
Укаш
6%
Вуказ
😱7🤯6
This media is not supported in your browser
VIEW IN TELEGRAM
Кубок 🏆 в школьном соревновании по программированию черепашьей графики на Python. Выглядит круто!
https://www.reddit.com/r/Python/comments/ti7uyh/i_teach_python_for_middle_and_high_schoolers_i/
https://www.reddit.com/r/Python/comments/ti7uyh/i_teach_python_for_middle_and_high_schoolers_i/
👍15❤4