← all repositories
explosion/spacy-streamlit

spaCy dashboards without the Streamlit boilerplate

Pre-built visualizers for dependency parses, NER, and similarity that drop into any Streamlit app with a single function call.

857 stars Python LLMOps · EvalOther AI
spacy-streamlit
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

spacy-streamlit wraps spaCy’s displacy visualizers and other NLP outputs into ready-made Streamlit components. You get dropdown model selectors, dependency parse trees, named entity highlights, text classification scores, token attribute tables, and word-vector similarity comparisons—either as a complete bundled UI or à la carte.

The interesting bit

The library is essentially a thin but thoughtful adapter layer: it handles the tedious Streamlit state management (model loading, sidebar config, color theming) so you can call spacy_streamlit.visualize() and have a working demo in four lines of Python. The individual component functions like visualize_ner() or visualize_parser() let you embed just the visualizations you need into larger apps without inheriting the full kitchen sink.

Key highlights

  • One-shot full visualizer via visualize() with model dropdown, text input, and configurable components
  • Modular functions: visualize_parser, visualize_ner, visualize_textcat, visualize_similarity, visualize_tokens
  • Supports multiple spaCy models with automatic sidebar selection and metadata display
  • Experimental color theming via hex code injection
  • Includes runnable examples for out-of-the-box use and custom integration patterns

Caveats

  • The color theming is explicitly marked “experimental” and implemented as a UI “hack”
  • Requires spaCy models to be downloaded separately; no model bundling

Verdict

Worth it if you demo spaCy models frequently or need to prototype NLP interfaces fast. Skip if you’re building production analytics dashboards—this is scaffolding, not architecture.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.