Skip to content

ADR-0002 — streamlit and plotly versions are hard-pinned

Status: accepted Date: 2026-05-31

Context

The CSS design system uses internal Streamlit CSS selectors (tabs, pills, inputs, toggle…) that change between Streamlit versions. A minor Streamlit upgrade can silently break the entire visual design without any Python error. plotly is pinned because it must match what is available in the Snowflake package catalog.

Decision

streamlit==1.52.2 and plotly==5.24.1 are hard-pinned in pyproject.toml. Upgrading requires a full visual validation pass on all design system components before moving the pin.

Consequences

Predictable visual output across all SiS apps built with the kit. Upgrade path is explicit and requires intentional effort — no accidental regressions from transitive upgrades.