home.social

#pypi — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pypi, aggregated by home.social.

fetched live
  1. It's the first day back to school!! 🎒📖🪀🐛

    2nd seasonal reminder to update your #Python packages 🚲🌻🍂🌳

    • pip list --outdated
    • python -m pip install --upgrade pip

    📝🥞🍁 @pypi.org (pypi.org/project/pip/)

    #PythonPackageIndex #PyPi

  2. I wrote up a #PyPI incident report for some install-time issues experienced a few of weeks ago by some users, and what was changed.

    blog.pypi.org/posts/2026-09-08

  3. WTF is pypi.org/project/backports.lzm - seems to be a copy of my archived pypi.org/project/backports.lzma but why... made by pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python

  4. Восемь аниме-плееров рунета изнутри: шифр Цезаря, пустой параметр и домен, который увели

    Я взял за основу популярную опенсорсную библиотеку парсеров аниме-плееров, запустил её — и получил от Kodik 500 Internal Server Error . Не «токен протух», не «IP заблокирован», а именно 500 на каждый запрос. Разбор занял вечер, а причина оказалась в одном символе: библиотека отправляла параметр ref пустым, а сервер требует его заполненным и раскодированным . Дальше выяснилось, что это не единичная поломка, а норма жанра. Один плеер полгода назад переехал на другой формат страницы. Другой отвечает бесконечным редиректом на самого себя. У третьего домен просто увели — сейчас там индонезийский интернет-магазин, а не аниме. Четвёртый прячет ссылки в WebSocket из обфусцированного бандла на 600 КБ, и его я честно не осилил. Под катом — разбор восьми плееров: как каждый отдаёт видео, где именно ломаются существующие парсеры и что из этого следует, если вы пишете что-то похожее. Библиотека получилась побочным продуктом и лежит в открытом доступе.

    habr.com/ru/articles/1079156/

    #python #парсинг #реверсинжиниринг #hls #m3u8 #аниме #pypi #github_actions #websocket

  5. Shai-Hulud Trinitite Hits @7nohe/openapi-react-query-codegen

    A new Mini Shai-Hulud worm variant named Trinitite was detected on August 28, 2026, targeting the npm package @7nohe/openapi-react-query-codegen, a TanStack Query codegen tool with over 150K weekly downloads. The attacker exploited a workflow vulnerability that allowed any GitHub user to trigger npm publish via pull-request comments, publishing ten malicious versions in twenty minutes. The worm uses XOR-wrapped loaders and obfuscated binding.gyp files to execute even when scripts are disabled. It steals credentials from GitHub, npm, PyPI, RubyGems, cloud services, Vault, and Kubernetes, exfiltrating data via GitHub commits. The malware establishes persistence through systemd services and includes a token revoke trap that can wipe user directories. This campaign appeared shortly after TeamPCP suspects were arrested in Australia, using the same toolkit but with new RSA keys and graffiti.

    Pulse ID: 6a959d3149cc19143a799af6
    Pulse Link: otx.alienvault.com/pulse/6a959
    Pulse Author: AlienVault
    Created: 2026-08-31 15:26:41

    Be advised, this data is unverified and should be considered preliminary. Always do further verification.

    #Australia #Cloud #CyberSecurity #GitHub #InfoSec #Malware #NPM #OTX #OpenThreatExchange #PyPI #RAT #Vulnerability #Worm #bot #AlienVault

  6. Чужой код у вас в Production. Как устроены Supply Chain Attacks и что с ними делать

    Что может быть привычнее для разработчика, чем ежедневный ввод команд установки или обновления зависимостей: npm install , pip install , uv add , bundle add , cargo add ? Пакетный менеджер находит нужную библиотеку, скачивает её вместе с транзитивными зависимостями и за несколько секунд устанавливает в проект сотни тысяч строк чужого кода. В этот самый момент мы не задумываемся о том, что совершаем серьёзный акт доверия. Мы доверяем автору пакета, его аккаунту, системе публикации, сборочному конвейеру и всем зависимостям, которые пакет подтянет вместе с собой. Бесспорно, большую часть этого кода мы не читали и, скорее всего, не прочитаем никогда. Пока всё работает как задумано, этот процесс остаётся незаметным. Но стоит злоумышленнику скомпроментировать хотя бы одно звено этой цепочки, и обычное добавление или обновление библиотеки превращается в установку вредоносного кода в сотни или даже тысячи проектов. Именно на этой идее и строится атака на цепочку поставок — supply-chain attacks. Зачастую злоумышленнику не обязательно искать уязвимости непосредственно в вашем приложении, планировать дорогостоящие многовекторные атаки и применять социальную инженерию. Ему достаточно увести учётку разработчика даже не особо известного пакета, добавить бэкдор в новую версию, опубликовать её в тот же npm или PyPi — и вуаля: вот уже вредоносный код отправляет персональные данные ваших клиентов прямиком на серверы хакеров.

    habr.com/ru/companies/domclick

    #supply_chain #npm #bundler #pypi #cargo #nexus

  7. I just had to solve *FIVE* captchas to log into #pypi?

    Really?

    "Are you sure you're not a bot".

    "Not really, no." 😖

    #python #ai

  8. Ah, it's because it gets the icon from the URL itself, choosing between GitHub's, GitLab, Codeberg's, or Bitbucket's icon...!

    I guess I could propose to add a generic source icon if those matches fail, so that self-hosted Forgejo instances could also have that...

    #PyPI

  9. Why does a source URL not display any icon on #PyPI?

    I expected that it being a well-known URL label, it would have been displayed with a custom icon and be hoisted to the top of the URLs list like documentation and issues are...

  10. Claude sam opublikował malware w PyPI – nowy raport Anthropic

    30 lipca 2026 roku firma Anthropic opublikowała raport (we właściwym dla siebie, alarmistycznym i cringe’owym stylu) dotyczący incydentów bezpieczeństwa z udziałem AI. Szczególnie interesujący przypadek to utworzenie przez Claude złośliwego pakietu Python i opublikowanie go w PyPI. Okazało się, że w ciągu ok. godziny został on pobrany i uruchomiony m.in....

    #WBiegu #Ai #Anthropic #Claude #Malware #Pypi

    sekurak.pl/claude-sam-opubliko

  11. Wednesday night I'll be speaking at the NYC Open Source Security User Group meetup.

    If your release pipeline still has stored API tokens in it, come find out how to delete them for good.

    Wed Aug 26, 6-8 PM, pizza at 6, talk at 6:30
    Amazon office, 12 W 39th St, NYC

    Free, but you must register for building access - last chance: luma.com/5mwalp6p?tk=JivtHQ

    Already registered? See you soon! Bring a colleague, have them sign up first - building access requires photo ID.

    #Python #OpenSourceSecurity #SupplyChainSecurity #NYCTech #PyPI

  12. runs on ~zero AWS cost thanks to @fastlydevs caching 99% of traffic + AWS credits covering the rest. Huge thanks to both! But 2026 broke an 8-year streak: AWS spend is up 69% YoY as agents & CI runs surge.

    @Monorepo, PSF Director of Engineering, on what's changing: pyfound.blogspot.com/2026/08/h

  13. Зачем PyPI закреплять префиксы пакетов за организациями

    Имя пакета в реестре часто оказывается первым сигналом того, что компоненту можно доверять. Разработчик видит название вроде google-cloud-storage , opentelemetry-sdk или apache-airflow-providers-slack раньше, чем открывает исходный код, и ожидает, что знакомый префикс указывает на известный проект. В PyPI это ожидание пока ничем не подтверждено: реестр формально не связывает общее начало имени с его владельцем, поэтому любой свободный вариант может зарегистрировать посторонний пользователь. В конце июня 2026 года в Python-сообществе приняли PEP 752 (мы писали об этом здесь ). Он предлагает закреплять за организацией не отдельные имена, а префикс и все будущие проекты, которые ему соответствуют. Если PyPI реализует этот механизм, то пакет с именем вроде “google-cloud-new-service” сможет опубликовать только та организация, которой принадлежит право на этот префикс или которой разрешили пользоваться этим правом. На первый взгляд, решение очевидное. Однако общий префикс не всегда означает, что все пакеты принадлежат одному издателю. Иногда он обозначает семейство официальных библиотек, а иногда экосистему сторонних дополнений. Меня зовут Артем Максимов, я отвечаю за аналитику продуктов в CodeScoring. Вместе с дата-инженером Артемом Ивановым в этой статье мы разбираемся, какую проблему решает PEP 752, где проходит его граница и что нам показывает база данных CodeScoring.

    habr.com/ru/companies/codescor

    #pypi #python #pep_752 #пакетные_репозитории #безопасность_зависимостей #неймсквоттинг #пространства_имен #цепочка_поставки_по #пакеты_python #open_source

  14. Oof: pepy.tech/search?q=snakemake-e

    That would be > 500 k via #PyPI and > 100 k via #Conda (got the number with `condastats`)

    That, of course, includes all downloads over all versions and including CI usage.

    However, there are ~5,000 downloads per relevant version update for Conda alone. This fills me with pride and gives some ammunition for the "for admins" part of my #Snakemake #HPC tutorial. 😉

    #SLURM

  15. For the sake of an argument, I wanted to retrieve the cumulative download stats of a package on both Conda and PyPI. Both sites do not display this figure (any more?). For Conda, you now have to download `condastats`. At least, it is easy to use.

    For PyPI, there are apparently tools. All of which require getting a token from Google. Seriously?

    Does anyone know a straight forward approach to retrieve PyPI download stats over the lifetime of a package?

    #Conda #pypi

  16. I need to think about how I'm voting the Packaging Council election. So many great nominees, but a lot that I don't recognize because they're dealing with a different part of the ecosystem and not the core where I know the most people. I feel like I want the inaugural council to be core people who were already setting a good direction, but "who I know" also feels like the wrong way to vote. And there's still too many people who I know! 😅 python.org/nominations/electio #Python #PyPI

  17. I've published my todo-linter to PyPI, so you can install it without needing to use pre-commit: pypi.org/project/todo-linter/

    Tomorrow I'll make a Sublime Linter plugin so you can use it from within Sublime Text.

    H/T to @ehmatthes looking at my pytest issue earlier. 🍻

    #python #pypi #linter #CodeQuality