Skip to content

Make streamlit an optional dependency - #8

Open
matthiaskoenig wants to merge 2 commits into
mainfrom
optional-streamlit
Open

Make streamlit an optional dependency#8
matthiaskoenig wants to merge 2 commits into
mainfrom
optional-streamlit

Conversation

@matthiaskoenig

Copy link
Copy Markdown

Closes #7

Changes

  • pyproject.toml: move streamlit and pandas from dependencies into a new app extra. Core install (CLI + Python API) now only needs python-libsbml, openpyxl, click, python-dateutil, sbmlutils.
  • Bump python-libsbml>=5.21.1 and sbmlutils>=0.10.2. sbmlutils 0.10 moved libroadrunner, matplotlib, py4cytoscape and cobra to extras, so the transitive install is much lighter. sbmlutils 0.10.2 itself requires libsbml 5.21.1 and pandas 2.2, so the floors are aligned.
  • Remove packaging from dependencies (not imported anywhere).
  • README.md: document the app, api and test extras and show pip install -e ".[app]" before streamlit run app.py.
  • requirements.txt: same version bumps; still lists streamlit/pandas since Streamlit Cloud reads this file.

Verification

  • Fresh venv with only the core dependencies: pytest test/test_annotations.py passes, to-sbml / to-table round trip on test/Palma2021* works. Without sbmlutils the CLI reports "annotation validation skipped" as before.
  • Fresh venv with .[app,test] (python-libsbml 5.21.1, sbmlutils 0.10.2, pandas 3.0.5, streamlit 1.63): tests pass, mypy clean, sbmlutils.metadata.validator.validate_sbml_annotations signature unchanged.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ar3vD2HU6SWKcZoavQL6pz

matthiaskoenig and others added 2 commits September 9, 2026 22:33
Move streamlit and pandas out of the core dependencies into a new
`app` extra so that CLI and Python API users get a lightweight install.
Bump python-libsbml to >=5.21.1 and sbmlutils to >=0.10.2 (sbmlutils
0.10 moved its heavy dependencies to extras). Remove the unused
`packaging` dependency. Document the extras in the README.

Closes #7

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ar3vD2HU6SWKcZoavQL6pz
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ar3vD2HU6SWKcZoavQL6pz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make streamlit an optional dependecy

1 participant