PyCoder's Weekly #752 — 15 сентября 2026
Дэниел Лемир ломает миф про множества и словари: «да там же O(1)» — это правда ровно до тех пор, пока контейнеры мелкие. Пейтон Грин разжёвывает property-based тестирование через Hypothesis — и подменяет сам вопрос: не «что бы такое подать на вход?», а «какой инвариант обязан выполняться всегда?». Ещё в выпуске: превью ленивых импортов в Python 3.15 (тяжёлые модули подгружаются отложенно, старт ускоряется, но какие-то импорты всё равно остаются обязательными), отчёт про инцидент с ошибками хостинга файлов на PyPI и добровольцы в рабочую группу Django по фандрайзингу.
В статьях и туториалах: Q()-объекты в Django, портрет создателя Python Гвидо ван Россума, интерпретатор Python на 1024 байтах, чтение
Дальше проекты: django-ox (бэкенд задач Django на базе БД), import-linter (правила для импортов), Plotext 6 (графики, изображения и видео прямо в терминале), deployproof (мутационное тестирование AST и сканирование учётных данных) и dbmask (поиск и маскирование чувствительных данных). По событиям: Real Python Office Hours 16 сентября, PyCon Cameroon 17–20 сентября, а также PyData Bristol, Python Leiden User Group и PyLadies Dublin 17 сентября. Подробнее: https://pycoders.com/issues/752
👉 About Python
Дэниел Лемир ломает миф про множества и словари: «да там же O(1)» — это правда ровно до тех пор, пока контейнеры мелкие. Пейтон Грин разжёвывает property-based тестирование через Hypothesis — и подменяет сам вопрос: не «что бы такое подать на вход?», а «какой инвариант обязан выполняться всегда?». Ещё в выпуске: превью ленивых импортов в Python 3.15 (тяжёлые модули подгружаются отложенно, старт ускоряется, но какие-то импорты всё равно остаются обязательными), отчёт про инцидент с ошибками хостинга файлов на PyPI и добровольцы в рабочую группу Django по фандрайзингу.
В статьях и туториалах: Q()-объекты в Django, портрет создателя Python Гвидо ван Россума, интерпретатор Python на 1024 байтах, чтение
__dict__ в связке с деоптимизацией доступа к атрибутам, вменяемое окружение для разработки, разбор 88 975 вакансий с Hacker News за 2012–2026, функции таймера в Python и прототип нового CLI для Wagtail.Дальше проекты: django-ox (бэкенд задач Django на базе БД), import-linter (правила для импортов), Plotext 6 (графики, изображения и видео прямо в терминале), deployproof (мутационное тестирование AST и сканирование учётных данных) и dbmask (поиск и маскирование чувствительных данных). По событиям: Real Python Office Hours 16 сентября, PyCon Cameroon 17–20 сентября, а также PyData Bristol, Python Leiden User Group и PyLadies Dublin 17 сентября. Подробнее: https://pycoders.com/issues/752
Please open Telegram to view this post
VIEW IN TELEGRAM
Не только PyTorch: о чём на самом деле новая книга Лоуренса Морони
Свежая книга Лоуренса Морони — «Искусственный интеллект и машинное обучение для программистов в PyTorch» — по названию выглядит тоскливо. Чувство такое, будто тебе опять подсунули очередной учебник по ИИ на Python: сперва чуть теории, дальше классы, потом ещё классы, потом совсем уж базовые классы — и по ходу дела читателя гарантированно срубает в сон.
Только фиг там. Морони собрал совсем не это. Стартует он как будто с обычного руководства по PyTorch, к середине разгоняется в практикум по NLP и Transformer, а под конец выдаёт почти полноценный тур по современному генеративному AI. И как он это провернул?
Читать на Habr
👉 About Python
Свежая книга Лоуренса Морони — «Искусственный интеллект и машинное обучение для программистов в PyTorch» — по названию выглядит тоскливо. Чувство такое, будто тебе опять подсунули очередной учебник по ИИ на Python: сперва чуть теории, дальше классы, потом ещё классы, потом совсем уж базовые классы — и по ходу дела читателя гарантированно срубает в сон.
Только фиг там. Морони собрал совсем не это. Стартует он как будто с обычного руководства по PyTorch, к середине разгоняется в практикум по NLP и Transformer, а под конец выдаёт почти полноценный тур по современному генеративному AI. И как он это провернул?
Читать на Habr
Please open Telegram to view this post
VIEW IN TELEGRAM
Сорок заходов ревью на код, который вроде бы уже отревьюили: что два ИИ-ревьюера нарыли друг за другом
skillmem прошёл через два независимых ревью, и автор считал, что там всё чисто. А дальше две модели с разных сторон — Claude и GPT — сорок кругов подряд грызли его враждебно, и каждую находку они были обязаны воспроизводить командой.
На выходе: шесть P1 и около двадцати пяти P2 в коде, который «уже был отревьюен». Главный урок: каждый второй фикс тащил за собой регрессию, и выловить её выходило только на следующем раунде.
Читать далее
👉 About Python
skillmem прошёл через два независимых ревью, и автор считал, что там всё чисто. А дальше две модели с разных сторон — Claude и GPT — сорок кругов подряд грызли его враждебно, и каждую находку они были обязаны воспроизводить командой.
На выходе: шесть P1 и около двадцати пяти P2 в коде, который «уже был отревьюен». Главный урок: каждый второй фикс тащил за собой регрессию, и выловить её выходило только на следующем раунде.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Задолбалась шерстить вакансии в телеге — и запилила себе агрегатор
Искала работу и каждый день прогоняла по 50+ постов из кучи каналов. Толку — годных вакансий от силы десяток. Одна и та же позиция висит сразу в четырёх каналах, а половина ленты — курсы и бесконечные «ищу работу». Фильтров ноль. Платить за готовый агрегатор не хотелось.
Сделала свой — и его легко подогнать под любую роль. Скрипт читает папку с каналами в Telegram, выкидывает всё, что не вакансия, вытаскивает компанию, грейд, город и зарплату, склеивает дубли и раз в сутки публикует одну страницу с фильтрами на GitHub Pages. По деньгам — ноль, ключи требуются только от Telegram.
Читать далее
👉 About Python
Искала работу и каждый день прогоняла по 50+ постов из кучи каналов. Толку — годных вакансий от силы десяток. Одна и та же позиция висит сразу в четырёх каналах, а половина ленты — курсы и бесконечные «ищу работу». Фильтров ноль. Платить за готовый агрегатор не хотелось.
Сделала свой — и его легко подогнать под любую роль. Скрипт читает папку с каналами в Telegram, выкидывает всё, что не вакансия, вытаскивает компанию, грейд, город и зарплату, склеивает дубли и раз в сутки публикует одну страницу с фильтрами на GitHub Pages. По деньгам — ноль, ключи требуются только от Telegram.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
ИИ ускорил разработку. Частично. А что с остальным?
Код с ИИ пишешь шустрее, идеи обкатываешь тоже. Только быстрый код — не то же самое, что быстрая система целиком.
Про тесты, ревью, метрики и то, как растят инженеров — в статье. Читать далее
👉 About Python
Код с ИИ пишешь шустрее, идеи обкатываешь тоже. Только быстрый код — не то же самое, что быстрая система целиком.
Про тесты, ревью, метрики и то, как растят инженеров — в статье. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Регексы против рекламных обещаний: как мы это мерили и почему первый прогон наврал вдвое
Нам нужны были свои цифры по страницам, которые впаривают франшизы. Не чьё-то мнение и не галерея скринов, а числа, которые через полгода можно пересчитать и сравнить. Готовых датасетов по этой нише нет, так что пришлось накатить скрипт: он берёт 16 страниц, прогоняет их по списку признаков и скидывает всё в JSON.
Первая выгрузка смотрелась бодро. А потом мы открыли страницы руками и увидели, что по одному признаку скрипт промахнулся больше чем в два раза. Дальше — про то, где именно регулярка цепляет слово, но не цепляет смысл, и что делать, если выкинуть регексы совсем не вариант.
Читать далее
👉 About Python
Нам нужны были свои цифры по страницам, которые впаривают франшизы. Не чьё-то мнение и не галерея скринов, а числа, которые через полгода можно пересчитать и сравнить. Готовых датасетов по этой нише нет, так что пришлось накатить скрипт: он берёт 16 страниц, прогоняет их по списку признаков и скидывает всё в JSON.
Первая выгрузка смотрелась бодро. А потом мы открыли страницы руками и увидели, что по одному признаку скрипт промахнулся больше чем в два раза. Дальше — про то, где именно регулярка цепляет слово, но не цепляет смысл, и что делать, если выкинуть регексы совсем не вариант.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🍌 Классика жанра на рабочем созвоне
Чел на самом эпичном моменте забыл вырубить шаринг экрана 😂
👉 About Python
Чел на самом эпичном моменте забыл вырубить шаринг экрана 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему сеньоры не рвутся в тимлиды (и делают правильно)
Стоп, ещё как рвутся. Многие даже дают согласие — а потом через какое-то время сваливают назад в код. Так что вопрос надо ставить жёстче: с чего вдруг то, что ему подсунули, вообще называется повышением?
У Максима за плечами восемь лет. В пятницу он сеньор. В понедельник — а кто он теперь? Грейдом выше, а на деле джун в области, где его практический стаж круглый ноль, зато зарплата и запросы как у человека с восемью годами. И самое циничное: про то, что он теперь джун, ему никто не сообщил. Ему сказали «ты вырос».
А может, это не повышение, а смена профессии с билетом в одну сторону? Читать далее
👉 About Python
Стоп, ещё как рвутся. Многие даже дают согласие — а потом через какое-то время сваливают назад в код. Так что вопрос надо ставить жёстче: с чего вдруг то, что ему подсунули, вообще называется повышением?
У Максима за плечами восемь лет. В пятницу он сеньор. В понедельник — а кто он теперь? Грейдом выше, а на деле джун в области, где его практический стаж круглый ноль, зато зарплата и запросы как у человека с восемью годами. И самое циничное: про то, что он теперь джун, ему никто не сообщил. Ему сказали «ты вырос».
А может, это не повышение, а смена профессии с билетом в одну сторону? Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
AI-Disrupt PDLC на практике: где ИИ реально разгоняет работу, а где просто рисует видимость кипучей деятельности (личный опыт на своих проектах)
Последние месяцы я щупала актуальные ИИ-инструменты и обкатывала их на собственных проектах. Мне не хотелось просто клепать код нейронкой — хотелось пересобрать весь цикл разработки: от постановки задачи до тестов, ревью и проверки безопасности.
Планирование — вот где выигрыш самый честный. Раньше я нередко кидалась писать код «с коленки». Сейчас сначала проговариваю намерение: цель, ограничения, edge-cases и требования к безопасности. Дальше агент помогает накидать спецификацию, acceptance criteria, декомпозицию, черновик архитектуры и список рисков. Такой план после ручного ревью отнимает 30–60 минут вместо одного-двух вечеров. И ускорение тут стабильное: агенты неплохо вылавливают противоречия и забытые сценарии.
Читать далее
👉 About Python
Последние месяцы я щупала актуальные ИИ-инструменты и обкатывала их на собственных проектах. Мне не хотелось просто клепать код нейронкой — хотелось пересобрать весь цикл разработки: от постановки задачи до тестов, ревью и проверки безопасности.
Планирование — вот где выигрыш самый честный. Раньше я нередко кидалась писать код «с коленки». Сейчас сначала проговариваю намерение: цель, ограничения, edge-cases и требования к безопасности. Дальше агент помогает накидать спецификацию, acceptance criteria, декомпозицию, черновик архитектуры и список рисков. Такой план после ручного ревью отнимает 30–60 минут вместо одного-двух вечеров. И ускорение тут стабильное: агенты неплохо вылавливают противоречия и забытые сценарии.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Как у вас с техническим онбордингом?
Автор уверен: настоящее первое впечатление друг о друге команда и новичок лепят не на собесе, а за первые недели — а то и месяцы, и даже годы — после выхода на работу. И, по его мнению, обеим сторонам выгодно втащить нового коллегу в процессы и в живые задачи как можно раньше.
Но на практике, как он замечает, в куче IT-компаний это сделано через одно место — при том что статей о том, какой онбординг важен, написано навалом. Поэтому он предлагает обсудить, как это починить.
Технический онбординг — это не «разберёшься сам». Ныряем: habr.com/ru/articles/1084100
👉 About Python
Автор уверен: настоящее первое впечатление друг о друге команда и новичок лепят не на собесе, а за первые недели — а то и месяцы, и даже годы — после выхода на работу. И, по его мнению, обеим сторонам выгодно втащить нового коллегу в процессы и в живые задачи как можно раньше.
Но на практике, как он замечает, в куче IT-компаний это сделано через одно место — при том что статей о том, какой онбординг важен, написано навалом. Поэтому он предлагает обсудить, как это починить.
Технический онбординг — это не «разберёшься сам». Ныряем: habr.com/ru/articles/1084100
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансий всё меньше, а желающих — всё больше. Что вообще творится с рынком труда?
Людей не хватает, вакансий становится меньше, резюме — больше. Звучит как абсурд, особенно если годами читать заголовки про кадровый голод. Но рынок показывает ровно эту картинку.
hh посчитал: в августе 2026-го активных вакансий на 13% меньше, чем годом ранее, а активных резюме — на 22% больше. hh индекс, то есть соотношение активных резюме к вакансиям, подрос до 8,7.
Искать работу стало тяжелее, конкуренция подросла. А работодатели всё равно твердят, что людей им не хватает. Читать далее
👉 About Python
Людей не хватает, вакансий становится меньше, резюме — больше. Звучит как абсурд, особенно если годами читать заголовки про кадровый голод. Но рынок показывает ровно эту картинку.
hh посчитал: в августе 2026-го активных вакансий на 13% меньше, чем годом ранее, а активных резюме — на 22% больше. hh индекс, то есть соотношение активных резюме к вакансиям, подрос до 8,7.
Искать работу стало тяжелее, конкуренция подросла. А работодатели всё равно твердят, что людей им не хватает. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Где в IT в 2026-м зарплаты разгоняются быстрее всего
Жиза такая: принято думать, что в айти жирнее всех кормят разработчиков. Не спорим. Но вот незадача — именно кодеры в этом году плетутся в хвосте по приросту. Маркетинг и саппорт за полугодие накинули себе 9–10%, а у девелоперов — жалкий +1%.
Хабр Карьера покопались в первой половине 2026-го: медиана по IT поднялась на 4%, а ЦБ прогнозирует инфляцию 4,5–5,5%. То есть в реальных деньгах рынок либо топчется на месте, либо почти стоит.
Зато внутри разбивка по спецам, языкам и городам даёт совсем другие числа. В статье разбирают, где зарплаты действительно подросли. Читать далее
👉 About Python
Жиза такая: принято думать, что в айти жирнее всех кормят разработчиков. Не спорим. Но вот незадача — именно кодеры в этом году плетутся в хвосте по приросту. Маркетинг и саппорт за полугодие накинули себе 9–10%, а у девелоперов — жалкий +1%.
Хабр Карьера покопались в первой половине 2026-го: медиана по IT поднялась на 4%, а ЦБ прогнозирует инфляцию 4,5–5,5%. То есть в реальных деньгах рынок либо топчется на месте, либо почти стоит.
Зато внутри разбивка по спецам, языкам и городам даёт совсем другие числа. В статье разбирают, где зарплаты действительно подросли. Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Как пролезть в ответы Perplexity AI — и почему модель не жрёт страницу целиком
Автор взял 20 промптов, прогнал их через Perplexity API по три раза — на выходе 60 ответов. Каждую сноску [N] он привязал к странице-источнику, куда она ведёт. Дальше по каждой такой паре рылся в HTML и искал кусок текста, максимально похожий на фразу из ответа. Из 1355 сносок 948 тыкали в страницы, которые ещё открываются, и на 448 из них отыскался пассаж — абзац, пункт списка или ячейка таблицы, — накрывающий хотя бы треть слов из утверждения.
Что это даёт тому, кто пишет страницы: на странице, которая выстрелила, реально задействовано медианно два пассажа из 85, примерно по 49 слов каждый. В штуках это 2%, в словах побольше — медиана 6,4% текста страницы, в среднем 11,6%: сработавший пассаж длиннее типичного. Так что закладываться надо не на «страницу прочитают целиком», а на то, что из неё выдернут один самодостаточный абзац. Что это значит для конкретного текста — подробно разложено в разделе про работу с Perplexity, он стоит посередине, ещё до разбора ошибок в коде. А границы, за которыми эти числа отваливаются, вынесены в отдельный раздел — там же расписано, как проверить то же самое на своей нише.
С чего всё началось: в логе замера видно, какие URL Perplexity суёт в источники, а вот что именно со страницы уехало в ответ — весь текст, абзац или одна строчка из списка — уже не видно.
Читать далее
👉 About Python
Автор взял 20 промптов, прогнал их через Perplexity API по три раза — на выходе 60 ответов. Каждую сноску [N] он привязал к странице-источнику, куда она ведёт. Дальше по каждой такой паре рылся в HTML и искал кусок текста, максимально похожий на фразу из ответа. Из 1355 сносок 948 тыкали в страницы, которые ещё открываются, и на 448 из них отыскался пассаж — абзац, пункт списка или ячейка таблицы, — накрывающий хотя бы треть слов из утверждения.
Что это даёт тому, кто пишет страницы: на странице, которая выстрелила, реально задействовано медианно два пассажа из 85, примерно по 49 слов каждый. В штуках это 2%, в словах побольше — медиана 6,4% текста страницы, в среднем 11,6%: сработавший пассаж длиннее типичного. Так что закладываться надо не на «страницу прочитают целиком», а на то, что из неё выдернут один самодостаточный абзац. Что это значит для конкретного текста — подробно разложено в разделе про работу с Perplexity, он стоит посередине, ещё до разбора ошибок в коде. А границы, за которыми эти числа отваливаются, вынесены в отдельный раздел — там же расписано, как проверить то же самое на своей нише.
С чего всё началось: в логе замера видно, какие URL Perplexity суёт в источники, а вот что именно со страницы уехало в ответ — весь текст, абзац или одна строчка из списка — уже не видно.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Тридцать-сорок лет IT-менеджмент молился на утилизацию дорогих человеко-часов: чем жирнее диффы у разработчика, тем красивее выглядела эффективность в отчётах. Потом пришёл ИИ, кодинг подешевел — и внезапно выяснилось, что горлышко бутылки всё это время торчало не в разработке, а в идеях, которые вообще стоит катить в прод.
Теперь бизнес может клепать MVP, фичи и рефакторинги не кварталами, а неделями. И тут же всплыло: дохрена этих MVP нафиг никому не сдались. Отсюда и вопросик: «А точно ли узким местом была разработка?» Ну а как иначе — если MVP штампуются быстро, но спроса не находят, косяк в них самих, а не в том, как шустро ты пишешь код.
Читать далее
👉 About Python
Теперь бизнес может клепать MVP, фичи и рефакторинги не кварталами, а неделями. И тут же всплыло: дохрена этих MVP нафиг никому не сдались. Отсюда и вопросик: «А точно ли узким местом была разработка?» Ну а как иначе — если MVP штампуются быстро, но спроса не находят, косяк в них самих, а не в том, как шустро ты пишешь код.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Сборка Python в 20 раз быстрее: как мы это провернули
Людей, которым в кайф тупо ждать, я не встречал ни разу. Хотя само ожидание и то, к чему оно потом приводит, — истории совсем разные.
Когда мы взялись за своего ИИ-помощника, того самого, что пишет и правит код, а дальше гоняет его на сервере, стало ясно одно: сборка обязана быть шустрой. Не просто шустрой, а очень.
В статье рассказываю, как мы разогнали сборку Python аж до 20 раз.
Читать далее
👉 About Python
Людей, которым в кайф тупо ждать, я не встречал ни разу. Хотя само ожидание и то, к чему оно потом приводит, — истории совсем разные.
Когда мы взялись за своего ИИ-помощника, того самого, что пишет и правит код, а дальше гоняет его на сервере, стало ясно одно: сборка обязана быть шустрой. Не просто шустрой, а очень.
В статье рассказываю, как мы разогнали сборку Python аж до 20 раз.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Разгоняем Python в два раза — ставка на типизацию
В статье на живом примере показывают, как h11 (та самая HTTP/1.1 библиотечка, 710k юзеров на Github) удалось ускорить примерно вдвое, прогнав её через mypyc.
Заодно автор делится, какие любопытные баги ему довелось вылавливать, пока он приспосабливал кодовую базу под mypyc.
Читать далее
👉 About Python
В статье на живом примере показывают, как h11 (та самая HTTP/1.1 библиотечка, 710k юзеров на Github) удалось ускорить примерно вдвое, прогнав её через mypyc.
Заодно автор делится, какие любопытные баги ему довелось вылавливать, пока он приспосабливал кодовую базу под mypyc.
Читать далее
Please open Telegram to view this post
VIEW IN TELEGRAM
Linecast — погодная станция, карта мира и планетарий, которые живут не в браузере, а прямо в терминале
Опенсорсный проект тянет бесплатные публичные данные и собирает из скучной консоли семь интерактивных приложений — с графикой, анимацией и даже мышью. Аккаунт не нужен, API-ключ тоже.
Что там внутри: linecast weather — погода сейчас, по часам и на 7 дней, осадки, качество воздуха и официальные предупреждения по 45 странам. linecast sunshine — как Солнце ползёт по небу, рассветы, закаты и длина светового дня; картинку можно развернуть хоть на целый год. linecast moon — фазы, восход и заход Луны, ближайшие полнолуние и новолуние; спутник реально крутится, можно заглянуть и на обратную сторону. linecast sky — планетарий в терминале без всяких шуток: звёзды, созвездия, планеты, Луна и Млечный Путь под твои координаты и текущее время; в базе 8404 звезды, видимые глазом, а при приближении подтягивается почти 117 000 объектов потемнее. linecast tides — графики приливов и отливов. linecast radar — анимированный радар с осадками, температурой, ветром и спутниковыми снимками. linecast maps — улицы, рельеф, поиск мест и маршруты прямо в терминале; отъедешь максимально далеко — и карта превращается в вращающийся глобус с живой границей дня и ночи и облаками со спутников.
Написано на чистом Python без зависимостей. Работает на Windows, Linux и macOS, само подхватывает цветовую тему терминала и говорит на 20 языках. Нужен Python 3.10+. Ставится так:
👉 About Python
Опенсорсный проект тянет бесплатные публичные данные и собирает из скучной консоли семь интерактивных приложений — с графикой, анимацией и даже мышью. Аккаунт не нужен, API-ключ тоже.
Что там внутри: linecast weather — погода сейчас, по часам и на 7 дней, осадки, качество воздуха и официальные предупреждения по 45 странам. linecast sunshine — как Солнце ползёт по небу, рассветы, закаты и длина светового дня; картинку можно развернуть хоть на целый год. linecast moon — фазы, восход и заход Луны, ближайшие полнолуние и новолуние; спутник реально крутится, можно заглянуть и на обратную сторону. linecast sky — планетарий в терминале без всяких шуток: звёзды, созвездия, планеты, Луна и Млечный Путь под твои координаты и текущее время; в базе 8404 звезды, видимые глазом, а при приближении подтягивается почти 117 000 объектов потемнее. linecast tides — графики приливов и отливов. linecast radar — анимированный радар с осадками, температурой, ветром и спутниковыми снимками. linecast maps — улицы, рельеф, поиск мест и маршруты прямо в терминале; отъедешь максимально далеко — и карта превращается в вращающийся глобус с живой границей дня и ночи и облаками со спутников.
Написано на чистом Python без зависимостей. Работает на Windows, Linux и macOS, само подхватывает цветовую тему терминала и говорит на 20 языках. Нужен Python 3.10+. Ставится так:
pip install linecast А можно вообще ничего не ставить: uvx linecast weather GitHub/Инструкция #python #soft #githubPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM