pypi streamlit-shadcn-ui 1.5.0
Streamlit Shadcn UI 1.5.0

one hour ago

Streamlit Shadcn UI 1.5.0

This minor release adds nested Elements containers, Item, Sheet, and Data
Table. Existing public APIs retain their contracts. The components use the
repository's pinned base-nova shadcn source and preserve its default
dimensions, typography, colors, focus rings, and interaction styles.

Published on PyPI on
November 7, 2026. Both public archives match the verified local release
artifacts byte for byte.

Components

  • Elements containers: Tabs, Accordion, Collapsible, and Scroll Area now
    accept supported child nodes. Navigation and expansion stay in the browser.
    Hidden panels retain mounted controls and their values; removing a node uses
    the existing keyed-state lifecycle. Changing a container default resets its
    local state. Python still builds every declared panel.
  • Item: Typed groups, media, content, title, description, actions, header,
    footer, and separators compose resource rows. Avatar handles image fallback;
    item_image lets the pinned ItemMedia control thumbnail appearance. Stable
    keys preserve child-action identity when rows reorder.
  • Sheet: Side panels support right, left, top, and bottom placement, a
    title and description, footer actions, and explicit close buttons. Sheet
    shares Dialog's modal ownership, focus trapping and return focus, Escape
    dismissal, and host scroll locking. Normal actions can rerun Python while
    the panel stays open; close actions dismiss it before emitting an event.
  • Data Table: ui.data_table adds numeric sorting, case-insensitive search,
    pagination, column visibility, selection, and row actions for local records.
    View changes stay in the browser. Selection uses the revisioned state
    protocol and survives ordinary reruns; actions return one-shot
    DataTableAction values through DataTableResult. Column state follows keys
    when definitions reorder. String and integer row IDs remain distinct.

The records example combines Data Table, Sheet, and Field controls. A row
action opens the editor; saving updates the record displayed in the table.
See Elements, Item,
Sheet, Data Table, and
the composition support matrix.

Limits

  • Elements accepts library-owned child nodes, not native st.* elements.
    Action-bearing trees and tables cannot be used inside st.form.
  • Elements Tabs supports horizontal navigation only. The pinned wrapper does
    not consistently forward vertical orientation; this release does not change
    that source or expose vertical navigation.
  • Sheet preserves the pinned preset's top-right close-icon position. In RTL
    layouts it can overlap the title. Use show_close_button=False and a labeled
    footer close button. RTL direction, focus, and dismissal were tested; fully
    mirrored styling is not claimed. Long Sheet content can use a bounded
    Elements Scroll Area.
  • Item and Sheet are Elements compositions, with no separate ui.item or
    ui.sheet widget. Item has no implicit selection or row-click event; put
    actions in its action slot.
  • Data Table supports at most 1,000 local rows, 50 columns, 20 actions, and
    1–100 rows per page. Cells are bounded text, finite safe-range numbers,
    booleans, or None, with a consistent scalar type per column. The header
    checkbox selects the visible page. Removed rows are pruned from selection;
    removed or disabled actions are rejected. Applications own permissions and
    persistence. Elements embedding, remote pagination, custom JavaScript
    renderers, and spreadsheet-style cell editing are deferred.

Host compatibility

Python 3.10 or newer and Streamlit 1.60 or newer remain the declared minimums.
The independently verified host was Python 3.14.2, Streamlit 1.60.0, Starlette
1.3.1, AnyIO 4.16.0, and Uvicorn 0.54.0. For the Streamlit 1.60 host, preserve
the tested Starlette pin:

pip install "streamlit==1.60.0" "starlette==1.3.1"

Fresh dependency resolution selected Starlette 1.10.0 and produced
intermittent ASGI errors while serving component assets. Changing only
Starlette to 1.3.1 resolved those errors and all 45 browser cases passed.
This is evidence for that specific combination, not for every Starlette
version below 1.4. A different host combination needs fresh acceptance. The
library's Python dependency policy is unchanged.

The iteration acceptance record contains the
host investigation, upstream dependency references, and test breakdown.

Verification

  • All 110 Python tests passed, including release contracts and the 49
    component documentation examples.
  • All 147 frontend unit tests passed. Generated-source, provenance,
    import-boundary, Shadow CSS, TypeScript, production-build, and distribution
    checks passed.
  • An independently installed development wheel passed all 45 browser cases
    across Chromium, Firefox, and WebKit: 21 Sheet, six Elements containers,
    three Item, and 15 Data Table cases. Apps ran outside the repository and
    imported from the environment's site-packages.
  • Browser checks compared rendered controls with the corresponding pinned
    shadcn controls, including dimensions and interaction states. The Data Table
    cases included selection acknowledgement on page two, one-shot actions,
    narrow layouts, and the actual Sheet edit/save flow.

After the version update, all 110 Python tests and 147 frontend tests passed
again, including the generated-source, CSS, TypeScript, production-build and
distribution checks. Both final archives passed the release verifier against
the checked-in frontend and passed twine check. No GitHub CI status checks
are configured; the recorded checks were run locally.

After publication, a clean environment reinstalled 1.5.0 without a cache from
the public PyPI index. Imports resolved to its site-packages. All 45 browser
cases passed against this installed public package, and all 55 documentation
apps ran without Python exceptions. The containers test was corrected to wait
for Python's reordered tab tree before clicking; the package runtime and
published artifacts did not change.

The documentation requirements now pin PyPI 1.5.0, Streamlit 1.60.0 and
Starlette 1.3.1. After rebooting the existing Community Cloud app, Home and
Getting Started reported the installed 1.5.0 package. Sheet, Item, nested
Elements containers and the Data Table edit/save flow passed separate live
checks. A clean Python 3.10 environment also ran all 55 documentation apps
with those published dependencies without Python exceptions. See the
publication verification record for evidence and
deployment details.

Artifacts

Artifact SHA-256
streamlit_shadcn_ui-1.5.0-py3-none-any.whl 9ee1de35ddbbc28dbb2e24f6bf46c955c22d3a48d7f17779a963918dafbe360f
streamlit_shadcn_ui-1.5.0.tar.gz 38f20f965febcb1c7b79a51715eecf46c22eb7d903f5eb81fe867e5148287bda

Don't miss a new streamlit-shadcn-ui release

NewReleases is sending notifications on new releases.