Питонические атаки
1.19K subscribers
183 photos
4 videos
1 file
459 links
Всяческие заметки про программирование на Python и другие весёлые истории.
Download Telegram
Питонические атаки
Кстати, по поводу Code With Me. Это абсолютно бесплатная (пока что, пока оно еще находится в разработке и, вероятно, содержит какие-то баги) функциональность, так что предлагаю не упускать возможности и попробовать. Ну вы только посмотрите, там даже есть аудио…
С тех пор, когда я об этом писал в предыдущий раз, у Code With Me вышел публичный релиз, и сервис разделился на разные тарифы. В бесплатном тарифе есть ограничения (3 гостя и продолжительность сеанса не более 30 минут). Но если у вас есть подписка на PyCharm или другие IDE, то вам доступен премиум тариф (50 гостей, нет ограничений по времени) и платить ничего отдельно не надо.

Стоит отметить, что важно лишь то, какой тариф у хоста, чья IDE шарится. У гостей вообще может даже не быть IDE (wat? как это работает?).

Пост в блоге: https://blog.jetbrains.com/blog/2021/04/12/code-with-me-reaches-public-release/

#jetbrains
NASA опубликовало список опенсорс зависимостей, которые использовались при разработке софта для Ingenuity — первого аппарата, взлетевшего не в земной атмосфере. Примечательно, что добрая часть этих зависимостей нам всем хорошо знакома — это самые обычные библиотеки на Python, которыми мы пользуемся постоянно, в том числе boto3, requests, attrs, Flask, и, конечно же, научный набор — numpy и scipy. GitHub в свою очередь раздал контрибуторам этих проектов бэйджи-ачивки. Такие бэйджи получило примерно 12 тысяч человек со всего мира.

Пост в блоге: https://github.blog/2021-04-19-open-source-goes-to-mars/
Список библиотек: https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#list-of-qualifying-repositories-for-mars-2020-helicopter-contributor-badge

Иногда думается, что опенсорс нужен только для того, чтобы впечатлять рекрутеров зелёной стеной активности на гитхабе, но вот в такие моменты понимаешь, что это всё реально важно. Опенсорс движет человечество вперёд 🦾

#flask
Дали ли кому-нибудь из вас такую ачивку на гитхабе? Если дали, то пишите в комменты, буду за вас гордиться и завидовать 😅
Судя по списку библиотек, можно подумать, что Ingenuity — это веб-сервер с API на Flask, который при этом ещё и пользуется какими-то сервисами с AWS (S3?), попутно перемножая матрицы, перемалывая все известные форматы данных (JSON, YAML, TOML и XML), нарезая какие-то картинки. У всего этого есть тесты на pytest, а где-то сбоку ещё GUI на Tkinter. Логи складываются в ElasticSearch, который тоже лежит где-то неподалёку.

Казалось бы, как вот это может взлететь? Но ведь летает!

#flask
Берегите своих детенышей!

via MonkeyUser

#meme
У black — автоформаттера кода на Python с фиксированным, ненастраиваемым стилем — вышла новая версия. К сожалению, это опять лишь бета.

В списке изменений есть пункты про запятые в конце строки и докстринги, а также много разных баг-фиксов. Релиз скорее минорный, но обновиться все равно будет полезно. Напоминаю, потому что, например, у пользователей pipenv скорее всего запинена конкретная версия (из-за особенностей pipenv, он не очень хорошо умеет работать с пре-релизами), и они не получат этого обновления автоматически.

О релизе: https://github.com/psf/black/releases/tag/21.4b0

Кстати, я же когда-то писал пост про black: https://semakin.dev/2020/05/black/
Как вы уже знаете, мне нравятся всякие опросы аудитории, а особенно их результаты, поэтому я каждый раз пощу сюда результаты StackOverflow Survey, Python Ecosystem Survey и так далее. А еще мне нравится Telegram.

Тут сейчас как раз проводится опрос пользователей Telegram. А вдруг что интересное будет в результатах? Я уже прошёл (заняло 5 минут), и вас тоже приглашаю. Вроде чего-то конфиденциально-идентифицирующего даже особо не спрашивали.

https://tgstat.ru/research
WSL (Windows Subsystem for Linux) — это когда ты, будучи на Windows, запускаешь терминал и оказываешься в полноценном bash (или что там у вас, лично мне нравится fish), где есть все привычные консольные инструменты. А скоро эта штука сможет запускать и графические программы внутри Linux, отрисовывая окна в Windows. И ваш софт с GUI из Linux прям попадёт в «Пуск» и в целом будет мало чем отличаться от обычных, виндовых программ. Эта функциональность уже доступна в сборках Windows Insiders, а код лежит на GitHub:

https://github.com/microsoft/wslg

Пока не понял, зачем мне это надо, но это очень круто. На скриншоте в репозитории у них запущен PyCharm внутри WSL.
Forwarded from Geeks (shekpar)
Себастьян Рамирез, известный под никнеймом "tiangolo", когда-то побывал в гостях у подкаста TalkPython и из этого выпуска я узнал о его проект FastAPI. Для тех, кто не знает - Себастьян разрабатывает фреимворк FastAPI и сейчас это очень быстро набирающий популярность инструмент для разработки HTTP сервисов на python. Фреймворк из коробки сразу предоставляет все плюшки использования тайпинга для валидации данных вкупе с моделями библиотеки pydantic, автогенерацией openapi спеки и много всего разного и приятного по мелочам. После фастапи мне пришлось даже зафрендзоноить aiohttp и навсегда бросить Flask, который в моей жизни так и оставался быстрой наколеночной хреновиной для прототипирования. В общем, я рад и всем кто не смотрел фреймворк - советую глянуть. Использую я его как для рабочих сервисов, так и для пэт-проджектов - ощущения самые положительные.

https://talkpython.fm/episodes/show/284/modern-and-fast-apis-with-fastapixx
Microsoft становится PSF Visionary Sponsor. Чтобы вы понимали, это наивысшая степень спонсорства. На данный момент с таким же статусом спонсируют Python только Google и Bloomberg. Microsoft вообще молодцы.

https://pyfound.blogspot.com/2021/04/welcoming-microsoft-as-visionary-sponsor.html

А ещё из этого поста стало известно, что Гвидо в Microsoft работает над улучшениями производительности CPython — эталонной реализации интерпретатора.

UPD: а в блоге Microsoft эта новость изложена интереснее:
https://devblogs.microsoft.com/python/?p=8396
Товарищ посоветовал игру для пятничного вечера — симулятор канбана. Забавно подвигать тикеты между столбцами, поназначать задачи разным людям. Цель игры — максимизировать прибыль. В игре, как и в жизни, постоянно происходит какая-то дичь, мешающая работать. Попробуйте!

http://www.kanbanboardgame.com/
#оффтопик

Я в последнее время стал читать много разных источников, и вот, спустя 22 года после создания этого протокола, я стал активно пользоваться RSS. Feedly — очень удобный бесплатный клиент, есть и веб-версия, и мобильные приложения.

Дак вот, к чему это я. Бесит, что некоторые интересные источники существуют исключительно в виде e-mail рассылок. Мне кажется, что авторы таких ресурсов максимально не правы. Лично у меня письма на почту воспринимаются как что-то, что нужно открыть и прочитать как можно скорее, иначе оно будет доставать этим висячим уведомлением. Но я не всегда готов прям сразу брать и читать длинные письма рассылок. Но если я отмечу сообщение прочитанным, то потом забуду про него и не прочту, а я хочу прочитать, но не прямо сейчас. Намного удобнее просто открыть свой RSS-клиент в спокойной обстановке и в подходящее для меня время, и с радостью обнаружить, что мне принесли нового контента почитать. Короче, для регулярных изданий формат RSS-фидов мне кажется более подходящим, чем рассылки. Да и на почту у меня и так много чего сыпется, хотелось бы сокращать количество писем. Есть такой классный бесплатный сервис, который конвертирует e-mail рассылки в RSS-фиды: https://kill-the-newsletter.com/

И это просто офигенно! Если тоже мучаетесь, читая рассылки на почте, то рекомендую попробовать.

Вот какие рассылки я уже конвертировал для себя в RSS:

* https://tldr.tech/ — короткие ежедневные гиковские новости про технологии, науку и программирование;
* https://programmerweekly.com/ — еженедельные новости про разработку;
* https://pythonweekly.com/ — еженедельные новости про Python.

Кстати, поделитесь в комментариях рассылками и блогами, которые вы читаете 👇
Python 3.10 получил свой первый бета-релиз. Это значит, что наступил фича-фриз, дальше будут только баг-фиксы и улучшения в документацию. Напомню, что финальный релиз 3.10.0 ожидается в октябре.

https://pythoninsider.blogspot.com/2021/05/python-3810-395-and-3100b1-are-now.html

Кроме того, с этого момента можно считать официально начатой разработку ветки 3.11.
Кстати, прикольно, что в Python 3.10 будут улучшены сообщения об ошибках. Например, вместо общего «invalid syntax» Python сможет объяснять, что ему не хватает двоеточия или же пользователь пытается присвоить вместо сравнения (перепутал == и =). Это должно сильно помочь новичкам разобраться с языком, да и в целом это только улучшит впечатления от пользования языком.
Кстати, снова про спонсоров Python Software Foundation. Мне почему-то показалось, что только Microsoft недавно стал Visionary Sponsor, хотя на самом деле два других спонсора — Google и Bloomberg — тоже получили этот статус совсем недавно. Благодаря этому PSF теперь может нанять двух фулл-тайм работников.

Разработчик, который будет заниматься поддержкой и развитием CPython.
https://pyfound.blogspot.com/2021/04/the-psf-is-hiring-developer-in.html

Проджект-менеджер, который будет заниматься развитием всего, что связано с pip, PyPI и системой пакетирования в целом.
https://pyfound.blogspot.com/2021/04/the-psf-is-hiring-python-packaging.html
opennet.ru
Facebook открыл код Cinder, форка CPython, используемого в Instagram https://opennet.ru/55083/
☝️ Это ведь уже не первый форк CPython, где корпорации пытаются допилить его под свои нужды и срезать какие-то неоптимальные углы. Вспомнить хотя бы Pyston от Dropbox, который на разных бенчмарках показывает прирост производительности от 20 до 95% по сравнению с CPython. Хотя полностью они исходники так и не открыли.

Что я могу сказать по этому поводу. Во-первых, мне странно, что если корпорацию не устраивает производительность Python, им проще сделать свой форк интерпретатора, чем переписать свои проекты на более производительные языки (например, Golang). Видимо, у них там прям очень много кода, а горизонтальное масштабирование уже себя исчерпало. Во-вторых, хотя все эти ускоряющие проекты скорее всего обречены умереть в безвестности, хочется надеяться, что ценные идеи оттуда всё-таки постепенно переползут в CPython. Количество экспериментальных форков рано или поздно должно конвертироваться в качество основного проекта.

Кстати, а вы видели вот такой документ? Это план по ускорению CPython от одного из core-контрибьюторов: https://github.com/markshannon/faster-cpython/blob/master/plan.md
Стоило только вспомнить про Pyston, как они в тот же день выпускают новый релиз с полностью открытыми исходниками. Заявляют, что можно просто заменить бинарник python на pyston и получить ускорение на 30%. К сожалению, внесены некоторые низкоуровневые изменения, из-за чего предсобранные пакеты (wheels) для CPython не подойдут, придётся все C/Rust/…-зависимости пересобирать из исходников.

https://blog.pyston.org/2021/05/05/pyston-v2-2-faster-and-open-source/
А нет ли у вас желания отвлечься от программирования на работе/учебе и ещё немного покодить для себя? Правила игры такие — я придумываю небольшую задачу (возможно даже интересную), мы все её решаем, а затем в процессе культурного перекидывания какашками без правил выясняем, чьё решение самое правильное и красивое. Язык — Python, само собой. Просто интересно понаблюдать за ходом мыслей других людей, как они подходят к решению и какими приёмами пользуются.