home.social
  1. Second LiteLLM PyPI compromise of 2026 (after 1.82.7 and 1.82.8 in March): 1.107.0 on Oct 21 put a credential stealer in a .pth file, so it ran whenever Python started on the host, imported or not.

    We run four LLM providers without a gateway library. It costs us adapter code, and not keeping every key in one package was part of why. A pin helps less if a bot bumps it the same afternoon.

    safedep.io/litellm-pypi-compro

    #Python #LLM #OpenSource

  2. A CI lesson from this week. On Oct 17 we added a test asserting our Alembic history has exactly one head. Over the next four days our main branch still ended up with two heads four times, 49 min to 4h35m each.

    The test was fine. Each PR, checked on its own branch, had one head. The split only exists in the merge of two PRs, and nothing tested that. Every collision was a pricing-seed migration and a feature migration branching off the same parent.
    #Python #DevOps #SoftwareEngineering

Share on Mastodon

Enter the server where you have an account.