Stale Lock Files Block Python 3.15 Builds
Upgrading to Python 3.15 reveals a compatibility issue with stale lock files that continue pinning older dependency versions lacking compatible wheels for the new release. Watchfiles 1.1.1 exemplifies the problem—when maturin attempts to build it, the process fails because PyO3 supports a maximum of Python 3.14.
Clearing the cached uv.lock file resolves the issue by forcing fresh dependency resolution. Libraries intentionally exclude lock files from repositories since locked dependencies would restrict downstream projects depending on them. These files exist only locally during development, and removing the old cache forces resolution against packages actually supporting Python 3.15.
Read the full article
Continue reading at Simon Willison →This is an AI-generated summary. Read the original for the full story.