Послезавтра, 27 января в 13:15 по Москве проведем прямую трансляцию очередного Moscow Python Podcast. В гости придет Иван Самсонов, продакт-менеджер в прикладных исследованиях ИИ во ВКонтакте.
Обсудим:
• философию работы в команде;
• можно ли научить бизнес ставить ML задачи;
• тренды прикладного ИИ;
• исследования и продуктовую разработку в ML;
• этичность применения технологий;
• настала ли эра ИИ.
В ходе трансляции будем отвечать на вопросы и комментарии с Ютуба в прямом эфире. Присоединяйтесь https://youtu.be/K8gDQykx25Q
Обсудим:
• философию работы в команде;
• можно ли научить бизнес ставить ML задачи;
• тренды прикладного ИИ;
• исследования и продуктовую разработку в ML;
• этичность применения технологий;
• настала ли эра ИИ.
В ходе трансляции будем отвечать на вопросы и комментарии с Ютуба в прямом эфире. Присоединяйтесь https://youtu.be/K8gDQykx25Q
🔥5👍4
Вышел релиз SQLAlchemy 2.0, получается довольно интересно:
- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")
Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.
Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")
Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.
Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
🔥26👍14
YAML
в последние годы набрал огромную популярность, но наверное самая большая проблема с ним в том, что он выглядит просто, но на самом деле формат очень замороченный. Спецификация состоит из 10-и глав https://yaml.org/spec/1.2.2/. Честно признаюсь - я не осилил прочитать ее полностью, думаю, как и большинство людей, активно использующих yaml
.И вот тут мы подходим к теме сегодняшней статьи. Из-за того, что формат сложный, но с ним пытаются работать как с простым, есть много неочевидных способов поломать
yaml-документ. Например, ключи словаря в `yaml
` могут быть любого типа, не только строками. Если это совместить с тем, что yaml
считает, что on
— это True
, а off
— это False
, то вот этот пример из Quickstart-а Github Actions:
on: [push]
будет прочитан как:
True: ['push']
Интересно, в Github Actions свой, пропатченый парсер или они
on
и True
в ключах считают одним и тем же?В общем вот хорошая статья, в которой разбирается этот и многие другие неочевидные ловушки формата. Очень рекомендую всем, кто сталкивается с необходимостью писать/править YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
Ruudvanasseldonk
The yaml document from hell
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
👍22
Кстати, в эту пятницу в 14:00 МСК будет новый стрим python-подкаста. В этот раз мы пробуем новый формат, вместе с Ильей Лебедевым обсудим, что интересного произошло в python-экосистеме за месяц. В темах:
- что интересного происходит в разработке веб-фреймворков
- обсудим выход SQLAlchemy 2.0
- свежие PEP и особенно возможность собирать python без GIL (и другие новые pep-ы)
и другие новости, связанные с python. Приходите на стрим на ютуб и задавайте вопросы в комментариях! https://www.youtube.com/live/wZ8PMWtRCe4?feature=share
- что интересного происходит в разработке веб-фреймворков
- обсудим выход SQLAlchemy 2.0
- свежие PEP и особенно возможность собирать python без GIL (и другие новые pep-ы)
и другие новости, связанные с python. Приходите на стрим на ютуб и задавайте вопросы в комментариях! https://www.youtube.com/live/wZ8PMWtRCe4?feature=share
YouTube
Выход SQLAlchemy 2.0 / сборка Python без GIL / топ Python библиотек 2022 и другие новости Python
0:00 - интро
1:03 - фреймворк Robin c Rust-рантаймом и его связь с искусством
6:31 - PEP 703 или Python без GIL
10:43 - запуск SQLAlchemy 2.0 или алхимия для дедов
13:48 - ответ на вопрос, перспективно ли учить FastAPI или углубляться в Django
14:00 - ответ…
1:03 - фреймворк Robin c Rust-рантаймом и его связь с искусством
6:31 - PEP 703 или Python без GIL
10:43 - запуск SQLAlchemy 2.0 или алхимия для дедов
13:48 - ответ на вопрос, перспективно ли учить FastAPI или углубляться в Django
14:00 - ответ…
🔥16👍4
Еще одна интересная статья из серии "как все устроено под капотом". В общем случае отдавать файлы с помощью питоновских фреймоврков идея не очень хорошая - это будет не очень производительно, гораздо лучше файлы раздавать с какого-нибудь S3-хранилища, использовать CDN или хотя-бы Nginx (или аналог). Тем не менее, иногда это нужно и оправданно.
И дальше идет интересное, оказывается
А вот aiohttp поступает умнее - он использует
В общем, если вы генерируете и отдаете в браузер файлы питоном и делаете это часто - посмотрите, как это реализовано в используемом вами фреймворке, возможно вы сможете сэкономить ресурсы. Оригинальная статья https://medium.com/@alsadi/secret-sauce-is-zero-copy-single-context-switching-b749bd614dca
И дальше идет интересное, оказывается
FastAPI
(а точнее Starlette
на которой он основан) читает файл чанками(кусочками) и отдает браузеру. И чтение файла по кусочку в цикле - очевидно не самая эффективная операция.А вот aiohttp поступает умнее - он использует
loop.sendfile
, который в свою очередь использует os.sendfile()
который использует доступную на Linux и MacOS функцию ядра sendfile()
, которая позволяет отправить файл в сокет максимально эффективно. И судя по тестам вариант с sendfile
в 7 раз быстрее.В общем, если вы генерируете и отдаете в браузер файлы питоном и делаете это часто - посмотрите, как это реализовано в используемом вами фреймворке, возможно вы сможете сэкономить ресурсы. Оригинальная статья https://medium.com/@alsadi/secret-sauce-is-zero-copy-single-context-switching-b749bd614dca
GitHub
starlette/starlette/responses.py at ea70fd57b286824350da88c6d484c32bdf31627a · encode/starlette
The little ASGI framework that shines. 🌟. Contribute to encode/starlette development by creating an account on GitHub.
🔥28👍11
Вышел MyPy 1.0.0, из интересных изменений:
- На 40% быстрее, я очень рад, потому что на более-менее большой кодовой базе он раньше тормозил как не в себя
- Добавили сообщения о undefined variables, использовании переменной до ее объявления. Кажется, тот же flake8 нормально это отлавливает, но все равно выглядит небесполезно
- Добавили поддержку типа Self (есть в 3.11, для более ранних версий надо использовать typing_extensions)
- Реализовали поддержку ParamSpec, но я если честно еще ни разу ParamSpec не использовал в реальном коде, но если интересно, это PEP 612
И еще из интересного, они на конец перешли на semver и теперь будет проще по номерам версий понимать, будут ли подводные камни при обновлении 🙂
Подробнее вот тут https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html
- На 40% быстрее, я очень рад, потому что на более-менее большой кодовой базе он раньше тормозил как не в себя
- Добавили сообщения о undefined variables, использовании переменной до ее объявления. Кажется, тот же flake8 нормально это отлавливает, но все равно выглядит небесполезно
- Добавили поддержку типа Self (есть в 3.11, для более ранних версий надо использовать typing_extensions)
- Реализовали поддержку ParamSpec, но я если честно еще ни разу ParamSpec не использовал в реальном коде, но если интересно, это PEP 612
И еще из интересного, они на конец перешли на semver и теперь будет проще по номерам версий понимать, будут ли подводные камни при обновлении 🙂
Подробнее вот тут https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html
Python Enhancement Proposals (PEPs)
PEP 612 – Parameter Specification Variables | peps.python.org
There currently are two ways to specify the type of a callable, the Callable[[int, str], bool] syntax defined in PEP 484, and callback protocols from PEP 544. Neither of these support forwarding the parameter types of one callable over to another calla...
👍18🔥5
10 февраля в 14:00 МСК на очередном эфире будем обсуждать: Что нового в Python 3.12 с Никитой Соболевым, CTO wemake.services.
Обсудим:
• обновленную реализацию виртуальной машины;
• новые typing PEPs;
• Unstable C-API tier;
• начало большой чистки stdlib;
• C-API Watchers.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
Обсудим:
• обновленную реализацию виртуальной машины;
• новые typing PEPs;
• Unstable C-API tier;
• начало большой чистки stdlib;
• C-API Watchers.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
YouTube
Новинки в Python 3.12 / Опять переписали виртуальную машину / Большая чистка stdlib
В гостях у Moscow Python Podcast Никита Соболев, CTO wemake.services. Обсудили обновления в Python 3.12.
00:00 - интро
1:18 - «в Python уже все есть, но все время хочется что-то сделать»
3:35 - переписали виртуальную машину на DSL
10:20 - Гриша делится…
00:00 - интро
1:18 - «в Python уже все есть, но все время хочется что-то сделать»
3:35 - переписали виртуальную машину на DSL
10:20 - Гриша делится…
🔥16👍10
32 года назад, 20 февраля 1991 года Гвидо запостил в мейллист alt.sources исходники питона 0.9.1 - это считается первым релизом языка:
Если интересно, можно посмотреть ветку сообщений с исходниками тут (да, исходники просто текстом в 21 письме) - https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html
This is Python, an extensible interpreted programming language that combines remarkable power with very clear syntax.
Если интересно, можно посмотреть ветку сообщений с исходниками тут (да, исходники просто текстом в 21 письме) - https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html
🔥30👍6
Завтра, 23 февраля в 14:00 будет очередной прямой эфир Moscow Python Podcast. Будем обсуждать Copilot - какая от него польза и вред, лайфхаки по использованию и какие есть аналоги.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть https://www.youtube.com/live/lKnMBGqguRo?feature=share
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть https://www.youtube.com/live/lKnMBGqguRo?feature=share
YouTube
Copilot для Python-разработчика. Почему AI не изменил разработку?
В гостях у Moscow Python Podcast Арсений Сапелкин, тимлид, KasperskyOS и Никита Соболев, CTO wemake.services. Обсудим лайфхаки по использованию Copilot, почему вся разработка еще не автоматизирована, пользу инструмента для разработчиков и опасности Copilot…
👍10🔥2
Phylum обнаружили, что в pypi залита большая пачка (1 138 штук!) пакетов с малварью внутри. Выглядит так, что атака направлена на windows-машины, но это не тайпсквотинг (когда название пакета с малварью похоже на название популярного пакета). Сами пакеты с pypi выпилили очень оперативно. Вот тут можно почитать подробности - https://blog.phylum.io/phylum-discovers-another-attack-on-pypi
Это уже третий раз в этом месяце, когда на pypi выкладывают пакеты "с подвохом", поэтому на всякий случай напомню правила:
1. Прежде чем ставить пакет, зайдите на его страницу на pypi и убедитесь, что вы ставите именно тот пакет, который планируете. Сравните название с названием в официальном репозитории/документации — это поможет не попасть на "тайпсквоттинг"-пакеты
2. Пиньте зависимости — это может уберечь в ситуации, если злоумышленник каким-то образом сможет пропихнуть опасный код в релиз используемого вами пакета
3. Лично я предпочитаю пинить хеши пакетов, в этом случае если кто-то сумеет подменить пакет, то образ в ci просто не соберётся и я об этом узнаю
Ссылки на предыдущие атаки на pypi: раз и два
Это уже третий раз в этом месяце, когда на pypi выкладывают пакеты "с подвохом", поэтому на всякий случай напомню правила:
1. Прежде чем ставить пакет, зайдите на его страницу на pypi и убедитесь, что вы ставите именно тот пакет, который планируете. Сравните название с названием в официальном репозитории/документации — это поможет не попасть на "тайпсквоттинг"-пакеты
2. Пиньте зависимости — это может уберечь в ситуации, если злоумышленник каким-то образом сможет пропихнуть опасный код в релиз используемого вами пакета
3. Лично я предпочитаю пинить хеши пакетов, в этом случае если кто-то сумеет подменить пакет, то образ в ci просто не соберётся и я об этом узнаю
Ссылки на предыдущие атаки на pypi: раз и два
Phylum Research | Software Supply Chain Security
Phylum Discovers Aggressive Attack on PyPI Attempting to Deliver Rust Executable
Phylum discovers ~6,000 malicious packages published to PyPI shipping Rust stage 1 executables in ongoing malware campaign.
👍22
Вышел большой отчет про то, как python используется в блокчейн-разработке. И выглядит так, что таки используется. Из интересного, оказывается есть целая конференция PyChain и доклады выложены на ютубе - может быть интересно тем, кто интересуется темой.
В остальном, отчет просто перечисляет популярные библиотеки/тулы/sdk на питоне, связанные с блокчейном. Предсказывают, что в этом году разработка начнет больше уходить от доминирования Etherium/bitcoin и python-а в блокчейн-разработке станет больше Я от этой тематики далек, но посмотреть было интересно.
Ссылка на отчет https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023
В остальном, отчет просто перечисляет популярные библиотеки/тулы/sdk на питоне, связанные с блокчейном. Предсказывают, что в этом году разработка начнет больше уходить от доминирования Etherium/bitcoin и python-а в блокчейн-разработке станет больше Я от этой тематики далек, но посмотреть было интересно.
Ссылка на отчет https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023
Trading Strategy
The state of Python in blockchain - 2023 report
An overview of Python programming language technologies in blockchain software development ecosystems in 2023.
🔥10👍4
Хороший пост про проблему, про которую довольно легко забыть. Если делать просто
В документации это поведение отражено только с 3.9, хотя сама функция появилась в 3.7. Сейчас даже в примере хорошо показали "как правильно", тем не менее думаю многие и не помнят про такое поведение (я вот не помнил). Вот тут расписано подробнее https://textual.textualize.io/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/
asyncio.create_task()
не сохраняя ссылку на результат в переменную, то сборщик мусора может прибить задачу до того, как она будет исполнена и получится очень сложно отлавливаемый баг.В документации это поведение отражено только с 3.9, хотя сама функция появилась в 3.7. Сейчас даже в примере хорошо показали "как правильно", тем не менее думаю многие и не помнят про такое поведение (я вот не помнил). Вот тут расписано подробнее https://textual.textualize.io/blog/2023/02/11/the-heisenbug-lurking-in-your-async-code/
Textual Documentation
Textual - The Heisenbug lurking in your async code
Textual is a TUI framework for Python, inspired by modern web development.
👍18🔥8
Привет, приближается первая пятница месяца, а значит 3 марта в 14:00 по Москве мы снова соберемся онлайн, чтобы обсудить новости python за февраль. В этом выпуске:
• 32 года Python;
• три больших атаки на pypi за месяц, и что с этим собираются делать?;
• три главных тренда 2023 в Python;
• вышел отчет по Python в блокчейне, оказывается python там тоже используют;
• вышел mypy 1.0;
и другие новости.
В ходе трансляции Moscow Python Podcast будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке https://www.youtube.com/watch?v=36APuXAnSoo
• 32 года Python;
• три больших атаки на pypi за месяц, и что с этим собираются делать?;
• три главных тренда 2023 в Python;
• вышел отчет по Python в блокчейне, оказывается python там тоже используют;
• вышел mypy 1.0;
и другие новости.
В ходе трансляции Moscow Python Podcast будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке https://www.youtube.com/watch?v=36APuXAnSoo
YouTube
Python-тренды в 2023 году, атаки на PyPI и релиз Mypy 1.0
00:00 - интро
1:32 - про день рождения Python и самые интересные вехи в языке за 32 года
13:00 - Phylum отловили три атаки на PyPI
15:05 - ответ на вопрос про перспективы FastAPI и Django
22:00 - про безопасность разработки
27:00 - ответ на вопрос про…
1:32 - про день рождения Python и самые интересные вехи в языке за 32 года
13:00 - Phylum отловили три атаки на PyPI
15:05 - ответ на вопрос про перспективы FastAPI и Django
22:00 - про безопасность разработки
27:00 - ответ на вопрос про…
🔥10👍4
Короткая статья с примером того, как с помощью nox и pyenv гонять тесты на разных версиях питона. Полезно, если вы пишете, к примеру, библиотеку.
Последнее время часто вижу, что люди переходят с
https://sethmlarson.dev/nox-pyenv-all-python-versions
Последнее время часто вижу, что люди переходят с
tox
на nox
, в основном потому что его удобнее конфигурировать.https://sethmlarson.dev/nox-pyenv-all-python-versions
GitHub
GitHub - pyenv/pyenv: Simple Python version management
Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.
👍11🔥1
Наткнулся на редите на пост об игре Software Engineering Simulator. Идея проста - пишем код на питоне, чтобы управлять различными механизмами и проходить уровни. Графика, прямо скажем, не некстген, но выглядит любопытно, пока у подобные игрушки/тренажеры я только с мультяшной графикой видел. Добавил себе в вишлист - посмотрю на релизе и возможно куплю ребенку, надеюсь его больше чем Codecombat заинтересует https://store.steampowered.com/app/2216770/JOY_OF_PROGRAMMING__Software_Engineering_Simulator/
Steampowered
JOY OF PROGRAMMING - Software Engineering Simulator on Steam
Use real Python code to automate machines, robots, drones and more: Program self-driving vehicles; crack passwords; apply machine learning; automate logistics; use image processing to guide missiles. Gain real coding skills and solve exciting bite-sized programming…
👍10🔥4
На reddit-е кто-то задал вопрос "Стоит ли использовать FastApi, учитывая что у проекта 400+ открытых issues на гитхабе?" и па-не-слась :)
На самом деле тред интересный, там много внятных обсуждений, кроме того в комменты пришел tiangolo (автор fastapi) и мне было интересно почитать его позицию.
Если делать выжимку то получается следующее:
- tiangolo в курсе проблем с делегированием и пробует их решить, говорит что в этом году тикеты начали ревьюится быстрее
- он жалуется на то, что он неоднократно встречал баги в pr-ах которые ревьюил не он
- тем не менее, проект завязан на одного человека и это риск который надо учитывать
Ссылка на тред https://www.reddit.com/r/Python/comments/11pfgjo/is_something_wrong_with_fastapi/
На самом деле тред интересный, там много внятных обсуждений, кроме того в комменты пришел tiangolo (автор fastapi) и мне было интересно почитать его позицию.
Если делать выжимку то получается следующее:
- tiangolo в курсе проблем с делегированием и пробует их решить, говорит что в этом году тикеты начали ревьюится быстрее
- он жалуется на то, что он неоднократно встречал баги в pr-ах которые ревьюил не он
- тем не менее, проект завязан на одного человека и это риск который надо учитывать
Ссылка на тред https://www.reddit.com/r/Python/comments/11pfgjo/is_something_wrong_with_fastapi/
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
👍19
Новость не про python, но мне кажется интересной поэтому страдайте:
Вчера вечером OpenAI анонсировали GPT4 - следующую версию сетки, которая используется например в ChatGPT. Основные моменты:
- GPT4 будет доступна на chat.openai.com только коммерческим подписчикам с ограничением по объему использования. OpenAi пока не определились с размером ограничений
- Доступ к api тоже за деньги и нужно записываться в очередь, бесплатный доступ "когда-нибудь"
- Сетка, как и GPT3, не знает ничего позже 2021 года и не умеет учиться на том, что ей пишут
- Обещают, что будет сильно меньше, чем GPT3 галлюцинировать и придумывать факты
- Добавили возможность давать управляющие команды используя роль system — это позволит менять поведение сети перед тем, как начать диалог. С моей точки зрения самая интересная фича, работа с промптами выходит на новый уровень
Вообще в статье очень интересные примеры работы с сеткой, рекомендую хотя бы полистать. Ссылка на статью https://openai.com/research/gpt-4
Вчера вечером OpenAI анонсировали GPT4 - следующую версию сетки, которая используется например в ChatGPT. Основные моменты:
- GPT4 будет доступна на chat.openai.com только коммерческим подписчикам с ограничением по объему использования. OpenAi пока не определились с размером ограничений
- Доступ к api тоже за деньги и нужно записываться в очередь, бесплатный доступ "когда-нибудь"
- Сетка, как и GPT3, не знает ничего позже 2021 года и не умеет учиться на том, что ей пишут
- Обещают, что будет сильно меньше, чем GPT3 галлюцинировать и придумывать факты
- Добавили возможность давать управляющие команды используя роль system — это позволит менять поведение сети перед тем, как начать диалог. С моей точки зрения самая интересная фича, работа с промптами выходит на новый уровень
Вообще в статье очень интересные примеры работы с сеткой, рекомендую хотя бы полистать. Ссылка на статью https://openai.com/research/gpt-4
Openai
GPT-4
We’ve created GPT-4, the latest milestone in OpenAI’s effort in scaling up deep learning. GPT-4 is a large multimodal model (accepting image and text inputs, emitting text outputs) that, while less capable than humans in many real-world scenarios, exhibits…
🔥6👍3
17 марта в 14:00 встретимся в прямом эфире Moscow Python Podcast с Алексеем Андрияшем, тимлидом, YADRO. Вместе с гостем обсудим:
• разработку тулов для разработчиков;
• использование CI/CD;
• как доносить проблемы до девопсов;
• почему Jenkins все еще жив.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
• разработку тулов для разработчиков;
• использование CI/CD;
• как доносить проблемы до девопсов;
• почему Jenkins все еще жив.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
YouTube
Сложности CI/CD / Девопсы как ЖКХ / Почему Jenkins все еще жив
00:00 - интро
00:50 - чем занимается команда тулов в YADRO
6:30 - о Jenkins и причем здесь «большой драчевый напильник»
16:00 - с чего начинать работу с CI/CD и нужно ли разбираться в Jenkins
20:58 - нужно ли изучать Jenkins про запас или просто знать о…
00:50 - чем занимается команда тулов в YADRO
6:30 - о Jenkins и причем здесь «большой драчевый напильник»
16:00 - с чего начинать работу с CI/CD и нужно ли разбираться в Jenkins
20:58 - нужно ли изучать Jenkins про запас или просто знать о…
👍3🔥2
Вышел PyTorch 2.0. Признаюсь честно, я его трогал совсем немного и это было довольно давно. Поэтому почитав список изменений я понял, что не понимаю, что крутого в релизе :-). Тем не менее, поздравляю всех кто ее использует с большим мажорным апдейтом. https://pytorch.org/blog/pytorch-2.0-release/
👍7
Последние несколько месяцев регулярно выходят новости в стиле "на pypi залили еще 100500 пакетов с названиями, похожими на популярные библиотеки и злодейским кодом внутри". Эта схема как-то работает потому, что особенно новички часто слышат где-то название библиотеки и ставят ее, не посмотрев внимательно, что это за код.
На realpython.com вышла статья, которая рассказывает том, как оценить качество либы перед тем, как начать ее использовать. В принципе ничего сложного, но как много людей, к примеру, обращают внимание на то, под какой лицензией выпущена библиотека?
Итак коротко, что они советуют:
- Посмотреть внимательно страницу пакета на pypi, кто автор, сколько было релизов, когда был последний релиз, какой Development Status - если там planning или alfa - точно ли вы хотите тащить к себе подобный код?
- Посмотреть страницу пакета на Libraries.io, это даст чуть больше информации чем pypi
- Заглянуть в репозиторий на github/gitlab и оценить активность разработки, количество issues, качество readme и т.д.
- Посмотреть, что за лицензия у либы. Это не очень важно для маленьких проектов, но если вы пишете коммерческий софт, проблемная лицензия может потребовать срочно менять библиотеку если к вам придет, например, аудит при получении инвестиций или заключении крупного договора. Поверьте, выпиливать либу проросшую корнями в код может быть очень, хм, интересным опытом.
В общем думайте, что вы скачиваете из интернетов (с) https://realpython.com/python-package-quality/
На realpython.com вышла статья, которая рассказывает том, как оценить качество либы перед тем, как начать ее использовать. В принципе ничего сложного, но как много людей, к примеру, обращают внимание на то, под какой лицензией выпущена библиотека?
Итак коротко, что они советуют:
- Посмотреть внимательно страницу пакета на pypi, кто автор, сколько было релизов, когда был последний релиз, какой Development Status - если там planning или alfa - точно ли вы хотите тащить к себе подобный код?
- Посмотреть страницу пакета на Libraries.io, это даст чуть больше информации чем pypi
- Заглянуть в репозиторий на github/gitlab и оценить активность разработки, количество issues, качество readme и т.д.
- Посмотреть, что за лицензия у либы. Это не очень важно для маленьких проектов, но если вы пишете коммерческий софт, проблемная лицензия может потребовать срочно менять библиотеку если к вам придет, например, аудит при получении инвестиций или заключении крупного договора. Поверьте, выпиливать либу проросшую корнями в код может быть очень, хм, интересным опытом.
В общем думайте, что вы скачиваете из интернетов (с) https://realpython.com/python-package-quality/
Realpython
How to Evaluate the Quality of Python Packages – Real Python
Just like you shouldn't download any file from the Internet, you shouldn't install third-party Python packages without evaluating them first. This tutorial will give you the tool set to evaluate the quality of external Python packages before you incorporate…
👍14🔥6