Jump to solution
Verify

The Fix

Includes the llhttp LICENSE file in the wheel by updating the license-files field in setup.cfg.

Based on closed aio-libs/aiohttp issue #11225 · PR/commit linked

Production note: Most teams hit this during upgrades or environment changes. Roll out with a canary and smoke critical endpoints (health, OpenAPI/docs) before 100%.

Jump to Verify Open PR/Commit
@@ -0,0 +1 @@ @@ -0,0 +1 @@ +Started including the ``llhttp`` :file:`LICENSE` file in wheels by adding ``vendor/llhttp/LICENSE`` to ``license-files`` in :file:`setup.cfg` -- by :user:`threexc`. diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index eae7c357602..935782fe357 100644
repro.py
Name: multidict Version: 6.4.4 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict Author: Andrew Svetlov Author-email: [email protected] License: Apache 2 Location: /home/tgamblin/workspace/baylibre/rise/aiohttp/venv/lib64/python3.13/site-packages Requires: Required-by: aiohttp, yarl
verify
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
fix.md
Option A — Apply the official fix\nIncludes the llhttp LICENSE file in the wheel by updating the license-files field in setup.cfg.\nWhen NOT to use: This fix should not be applied if the licensing structure changes in the future.\n\n

Why This Fix Works in Production

  • Trigger: ```python-traceback
  • Mechanism: Includes the llhttp LICENSE file in the wheel by updating the license-files field in setup.cfg.
Production impact:
  • If left unfixed, the same config can fail only in production (env differences), causing startup failures or partial feature outages.

Why This Breaks in Prod

  • Shows up under Python 3.13.3 in real deployments (not just unit tests).
  • Production symptom (often without a traceback): ```python-traceback

Proof / Evidence

Discussion

High-signal excerpts from the issue thread (symptoms, repros, edge-cases).

“Most likely, yes. If you can test a fix and create a PR, that'd be very helpful.”
@Dreamsorcerer · 2025-06-17 · source

Failure Signature (Search String)

  • ```python-traceback
Copy-friendly signature
signature.txt
Failure Signature ----------------- ```python-traceback

Error Message

Signature-only (no traceback captured)
error.txt
Error Message ------------- ```python-traceback

Minimal Reproduction

repro.py
Name: multidict Version: 6.4.4 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict Author: Andrew Svetlov Author-email: [email protected] License: Apache 2 Location: /home/tgamblin/workspace/baylibre/rise/aiohttp/venv/lib64/python3.13/site-packages Requires: Required-by: aiohttp, yarl

Environment

  • Python: 3.13.3

What Broke

Users receive incomplete licensing information when installing aiohttp wheels.

Fix Options (Details)

Option A — Apply the official fix

Includes the llhttp LICENSE file in the wheel by updating the license-files field in setup.cfg.

When NOT to use: This fix should not be applied if the licensing structure changes in the future.

Fix reference: https://github.com/aio-libs/aiohttp/pull/11226

Last verified: 2026-02-09. Validate in your environment.

Get updates

We publish verified fixes weekly. No spam.

Subscribe

When NOT to Use This Fix

  • This fix should not be applied if the licensing structure changes in the future.

Verify Fix

verify
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.

Did This Fix Work in Your Case?

Quick signal helps us prioritize which fixes to verify and improve.

Prevention

  • Capture the exact failing error string in logs and tests so you can reproduce via a minimal script.
  • Pin production dependencies and upgrade only with a reproducible test that hits the failing path.

Related Issues

No related fixes found.

Sources

We don’t republish the full GitHub discussion text. Use the links above for context.