Background
BoolDoG's sbml extra depends on tabularqual (unpinned). Currently this transitively
installs streamlit (and pandas) even though BoolDoG never uses either — tabularqual
only needs them for its own web-app entry point, not for the CLI/Python API surface we
consume.
sys-bio/TabularQual#7 tracks making streamlit an optional app extra instead of a core
dependency: sys-bio/TabularQual#7
A fix is already up as sys-bio/TabularQual#8: sys-bio/TabularQual#8
(not yet merged as of 2026-09-16).
Action item
Once TabularQual#8 merges and a new version is released to PyPI:
- Bump the
tabularqual requirement in pyproject.toml's sbml/all extras to that
minimum version, so installing BoolDoG's sbml extra no longer pulls in streamlit/
pandas transitively.
- Re-run the full test suite (
cd tests && uv run python -m unittest discover .) and
regenerate uv.lock.
Related
Background
BoolDoG's
sbmlextra depends ontabularqual(unpinned). Currently this transitivelyinstalls
streamlit(andpandas) even though BoolDoG never uses either —tabularqualonly needs them for its own web-app entry point, not for the CLI/Python API surface we
consume.
sys-bio/TabularQual#7 tracks making
streamlitan optionalappextra instead of a coredependency: sys-bio/TabularQual#7
A fix is already up as sys-bio/TabularQual#8: sys-bio/TabularQual#8
(not yet merged as of 2026-09-16).
Action item
Once TabularQual#8 merges and a new version is released to PyPI:
tabularqualrequirement inpyproject.toml'ssbml/allextras to thatminimum version, so installing BoolDoG's
sbmlextra no longer pulls instreamlit/pandastransitively.cd tests && uv run python -m unittest discover .) andregenerate
uv.lock.Related
0.10.0/0.10.2, which let us drop our own redundant
igraphpin workaround for thesbmlextra — see commit migrating this repo from Poetry to uv)