Python meetup (Online)
1. Real-time аналитика в Uchi.ru - как смотреть сложные метрики здесь и сейчас - Андрей Скиба, Uchi.ru
В докладе рассказывается об архитектуре системы real-time аналитики, разработанной в Uchi.ru, а также о примененных в ней подходах и технологиях.
2. FastAPI с нуля до production-ready образа - Алексей Шарыпов, VK
Поделюсь опытом, как запустить FastAPI приложение в продакшне. На простых примерах покажу как собрать контейнер с использованием Poetry.
3. Введение в функциональное программирование на Python - Алексей Каньков, Revizto
Основы функционального программирования и его применению в Python для разработчиков среднего и продвинутого уровня, которые хотят расширить свои знания в этой области.
➖➖➖
🗓 29 марта, начало в 19:00 мск, Среда
🌐 ОНЛАЙН
✅ Регистрация на мероприятие
1. Real-time аналитика в Uchi.ru - как смотреть сложные метрики здесь и сейчас - Андрей Скиба, Uchi.ru
В докладе рассказывается об архитектуре системы real-time аналитики, разработанной в Uchi.ru, а также о примененных в ней подходах и технологиях.
2. FastAPI с нуля до production-ready образа - Алексей Шарыпов, VK
Поделюсь опытом, как запустить FastAPI приложение в продакшне. На простых примерах покажу как собрать контейнер с использованием Poetry.
3. Введение в функциональное программирование на Python - Алексей Каньков, Revizto
Основы функционального программирования и его применению в Python для разработчиков среднего и продвинутого уровня, которые хотят расширить свои знания в этой области.
➖➖➖
🗓 29 марта, начало в 19:00 мск, Среда
🌐 ОНЛАЙН
✅ Регистрация на мероприятие
🔥12👍4
Вышло свежее исследование Django-экосистемы от JetBrains. Из интересного:
- за 2022 многие переехали с о старых и неподдерживаемых версий на 3.2/4.1
- забавный пассаж про "3.1 и ниже используют в основном опытные разработчики, а новички выбирают послденюю версию". Подозреваю, что на самом длеле это история о том, что когда ты работаешь с большой легаси кодовой базой обновляться - это каждый раз квест
- htmx набирает популярность и похоже отжимает пользователей у React (1 место) и jQuery (2 место)
- 46% разработчиков прописывают аннотации типов
- black/isrt/pre-commit неплохо прибавили в популярности
Ссылка https://lp.jetbrains.com/django-developer-survey-2022/
- за 2022 многие переехали с о старых и неподдерживаемых версий на 3.2/4.1
- забавный пассаж про "3.1 и ниже используют в основном опытные разработчики, а новички выбирают послденюю версию". Подозреваю, что на самом длеле это история о том, что когда ты работаешь с большой легаси кодовой базой обновляться - это каждый раз квест
- htmx набирает популярность и похоже отжимает пользователей у React (1 место) и jQuery (2 место)
- 46% разработчиков прописывают аннотации типов
- black/isrt/pre-commit неплохо прибавили в популярности
Ссылка https://lp.jetbrains.com/django-developer-survey-2022/
JetBrains: Developer Tools for Professionals and Teams
Django Developers Survey 2022 Results
Official Django Developers Survey 2022 Results by Django Software Foundation and JetBrains: 4,900 responses.
👍18
Сегодня будет очередной Moscow Python Meetup, к созданию которых я когда-то приложил руки. Даже если вы не в Москве, можно посмотреть трансляцию https://www.youtube.com/watch?v=v3buzDmoHxA
В программе:
* Лучший язык — это… или Пайтон против Суслика (Евгений Соколов, YADRO)
* Кто такой syslog, зачем читать RFC-* и причём тут Django (Максим Безруков, Ред Софт)
* и секретный доклад от Николая Маркова в Aligned Research Group
В программе:
* Лучший язык — это… или Пайтон против Суслика (Евгений Соколов, YADRO)
* Кто такой syslog, зачем читать RFC-* и причём тут Django (Максим Безруков, Ред Софт)
* и секретный доклад от Николая Маркова в Aligned Research Group
YouTube
Moscow Python Meetup x YADRO: о Go для питонистов, применении syslog и не только
Сообщество Moscow Python проводит свой 81-й митап при поддержке компании YADRO. Нас ждут 3 доклада. Зрители трансляции могут писать вопросы спикерам в ютуб-чате.
В программе:
* Лучший язык — это… или Пайтон против Суслика (Евгений Соколов, YADRO)
* Кто…
В программе:
* Лучший язык — это… или Пайтон против Суслика (Евгений Соколов, YADRO)
* Кто…
🔥12👍2
List comprehensions (выражения типа [x for x in iterable]) в питоне обычно сложновато даются новичкам. Но стоит один раз разобраться с синтаксисом, как понимаешь, насколько это удобный инструмент. Более того, они быстрее чем .append() в список в цикле.
И вот в новом PEP 709 предлагают оптимизировать их работу. Сейчас при переводе list/dict/set comprehension в байткод происходит создание вложенной функции и ее исполнение. Авторы PEP предлагают не создавать эту дополнительную вложенную функцию, а сразу писать в байткоде ее содержимое (inline). Это должно быть безопасно, так как в случае list comprehention мы не можем стандартными средствами в процессе его выполнения как-то повлиять на переменные внутри.
У этого подхода есть большой плюс - ускорение исполнения подобных выражений на 11% на тестах. Из минусов - в трейсбеках больше не будет пункта listcomp и при трейсинге/профилировании не будет видны вход в comprehension и выход из него. На мой взгляд плюсы заметно перевешивают минусы, надеюсь этот PEP примут и внедрят в одном из ближайших релизов.
Ссылка https://peps.python.org/pep-0709/
И вот в новом PEP 709 предлагают оптимизировать их работу. Сейчас при переводе list/dict/set comprehension в байткод происходит создание вложенной функции и ее исполнение. Авторы PEP предлагают не создавать эту дополнительную вложенную функцию, а сразу писать в байткоде ее содержимое (inline). Это должно быть безопасно, так как в случае list comprehention мы не можем стандартными средствами в процессе его выполнения как-то повлиять на переменные внутри.
У этого подхода есть большой плюс - ускорение исполнения подобных выражений на 11% на тестах. Из минусов - в трейсбеках больше не будет пункта listcomp и при трейсинге/профилировании не будет видны вход в comprehension и выход из него. На мой взгляд плюсы заметно перевешивают минусы, надеюсь этот PEP примут и внедрят в одном из ближайших релизов.
Ссылка https://peps.python.org/pep-0709/
Python Enhancement Proposals (PEPs)
PEP 709 – Inlined comprehensions | peps.python.org
Comprehensions are currently compiled as nested functions, which provides isolation of the comprehension’s iteration variable, but is inefficient at runtime. This PEP proposes to inline list, dictionary, and set comprehensions into the code where they a...
👍28
Наткнулся на интересную либу - MegaMock, которую позиционируют как более удобную замену для стандартного unittest.mock. В чем удобство:
- делает autospec по аналогии с create_autospec сразу по умолчанию
- принимает на вход не текстовую строку, а прямо объект или функцию, это удобно если делать например рефакторинг средствами IDE
- убирает необходимость в штуках типа
- при патчинге можно для отдельных методов оставлять реальную логику вместо мока
В общем выглядит интересно, попробую в пет-проджект затащить и посмотреть так ли все хорошо https://github.com/JamesHutchison/megamock
- делает autospec по аналогии с create_autospec сразу по умолчанию
- принимает на вход не текстовую строку, а прямо объект или функцию, это удобно если делать например рефакторинг средствами IDE
- убирает необходимость в штуках типа
with mock.patch()
потому что сразу патчит сам и везде- при патчинге можно для отдельных методов оставлять реальную логику вместо мока
В общем выглядит интересно, попробую в пет-проджект затащить и посмотреть так ли все хорошо https://github.com/JamesHutchison/megamock
GitHub
GitHub - JamesHutchison/megamock: The developer experience (DevX) upgrade for Python mocking
The developer experience (DevX) upgrade for Python mocking - JamesHutchison/megamock
👍24
Ребята, которые делают Starlite - еще один интересный веб-фреймворк, написали чуть больше подробностей о версии 2.0. Что интересного обещают:
- они выпиливают pydantic как обязательную зависимость. Можно будет продолжать использовать его, но если нужна скорость, можно взять тот же msgspec
- добавили event bus - возможность отправлять и получать сообщения. Сейчас работает только с in-memory очередью, но к релизу обещают поддержку reddis/rabbitmq
- поддержка key-value хранилищ - in-memory, redis, файлы. Теперь не нужно придумывать свою реализацию для, скажем, кеш-бекенда
Прямо интересно наблюдать за проектом, развивается активно и притаскивают интересные фичи. Полностью анонс можно прочитать на reddit https://www.reddit.com/r/Python/comments/122ld24/starlite_updates_march_22_20_is_coming/
- они выпиливают pydantic как обязательную зависимость. Можно будет продолжать использовать его, но если нужна скорость, можно взять тот же msgspec
- добавили event bus - возможность отправлять и получать сообщения. Сейчас работает только с in-memory очередью, но к релизу обещают поддержку reddis/rabbitmq
- поддержка key-value хранилищ - in-memory, redis, файлы. Теперь не нужно придумывать свою реализацию для, скажем, кеш-бекенда
Прямо интересно наблюдать за проектом, развивается активно и притаскивают интересные фичи. Полностью анонс можно прочитать на reddit https://www.reddit.com/r/Python/comments/122ld24/starlite_updates_march_22_20_is_coming/
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
🔥12👍3
В пятницу, 31 марта в 14:00 встретимся в прямом эфире Moscow Python Podcast с Мстиславом Казаковым, тимлидом в Usetech. Вместе с гостем обсудим:
• наблюдаемость(observability) сервисов;
• стандартизацию логов;
• подключение Elastic APM к Django-приложению;
• использование Openmetrics для выгрузки данных.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь по ссылке и ставьте колокольчик 😀, чтобы не забыть.
• наблюдаемость(observability) сервисов;
• стандартизацию логов;
• подключение Elastic APM к Django-приложению;
• использование Openmetrics для выгрузки данных.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь по ссылке и ставьте колокольчик 😀, чтобы не забыть.
YouTube
Боли и радости observability / подключение Elastic APM / liveness пробы и хелсчеки в Django
00:00 - интро
1:07 - что за такое observability
4:11 - куда смотреть, если observability не завезли
8:10 - зачем придумывать навороты с логгингом
12:03 - как ввести в проект observability
16:55 - о главной проблеме логов
21:04 - о readiness и liveness или…
1:07 - что за такое observability
4:11 - куда смотреть, если observability не завезли
8:10 - зачем придумывать навороты с логгингом
12:03 - как ввести в проект observability
16:55 - о главной проблеме логов
21:04 - о readiness и liveness или…
👍9🔥6
Если помните, несколько лет назад появилось предложение добавить в
Ставлю ссылку на пост-обоснование от steering council, но если коротко предложение завернули потому, что по факту оно решало только небольшой набор проблем с установкой пакетов. Но про более сложные задачи там сказано "переключайтесь на виртуальные окружения". Например, как ставить пакеты, в которых не только python-файлы, но и, скажем, бинарники.
Да, тем кто только приходит в язык это упростило бы жизнь, но до очень определенного предела и при попытке сделать что-то чуть более сложное им все равно бы пришлось переключаться на виртуальные окружения. А мы бы все получили еще +1 стандарт к итак довольно запутанному процессу управления пакетами в python. https://discuss.python.org/t/pep-582-python-local-packages-directory/963/430
path
папку __pypackages__
и ставить туда локальные пакеты по аналогии с node_modules
. Так вот, после долгих обсуждений это предложение (PEP 582) таки отклонили.Ставлю ссылку на пост-обоснование от steering council, но если коротко предложение завернули потому, что по факту оно решало только небольшой набор проблем с установкой пакетов. Но про более сложные задачи там сказано "переключайтесь на виртуальные окружения". Например, как ставить пакеты, в которых не только python-файлы, но и, скажем, бинарники.
Да, тем кто только приходит в язык это упростило бы жизнь, но до очень определенного предела и при попытке сделать что-то чуть более сложное им все равно бы пришлось переключаться на виртуальные окружения. А мы бы все получили еще +1 стандарт к итак довольно запутанному процессу управления пакетами в python. https://discuss.python.org/t/pep-582-python-local-packages-directory/963/430
Python Enhancement Proposals (PEPs)
PEP 582 – Python local packages directory | peps.python.org
This PEP proposes extending the existing mechanism for setting up sys.path to include a new __pypackages__ directory, in addition to the existing locations. The new directory will be added at the start of sys.path, after the current working directory an...
👍9🔥7
Вышел pandas 2.0 релиз, который был во многом ориентирован на улучшение производительности. Что интересного:
- Если раньше pandas работал только поверх
- Работа с отсутствующими значениями и строками стала эффективнее при использовании
- Copy-on-write - ленивое копирование, при котором реальное копирование данных откладывается до тех пор, пока мы не начнем изменять данные. Это уменьшит количество ошибок, когда меняя данные в срезе мы на самом деле меняем исходный фрейм и при этом не скажется на производительности, когда нам нужно только читать данные
- Числовые индексы теперь могут быть не только 64-х разрядные (`int64`,
- У datetime и timedelta теперь можно указывать единицу измерения. Если раньше pandas приводил все к наносекундам, теперь можно явно указать что-то типа
Полный список изменений: https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html
- Если раньше pandas работал только поверх
numpy
, теперь можно выбрать в качестве бекенда apache arrow
- Работа с отсутствующими значениями и строками стала эффективнее при использовании
arrow backend
- Copy-on-write - ленивое копирование, при котором реальное копирование данных откладывается до тех пор, пока мы не начнем изменять данные. Это уменьшит количество ошибок, когда меняя данные в срезе мы на самом деле меняем исходный фрейм и при этом не скажется на производительности, когда нам нужно только читать данные
- Числовые индексы теперь могут быть не только 64-х разрядные (`int64`,
uint64
, `float64`), но и любых других числовых типов - У datetime и timedelta теперь можно указывать единицу измерения. Если раньше pandas приводил все к наносекундам, теперь можно явно указать что-то типа
dtype="datetime64[s]"
Полный список изменений: https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html
🔥21👍8
Если вы с помощью pip ставите библиотеку по ссылке, например с гитхаба, то pip сохраняет информацию о том, откуда вы этот пакет поставили в файлик
С одной стороны, это очень "внутреннее" изменение, которое может быть интересно разве что разработчиков менеджеров пакетов. С другой стороны, мне показалось это интересным, так как позволит лучше понимать что, как и откуда устанавливалось на проекте. Особенно в случае, когда используется несколько репозиториев (например pypi и свой) и имена пакетов могут совпадать.
Ссылка на pep https://peps.python.org/pep-0710/
direct_url.json
. В новом PEP 710 предлагают расширить эту практику на все пакеты и для пакетов, поставленных из репозиториев типа pypi. Т.е. сохранять для всех пакетов ссылку и хеш.С одной стороны, это очень "внутреннее" изменение, которое может быть интересно разве что разработчиков менеджеров пакетов. С другой стороны, мне показалось это интересным, так как позволит лучше понимать что, как и откуда устанавливалось на проекте. Особенно в случае, когда используется несколько репозиториев (например pypi и свой) и имена пакетов могут совпадать.
Ссылка на pep https://peps.python.org/pep-0710/
peps.python.org
PEP 710 – Recording the provenance of installed packages | peps.python.org
Python Enhancement Proposals (PEPs)
🔥5👍3
Вышел LTS-релиз Django - 4.2. Long Term Support означает, что этот релиз будут поддерживать несколько лет, до 2026 года. Из интересных новинок:
- Реализовали поддержку
- Добавили возможность оставлять комментарии для таблиц и полей БД
- На смену
- In-memory file storage, удобная штука для использования в тестах, приятно учитывая, что
- Минимальная версия postgres теперь - 12-я
- Еще больше поддержки асинхронности -
И самое главное - добавили темную тему для админки. Все, кто не использовал Джангу из-за отсутствия темной темы, могут начинать использовать 🙂
Полный список изменений https://docs.djangoproject.com/en/4.2/releases/4.2/
- Реализовали поддержку
psycopg3
. Сейчас поддерживаются обе либы, но от psycopg2
планируют в будущем отказаться- Добавили возможность оставлять комментарии для таблиц и полей БД
- На смену
DEFAULT_FILE_STORAGE
и STATICFILES_STORAGE
приходит настройка STORAGES
, которая позволяет объявлять столько файловых стореджей, сколько нужно- In-memory file storage, удобная штука для использования в тестах, приятно учитывая, что
dj-inmemorystorage
уже несколько лет как перестала обновляться- Минимальная версия postgres теперь - 12-я
- Еще больше поддержки асинхронности -
asave()
, adelete()
и arefresh_from_db()
для моделей, плюс aadd()
, aclear()
, aremove()
и aset()
для relation managersИ самое главное - добавили темную тему для админки. Все, кто не использовал Джангу из-за отсутствия темной темы, могут начинать использовать 🙂
Полный список изменений https://docs.djangoproject.com/en/4.2/releases/4.2/
Django Project
Django 4.2 release notes | Django documentation
The web framework for perfectionists with deadlines.
🔥25👍3👎2
Завтра, 7 апреля в 14:00 по Москве будем обсуждать новости питона за март в прямом эфире:
- LTS-релиз Django 4.2;
- Pandas 2.0;
- PyTorch 2.0;
- свежее исследование Django-экосистемы от JetBrains.
- предложение по ускорению list comprehensions;
- отклоненное предложение по аналогу node_modules в Python
Приходите поболтать, ставьте лайки и вот это все 🙂 https://www.youtube.com/watch?v=vtjmhIhdweo
- LTS-релиз Django 4.2;
- Pandas 2.0;
- PyTorch 2.0;
- свежее исследование Django-экосистемы от JetBrains.
- предложение по ускорению list comprehensions;
- отклоненное предложение по аналогу node_modules в Python
Приходите поболтать, ставьте лайки и вот это все 🙂 https://www.youtube.com/watch?v=vtjmhIhdweo
YouTube
LTS-релиз Django 4.2 / вышли PyTorch 2.0 и Pandas 2.0 / свежие PEP
Эфир с ответами на вопросы пройдет 13 апреля, оставить вопрос можно в комментариях по ссылке https://youtube.com/live/fd_xgN_zHvk
00:00 - интро
1:20 - вышел LTS-релиз Django 4.2
14:30 - ответ на вопрос
17:26 - релиз Pandas 2.0
25:12 - выход PyTorch 2.0…
00:00 - интро
1:20 - вышел LTS-релиз Django 4.2
14:30 - ответ на вопрос
17:26 - релиз Pandas 2.0
25:12 - выход PyTorch 2.0…
🔥10👍6
Отвечаем на вопросы про Python в прямом эфире
Завтра, 13 апреля в 14:00 по Москве встретимся решили сделать трансяляцию Moscow Python Podcast, полностью посвешенный ответу на вопросы зрителей. Попробуем новый формат 🙂
Оставляйте свои вопросы анонимно в форме или публично в комментариях к трансляции — https://www.youtube.com/watch?v=fd_xgN_zHvk
Присоединяйтесь к нам по ссылке!
Завтра, 13 апреля в 14:00 по Москве встретимся решили сделать трансяляцию Moscow Python Podcast, полностью посвешенный ответу на вопросы зрителей. Попробуем новый формат 🙂
Оставляйте свои вопросы анонимно в форме или публично в комментариях к трансляции — https://www.youtube.com/watch?v=fd_xgN_zHvk
Присоединяйтесь к нам по ссылке!
Google Docs
Вопрос для Moscow Python Podcast
Привет! Оставляй свой вопрос анонимно в форме ниже. Ответим на него 13 апреля в прямом эфире Moscow Python Podcast
🔥10👍2
Внезапно резкие ребята из Sentry удалили пакет codecov с pypi. На редите плачут те, у кого из-за этого развалились пайплайны. Вроде как пакет давно выдавал deprecation warning, но кто их читает? 😉
Хорошо, что ребята из pypi заблокировали возможность сквоттинга названия пакета после его удаления. Иначе кто-нибудь шустрый и сообразительный вполне мог бы выложить что-нибудь прикольное с малварью внутри.
Я свои проекты проверил - у меня он нигде не используется. Проверьте у себя. Вот пост от codecov с извинениями и рекомендациями как правильно починить проблему https://about.codecov.io/blog/message-regarding-the-pypi-package/
Доброе утро 🙂
Хорошо, что ребята из pypi заблокировали возможность сквоттинга названия пакета после его удаления. Иначе кто-нибудь шустрый и сообразительный вполне мог бы выложить что-нибудь прикольное с малварью внутри.
Я свои проекты проверил - у меня он нигде не используется. Проверьте у себя. Вот пост от codecov с извинениями и рекомендациями как правильно починить проблему https://about.codecov.io/blog/message-regarding-the-pypi-package/
Доброе утро 🙂
Codecov
Message regarding the PyPI package - Codecov
EDIT 2023-04-17: We have re-instated the codecov package to PyPI as version 2.1.13. We are unfortunately unable to push 2.1.12, and users who still wish to use this package are ...
👍15
Так получилось, что в апреле мне понадобилось апдейтить Django в двух проектах - один здоровенный монолит с 3.1 до 3.2 и маленький moscowpython.ru с 1.9 до 4.2. Как ни странно, переход 3.1->3.2 попил больше крови из-за кучи зависимостей и легаси кода, но рассказать я хочу не об этом.
Я хочу рассказать о небольшой библиотечке
Итого — это штука, которая позволяет при обновлении не копаться в ченджлогах, а отдать некоторый кусок рефакторинга пир апдейте автоматике. Рекомендую посмотреть на нее, если вам нужно апгрейдить версию джанги.
Ссылка - https://github.com/adamchainz/django-upgrade
Я хочу рассказать о небольшой библиотечке
django-upgrade
, которая оказалось очень полезной при обновлении. Ей нужно указать на какую версию ты хочешь обновиться, после чего она шерстит файлы проекта и заменяет всякие deprecated-штуки на их замену из новых версий - например переписывает использование url()
на path()
в urlconf-ах, заменяет NullBooleanField()
на BooleanField(null=True)
и все такое прочее. Полный список того, что она делает можно посмотреть в readme.Итого — это штука, которая позволяет при обновлении не копаться в ченджлогах, а отдать некоторый кусок рефакторинга пир апдейте автоматике. Рекомендую посмотреть на нее, если вам нужно апгрейдить версию джанги.
Ссылка - https://github.com/adamchainz/django-upgrade
GitHub
GitHub - adamchainz/django-upgrade: Automatically upgrade your Django projects.
Automatically upgrade your Django projects. Contribute to adamchainz/django-upgrade development by creating an account on GitHub.
🔥41👍20
28 апреля в 14:00 делаем очередной прямой прямом эфир Moscow Python Podcast, где будем говорить об обучении программированию в целом и python в частности. В гости придет Артем Рудаковский, преподаватель в Лицее Академии Яндекса.
Обсудим:
→ за что взяться начинающему специалисту в первую очередь;
→ как сделать свой первый проект;
→ ресурсы, которые помогут изучить Python;
→ нужно ли всем изучать программирование.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
Обсудим:
→ за что взяться начинающему специалисту в первую очередь;
→ как сделать свой первый проект;
→ ресурсы, которые помогут изучить Python;
→ нужно ли всем изучать программирование.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
YouTube
Обучение подростков и взрослых Python в 2023 году / Программирование — вторая грамотность
00:00 - интро
00:47 - путь Артема в программировании и начало преподавания
3:56 - что такое Академия Яндекса
5:35 - Яндекс приходит в школы и делает свое обучение или заменяет уроки информатики
8:06 - что вкладывается в тезис «программирование — вторая…
00:47 - путь Артема в программировании и начало преподавания
3:56 - что такое Академия Яндекса
5:35 - Яндекс приходит в школы и делает свое обучение или заменяет уроки информатики
8:06 - что вкладывается в тезис «программирование — вторая…
👍5🔥4
PyPi анонсировали новую фичу для публикации пакетов - Trusted Publishers. Грубо говоря - это возможность использовать короткоживущие OIDC-токены вместо логина/пароля/токена для публикации пакетов на pypi.
Выглядит удобно, самый простой способ начать этим пользоваться - использовать готовый Github Action https://github.com/marketplace/actions/pypi-publish
Ссылка на блог - https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/
Выглядит удобно, самый простой способ начать этим пользоваться - использовать готовый Github Action https://github.com/marketplace/actions/pypi-publish
Ссылка на блог - https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/
GitHub
pypi-publish - GitHub Marketplace
Upload Python distribution packages to PyPI
👍8
Небезызвестный Армин Ронахер - автор Flask - выложил свою замену pip/poetry/venv/pipenv/hatch и т.д. - `Rye. Написан на rust и явно под влиянием cargo. Выглядит довольно удобно - можно выбрать версию python, сам создает и мейнтейнит pyproject.toml, пакеты ставит с помощью pip-tools под капотом. В общем на странице проекта есть 10-минутное видео, где Армин показывает работу с rye.
Из минусов - похоже он не планирует активно заниматься проектом, поэтому возникает вопрос насколько можно его использовать за пределами личных проектов. Работает пока только на linux и mac. В общем буду посматривать, будет здорово если мы получим не еще один 100500-й менеджер пакетов, а популярный инструмент, который составит хорошую конкуренцию существующим.
Ссылка на репо - https://github.com/mitsuhiko/rye
Из минусов - похоже он не планирует активно заниматься проектом, поэтому возникает вопрос насколько можно его использовать за пределами личных проектов. Работает пока только на linux и mac. В общем буду посматривать, будет здорово если мы получим не еще один 100500-й менеджер пакетов, а популярный инструмент, который составит хорошую конкуренцию существующим.
Ссылка на репо - https://github.com/mitsuhiko/rye
GitHub
GitHub - astral-sh/rye: a Hassle-Free Python Experience
a Hassle-Free Python Experience. Contribute to astral-sh/rye development by creating an account on GitHub.
🔥12👍8👎1
В debian теперь перестанет позволять делать pip install не в виртуальном окружении (https://peps.python.org/pep-0668/). Мотивация - чтобы нельзя было (просто) заменить пакеты установленные apt-ом на пакеты из pypi.
С одной стороны выглядит как разумный шаг для большей стабильности системы, с другой стороны это неожиданное поведение для новичков на линуксе. Так-то, конечно, можно поставить свою отдельную версию питона и там pip будет ставить пакеты глобально, если вам зачем-то это нужно.
В Ubuntu это поведение будет поддержано уже в 23.04. Вот тут новость https://salsa.debian.org/python-team/packages/python-pip/-/blob/master/debian/NEWS
С одной стороны выглядит как разумный шаг для большей стабильности системы, с другой стороны это неожиданное поведение для новичков на линуксе. Так-то, конечно, можно поставить свою отдельную версию питона и там pip будет ставить пакеты глобально, если вам зачем-то это нужно.
В Ubuntu это поведение будет поддержано уже в 23.04. Вот тут новость https://salsa.debian.org/python-team/packages/python-pip/-/blob/master/debian/NEWS
Python Enhancement Proposals (PEPs)
PEP 668 – Marking Python base environments as “externally managed” | peps.python.org
A long-standing practical problem for Python users has been conflicts between OS package managers and Python-specific package management tools like pip. These conflicts include both Python-level API incompatibilities and conflicts over file ownership.
👍27
Вышел urllib3 2.0 над которым работали с 2020 года. Часть фичей похожа на то, к чему многие привыкли в requests:
- Добавили простой интерфейс для запросов
- Сделали возможность удобно отправлять и принимать json
- Добавили тайп-хинты
Ссылка на новость о релизе https://sethmlarson.dev/urllib3-2.0.0
- Добавили простой интерфейс для запросов
urllib3.request()
который сазу возвращает response.- Сделали возможность удобно отправлять и принимать json
- Добавили тайп-хинты
Ссылка на новость о релизе https://sethmlarson.dev/urllib3-2.0.0
Seth Michael Larson
urllib3 v2.0.0 is now generally available
urllib3 v1.0 was first published 12 years ago in 2011 and has served the Python community beyond anyone's dreams.
Since that time, urllib3 has been installed over 8 billion times to become the most...
Since that time, urllib3 has been installed over 8 billion times to become the most...
👍24