🐛 fix(meta): remove tox_uv namespace conflict#314
Merged
gaborbernat merged 2 commits intotox-dev:mainfrom Mar 12, 2026
Merged
Conversation
The meta package was shipping meta/tox_uv/__init__.py, creating a namespace conflict with tox-uv-bare's actual tox_uv package. When both packages are installed, Python might import the meta package's empty tox_uv instead of the bare package's full implementation, causing ModuleNotFoundError when the entry point tries to load tox_uv.plugin. Changed the meta package to ship tox_uv_meta/__init__.py instead, eliminating the namespace collision. This allows both packages to coexist safely. Fixes tox-dev#309
for more information, see https://pre-commit.ci
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The meta
tox-uvpackage was shippingmeta/tox_uv/__init__.py, creating a namespace conflict withtox-uv-bare's actualtox_uvpackage. When both packages are installed (either from upgrade or manual installation), Python's import system might find the meta package's emptytox_uvmodule before the bare package's full implementation. 🐛This causes
ModuleNotFoundError: No module named 'tox_uv.plugin'when tox tries to load the plugin via the entry point defined intox-uv-bare.The fix changes the meta package to ship
tox_uv_meta/__init__.pyinstead, using hatchling'sforce-includeto map the marker file to a non-conflicting namespace. This allows both packages to coexist safely - the meta package acts as a pure dependency wrapper without interfering with the actual implementation fromtox-uv-bare.Fixes #309