Skip to content

Add support for widget + streamlit#399

Merged
FlorentinD merged 5 commits into
mainfrom
GDS-193
Jul 10, 2026
Merged

Add support for widget + streamlit#399
FlorentinD merged 5 commits into
mainfrom
GDS-193

Conversation

@FlorentinD

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a Streamlit integration layer to render neo4j_viz’s existing React-based GraphWidget inside Streamlit using Components v2, with two-way sync for selected and options.

Changes:

  • Added neo4j_viz.streamlit.render_widget plus a Streamlit v2 frontend entrypoint to bridge state between Streamlit and the widget.
  • Refactored GraphWidget’s Pydantic-backed traits to use a reusable PydanticTrait.
  • Added Streamlit-focused tests, docs, packaging metadata, and an updated Streamlit example.

Reviewed changes

Copilot reviewed 12 out of 16 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
python-wrapper/tests/test_streamlit.py New tests for Streamlit component rendering, serialization, and state round-trips.
python-wrapper/src/neo4j_viz/widget.py Introduces PydanticTrait and uses it for options/selected/legend.
python-wrapper/src/neo4j_viz/streamlit.py New Streamlit integration module (render_widget) and component declaration.
python-wrapper/pyproject.toml Adds streamlit extra + packages Streamlit build artifacts.
python-wrapper/.gitignore Updates ignore patterns for built frontend artifacts.
js-applet/vite.config.streamlit.ts New Vite build config for Streamlit component bundle output.
js-applet/src/streamlit-entrypoint.ts New Streamlit Components v2 entrypoint + anywidget-model shim.
js-applet/package.json Adds build:streamlit and integrates it into the build pipeline.
examples/streamlit-example.py Updates example to use neo4j_viz.streamlit.render_widget with two-way sync.
examples/getting-started.ipynb Notebook output/execution metadata updates.
docs/antora/modules/ROOT/pages/rendering.adoc Documents Streamlit static rendering and interactive widget sync usage.
changelog.md Notes the new Streamlit integration feature.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread python-wrapper/.gitignore Outdated
Comment thread python-wrapper/src/neo4j_viz/streamlit.py Outdated
Comment thread python-wrapper/src/neo4j_viz/streamlit.py
Comment thread js-applet/vite.config.streamlit.ts
@FlorentinD
FlorentinD marked this pull request as ready for review July 10, 2026 15:38
@FlorentinD
FlorentinD merged commit b24bd48 into main Jul 10, 2026
12 of 13 checks passed
@FlorentinD
FlorentinD deleted the GDS-193 branch July 10, 2026 15:44
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.

2 participants