fix: Declare tlviz as a core dependency (fixes #541) - #542
Merged
Conversation
scrise/plotting/__init__.py unconditionally imports stability.py, which imports tlviz.factor_tools. tlviz was only listed in the "analysis" dependency group, not in the package's core dependencies, so a plain `pip install scRISE` followed by `import scrise.plotting` raised ModuleNotFoundError. Add tlviz to core dependencies, matching the existing precedent of matplotlib/seaborn/hdf5plugin being both core deps and members of the analysis group, and regenerate uv.lock. Fixes #541 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Summary
scrise/plotting/__init__.pyunconditionally importsstability, which doesfrom tlviz.factor_tools import factor_match_score as fms, buttlvizwas never declared in the package's core dependencies — only in the internalanalysisdependency-group.pip install scRISEfollowed byimport scrise.plottingraisesModuleNotFoundError: No module named 'tlviz'.pyproject.toml; the existing convention (established whenmatplotlib/seaborn/hdf5pluginwere added) is for plotting-related runtime deps to live in coredependencies, while optionally also remaining listed in theanalysisdependency-group (seehdf5plugin, which is already duplicated this way).tlviz>=0.1.1to[project] dependenciesinpyproject.toml, matching the version already pinned in theanalysisgroup, and regenerateuv.lockviauv lock.Test plan
uv lockregeneratesuv.lockcleanly withtlviznow listed under thescrisepackage'srequires-dist/dependencies.uv sync --all-groupssucceeds.uv run python -c "import tomllib; tomllib.load(open('pyproject.toml','rb'))"confirmspyproject.tomlis syntactically valid.uv run python -c "from scrise.plotting.stability import calculateFMS; from scrise.plotting.pacmap import plot_labels_pacmap; import scrise.plotting"succeeds, confirmingscrise.plottingimports withoutModuleNotFoundError.Fixes #541
🤖 Generated with Claude Code