Skip to content

Pin streamlit to a tested range instead of an unbounded lower bound - #99

Merged
tishachawla-jg merged 1 commit into
theagentplane:mainfrom
SurajPatelPro:fix/pin-streamlit-range
Sep 4, 2026
Merged

Pin streamlit to a tested range instead of an unbounded lower bound#99
tishachawla-jg merged 1 commit into
theagentplane:mainfrom
SurajPatelPro:fix/pin-streamlit-range

Conversation

@SurajPatelPro

Copy link
Copy Markdown

What & why

pyproject.toml declared streamlit>=1.30 with no upper bound, and CI doesn't pin an exact version either — pip install resolves whatever streamlit release is current that day. This isn't hypothetical: the README hero gif used to show a Streamlit-internal crash (TypeError: ButtonMixin.page_link() got an unexpected keyword argument 'query_params') that doesn't reproduce on today's latest (1.63.0) — a version-specific regression in whatever release was live at the time, since fixed upstream. An unbounded dependency let that through with zero warning.

Closes #84

What changed

  • pyproject.tomlstreamlit>=1.30streamlit>=1.38,<2. The floor is roughly when the st.navigation/st.Page multipage API used in src/tokenops/ui/app.py and examples/ui/app.py stabilized.
  • CHANGELOG.md — entry under [Unreleased].

How it was verified

  • Fresh venv, pip install -e ".[dev,examples]" resolves streamlit==1.63.0, within the new range.
  • make lint (ruff check, ruff format --check, sync-skills --check, mypy) — clean.
  • make test (pytest -q) — 222 passed, 2 skipped, 11 deselected (e2e/live, excluded by default markers). 3 pre-existing failures in tests/test_a2a_health.py (missing pytest-asyncio plugin) reproduce identically on unmodified main — unrelated to this change, confirmed via git stash.

pyproject.toml declared streamlit>=1.30 with no upper bound, and CI resolves
whatever version pip picks that day. That let a Streamlit-internal regression
through with zero warning (the old README demo gif captured a crash from
ButtonMixin.page_link() that doesn't reproduce on 1.63.0, since fixed
upstream). Pinned to >=1.38,<2 -- roughly when the st.navigation/st.Page
multipage API used in src/tokenops/ui/app.py and examples/ui/app.py
stabilized.

Closes theagentplane#84

Signed-off-by: SurajPatelPro <soorajit@outlook.com>
@tishachawla-jg
tishachawla-jg merged commit b52b9f3 into theagentplane:main Sep 4, 2026
@tishachawla-jg tishachawla-jg mentioned this pull request Sep 4, 2026
2 tasks
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.

Pin the streamlit dependency range instead of leaving it unbounded

2 participants