Питонические атаки
На недавно прошедшем Language Summit был презентован PEP 654 — Exception Groups and except*, который сейчас находится на стадии черновика и, вероятно, попадёт в язык в версии 3.11. Этот PEP предлагает добавить в Python возможность запускать сразу несколько…
PEP 654 -- Exception Groups and except* принят и появится в Python 3.11. Ух, будем запускать и ловить исключения целыми пачками!
peps.python.org
PEP 654 – Exception Groups and except* | peps.python.org
Python Enhancement Proposals (PEPs)
Python is a Bad Programming Language
Для разогрева задниц этим холодным осенним утром. Наброшено знатно. Какие ваши мысли?
https://medium.com/nerd-for-tech/python-is-a-bad-programming-language-2ab73b0bda5
Для разогрева задниц этим холодным осенним утром. Наброшено знатно. Какие ваши мысли?
https://medium.com/nerd-for-tech/python-is-a-bad-programming-language-2ab73b0bda5
Medium
Python is a Bad Programming Language
I’ll say it again: Python is a bad programming language, and the only reason it’s so popular today is because Google pushed it so hard in…
Хорошие новости для маководов!
В PSF задонатили несколько macOS машин на процессорах M1, и их запрягли гонять тесты и сборки CPython в CI. И сразу же нашли какую-то проблему. Полезно!
Интересная, конечно, у CPython система CI. В эпоху облачных сервисов, где можно арендовать сколько угодно машин с какими угодно процессорами, такой подход с self-hosted CI выглядит странно🤔
https://twitter.com/pyblogsal/status/1441862701928570893?s=21
В PSF задонатили несколько macOS машин на процессорах M1, и их запрягли гонять тесты и сборки CPython в CI. И сразу же нашли какую-то проблему. Полезно!
Интересная, конечно, у CPython система CI. В эпоху облачных сервисов, где можно арендовать сколько угодно машин с какими угодно процессорами, такой подход с self-hosted CI выглядит странно🤔
https://twitter.com/pyblogsal/status/1441862701928570893?s=21
more_itertools
— расширение модуля itertools
из стандартной библиотеки.Код: https://github.com/more-itertools/more-itertools
Документация: https://more-itertools.readthedocs.io/
Библиотека содержит больше 100 различный функций-утилит, которые помогают обходить списки и итераторы более удобно, а также извлекать различные срезы, разбивать на части, склеивать обратно, проводить агрегации и так далее. Например:
* извлекать из списка или итератора значения чанками по N элементов (можно указать значение, которым должен быть дополнен последний чанк, либо он просто может быть меньше остальных);
* извлекать из итератора значения пересекающимися парами, по принципу
abcd
-> ab, bc, cd
;* превращать вложенную структуру в плоскую;
* расклеивать результат
zip
обратно в два отдельных итерируемых объекта;* различные группировки, агрегации, оконные функции, выборки, комбинаторика...
Короче, прям много всего есть. Модуль
itertools
в стандартной библиотеке — очень бедный. Регулярно натыкаюсь на необходимость делать что-то чанками/батчами, в такие моменты more_itertools
выручает.#library
GitHub
GitHub - more-itertools/more-itertools: More routines for operating on iterables, beyond itertools
More routines for operating on iterables, beyond itertools - more-itertools/more-itertools
Forwarded from Коробка с питоном
orjson - самая быстрая библиотека для (де)сериализации json, написанная на Rust.
Умеет нативно сериализовать объекты из dataclass, datetime, numpy и UUID. Имеет множество опций для тонкой настройки парсера, содержит вещи которых нет в парсере стандартной библиотеки. Имеет более полное соответствие UTF-8 и JSON формату.
PyPi | GitHub | Бенчмарки
#библиотека
Умеет нативно сериализовать объекты из dataclass, datetime, numpy и UUID. Имеет множество опций для тонкой настройки парсера, содержит вещи которых нет в парсере стандартной библиотеки. Имеет более полное соответствие UTF-8 и JSON формату.
PyPi | GitHub | Бенчмарки
#библиотека
Python 3.10 уже совсем близко!
Pablo Galindo — релиз-менеджер для 3.10 — приглашает всех на релизную вечеринку 🎉
Будет стрим вот тут: https://www.youtube.com/watch?v=AHT2l3hcIJg
Насколько я понял, релиз будут делать прям в прямом эфире. Начало 4 октября в 20:00 МСК.
Pablo Galindo — релиз-менеджер для 3.10 — приглашает всех на релизную вечеринку 🎉
Будет стрим вот тут: https://www.youtube.com/watch?v=AHT2l3hcIJg
Насколько я понял, релиз будут делать прям в прямом эфире. Начало 4 октября в 20:00 МСК.
Книга "Теперь я изучаю Python" на немецком, 2000 год. Есть мнение, что она внесла кое-какой вклад в успех Python.
Как видно, в те дикие времена у питонистов был особый дресс-код — без галстука-бабочки за клавиатуру не пускали 😅
На самом деле, это отсылка к персонажу Nude Organist, который периодически появлялся в скетчах Monty Python и играл один аккорд.
Обратите внимание, картинка на обложке рекурсивная — на мониторе она повторяется.
#montypython
source: https://twitter.com/domenuk/status/1116312225030004736?s=20
Как видно, в те дикие времена у питонистов был особый дресс-код — без галстука-бабочки за клавиатуру не пускали 😅
На самом деле, это отсылка к персонажу Nude Organist, который периодически появлялся в скетчах Monty Python и играл один аккорд.
Обратите внимание, картинка на обложке рекурсивная — на мониторе она повторяется.
#montypython
source: https://twitter.com/domenuk/status/1116312225030004736?s=20
Forwarded from Python Daily
Вышел Docker Compose V2. Первая версия была написана на Python, вторая же теперь на Golang, что довольно логично. Наконец можно писать в терминале
Судя по документации первая версия всё еще будет поддерживаться и продолжит работать в штатном режиме.
#docker #nothabr #pydaily
docker compose
вместо docker-compose
. Для более лёгкого перехода команда Docker написала тулзу compose-switch, которая транслирует docker-compose
команды в новый docker compose
. Судя по документации первая версия всё еще будет поддерживаться и продолжит работать в штатном режиме.
#docker #nothabr #pydaily
GitHub
GitHub - docker/compose: Define and run multi-container applications with Docker
Define and run multi-container applications with Docker - docker/compose
Fortran — один из известнейших языков программирования начала эпохи электронных вычислительных машин. Хороший был язык — удобный и быстрый для всяческих научных вычислений. В ходу до сих пор множество программ на фортране, некоторым из которых уже больше 70 лет. Он даже является зависимостью для сборки многих популярных Python-библиотек (например,
Группа неравнодушных энтузиастов самоорганизовалась и пытается возродить язык. На данный момент у них уже получилось очень многое:
• привлечь сообщество к планированию развития языка; вместо душных собраний комитета по стандартизации (а точнее, в дополнение к ним) теперь есть ишьюсы на гитхабе, куда можно писать и обсуждать предложения; это способствует добавлению не просто сферических языковых фич в вакууме, а именно тех, которые нужны прикладным программистам; таким образом у них уже набралось фич на две следующие версии языкового стандарта;
• начать разрабатывать стандартную библиотеку языка, что по идее должно сделать язык универсальным, вывести его из ниши числодробилок; например, там есть различные утилиты для работы со строками, контейнерами, файлами, интеграции с ОС, фреймворки для юнит-тестов и логгирования, всякие разные популярные алгоритмы (сортировки, поиски, слияния), много математических функций;
• самое крутое: начать разработку пакетного менеджера —
• сделать сайт языка с документацией и туториалами, форум для дискуссий, придумать языку новый логотип, создать аккаунт в твиттере и так далее — короче, организовать присутствие в сети; теперь поисковики будут вести не на документацию отдельных компиляторов, а на централизованный сайт языка.
В блоге одного из организаторов нового сообщества вокруг языка описан процесс, как именно всё это воскрешение происходило. Там же есть ссылки на блоги других очевидцев, которые описывают те же самые события. Это эпохально! Конечно, впереди сообществу предстоит ещё много работы. Это один из немногих случаев, когда фактически мёртвую технологию, на которую уже все забили, получается воскресить и модернизировать. Кто знает, может быть когда-нибудь мы снова увидим Fortran в рейтингах популярных и востребованных языков?
Кстати, Fortran можно запускать в Jupyter Notebook.
#fortran
scipy
на 19% состоит из фортрана). Но за последние 20-30 лет другие языки сильно шагнули вперёд, а фортран стагнировал, и постепенно он был вытеснен из своей ниши другими языками (например, Python, C++, R или Julia). Вы думали он окончательно умер? А он воскрес!Группа неравнодушных энтузиастов самоорганизовалась и пытается возродить язык. На данный момент у них уже получилось очень многое:
• привлечь сообщество к планированию развития языка; вместо душных собраний комитета по стандартизации (а точнее, в дополнение к ним) теперь есть ишьюсы на гитхабе, куда можно писать и обсуждать предложения; это способствует добавлению не просто сферических языковых фич в вакууме, а именно тех, которые нужны прикладным программистам; таким образом у них уже набралось фич на две следующие версии языкового стандарта;
• начать разрабатывать стандартную библиотеку языка, что по идее должно сделать язык универсальным, вывести его из ниши числодробилок; например, там есть различные утилиты для работы со строками, контейнерами, файлами, интеграции с ОС, фреймворки для юнит-тестов и логгирования, всякие разные популярные алгоритмы (сортировки, поиски, слияния), много математических функций;
• самое крутое: начать разработку пакетного менеджера —
fpm
и вообще экосистемы библиотек и пакетов; во многих аспектах он копирует cargo
— пакетный менеджер Rust;• сделать сайт языка с документацией и туториалами, форум для дискуссий, придумать языку новый логотип, создать аккаунт в твиттере и так далее — короче, организовать присутствие в сети; теперь поисковики будут вести не на документацию отдельных компиляторов, а на централизованный сайт языка.
В блоге одного из организаторов нового сообщества вокруг языка описан процесс, как именно всё это воскрешение происходило. Там же есть ссылки на блоги других очевидцев, которые описывают те же самые события. Это эпохально! Конечно, впереди сообществу предстоит ещё много работы. Это один из немногих случаев, когда фактически мёртвую технологию, на которую уже все забили, получается воскресить и модернизировать. Кто знает, может быть когда-нибудь мы снова увидим Fortran в рейтингах популярных и востребованных языков?
Кстати, Fortran можно запускать в Jupyter Notebook.
#fortran
GitHub
GitHub - j3-fortran/fortran_proposals: Proposals for the Fortran Standard Committee
Proposals for the Fortran Standard Committee. Contribute to j3-fortran/fortran_proposals development by creating an account on GitHub.
Питонические атаки
Python 3.10 уже совсем близко! Pablo Galindo — релиз-менеджер для 3.10 — приглашает всех на релизную вечеринку 🎉 Будет стрим вот тут: https://www.youtube.com/watch?v=AHT2l3hcIJg Насколько я понял, релиз будут делать прям в прямом эфире. Начало 4 октября…
Напоминаю, полтора часа до прямого эфира. Совсем скоро у нас уже будет Python 3.10!
Официально свершилось! Посты в блоге написаны, сборки выложены на официальном сайте, документация обновлена, тэги в репо проставлены!
Счастливого паттерн матчинга!
https://pythoninsider.blogspot.com/2021/10/python-3100-is-available.html
Счастливого паттерн матчинга!
https://pythoninsider.blogspot.com/2021/10/python-3100-is-available.html
Blogspot
Python Insider: Python 3.10.0 is available
Forwarded from Python Daily
Трансляция началась. Начало немного упоротое
20:28 Запустили сборку документации, будет собираться минут 20, пока общаются
20:37 Рассказывают о новых возможностях тайп хинтов в 3.10
20:40 Наконец можно параметризовать generic декораторы PEP612
20:48 Про
20:57 Документация собралась. Презентация про Pattern Matching
21:20 Билдят CPython
21:23 Женщина в шапочке собачки рассказывает какие люди amazing
21:46 Всё ещё рассказывает
21:48 Готовят MacOS и Windows бинарники, релиз близок
21:58 Про новые сообщения об ошибках
22:17 Куда движется Python (обзор новых фич, которые появятся после 3.10)
https://speed.python.org/
22.30 Хотят добавить сахар для Sentinel Values
22:37 Как присоединиться к разработке Python
23:00 >>> 3.10 вышел в релиз! <<<
20:28 Запустили сборку документации, будет собираться минут 20, пока общаются
20:37 Рассказывают о новых возможностях тайп хинтов в 3.10
20:40 Наконец можно параметризовать generic декораторы PEP612
20:48 Про
inspect.get_annotations
20:50 Подробнее про TypeGuard20:57 Документация собралась. Презентация про Pattern Matching
21:20 Билдят CPython
21:23 Женщина в шапочке собачки рассказывает какие люди amazing
21:46 Всё ещё рассказывает
21:48 Готовят MacOS и Windows бинарники, релиз близок
21:58 Про новые сообщения об ошибках
22:17 Куда движется Python (обзор новых фич, которые появятся после 3.10)
https://speed.python.org/
22.30 Хотят добавить сахар для Sentinel Values
22:37 Как присоединиться к разработке Python
23:00 >>> 3.10 вышел в релиз! <<<
peps.python.org
PEP 612 – Parameter Specification Variables | peps.python.org
Python Enhancement Proposals (PEPs)
Вместе с Python 3.10 появились и новые проблемы. Но не потому что Python, а потому что вокруг сплошной YAML со своими неожиданными особенностями.
Когда будете настраивать CI или ещё где-нибудь указывать версию интерпретатора, не забудьте обязательно ставить кавычки, иначе заботливый YAML распарсит 3.10 как число с плавающей точкой. Не надо раскапывать Python 3.1, дайте ему спокойно разложиться 😅
https://dev.to/hugovk/the-python-3-1-problem-85g
Когда будете настраивать CI или ещё где-нибудь указывать версию интерпретатора, не забудьте обязательно ставить кавычки, иначе заботливый YAML распарсит 3.10 как число с плавающей точкой. Не надо раскапывать Python 3.1, дайте ему спокойно разложиться 😅
https://dev.to/hugovk/the-python-3-1-problem-85g
DEV Community
The Python 3.1 problem
Or, a variation on the Norway problem Short version: put quotes around version numbers in...
Мониторинг поддержки Python 3.10 в 360 самых популярных библиотеках.
На данный момент лишь 11.9% явно декларируют поддержку новой версии языка. Среди оставшихся 88% есть ещё некоторое количество библиотек, которые тестируются и работают на 3.10, но не выставили классификатор у себя в метаданных, поэтому не определяются этим сайтом (например,
Что ж, подождём ещё пару месяцев! Должно стать уже сильно лучше, наверняка можно будет уже более-менее полноценно пользоваться.
https://pyreadiness.org/3.10/
На данный момент лишь 11.9% явно декларируют поддержку новой версии языка. Среди оставшихся 88% есть ещё некоторое количество библиотек, которые тестируются и работают на 3.10, но не выставили классификатор у себя в метаданных, поэтому не определяются этим сайтом (например,
Flask
, Jinja
и все другие проекты Pallets). Большинство библиотек все-таки пока что не гарантирует работу на 3.10.Что ж, подождём ещё пару месяцев! Должно стать уже сильно лучше, наверняка можно будет уже более-менее полноценно пользоваться.
https://pyreadiness.org/3.10/
PyCharm тоже выпустили видео в честь релиза Python 3.10.
Самая интересная часть с 16:19 — это где Łukasz Langa рассказывает, почему
https://youtu.be/JteTO3EE7y0
#jetbrains
Самая интересная часть с 16:19 — это где Łukasz Langa рассказывает, почему
black
не сможет полноценно парсить код на новой версии языка с match-case
(пока что).https://youtu.be/JteTO3EE7y0
#jetbrains
YouTube
What's New in Python 3.10: featuring Brandt Bucher, Lukasz Llanga and Sebastian Ramirez
Version 3.10 is a big release for Python!
Nafiul Islam, developer advocate for PyCharm, has collected insights from core Python developers and library maintainers and prepared a detailed overview on what’s new, including a deep explanation on the new structural…
Nafiul Islam, developer advocate for PyCharm, has collected insights from core Python developers and library maintainers and prepared a detailed overview on what’s new, including a deep explanation on the new structural…
Вот вы обновились до 3.10. От чего вы скорее откажетесь?
Anonymous Poll
28%
Не буду использовать новый синтаксис (паттерн матчинг)
33%
Перестану форматировать код при помощи black
40%
Ничего не потеряю, потому что ничем из этого не пользуюсь и не собираюсь
Причины пока что не обновляться до 3.10.
Некоторые из них уже не актуальны. Например, вчера на Docker Hub появились официальные образы с 3.10.
В любом случае, хорошим правилом считается дождаться первого релиза с фиксами, прежде чем обновлять прод (будет через полтора-два месяца). А экспериментировать можно и нужно уже сейчас!
https://pythonspeed.com/articles/switch-python-3.10/
Некоторые из них уже не актуальны. Например, вчера на Docker Hub появились официальные образы с 3.10.
В любом случае, хорошим правилом считается дождаться первого релиза с фиксами, прежде чем обновлять прод (будет через полтора-два месяца). А экспериментировать можно и нужно уже сейчас!
https://pythonspeed.com/articles/switch-python-3.10/
Python⇒Speed
When should you upgrade to Python 3.11?
Python 3.11 has been released—when should you switch to using it?