Interactive block-based pipeline builder in the docs (drag components → runnable add_pipe / config.cfg)
#13997
rfugal
started this conversation in
New Features & Project Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The idea
An interactive, block-based pipeline builder embedded directly in the docs. You drag component blocks (
tok2vec,tagger,parser,ner,entity_ruler, …) into a pipeline and immediately see the corresponding runnable Python (spacy.blank()/nlp.add_pipe(...)) and a matchingconfig.cfgexcerpt.Why
The pipeline model is one of the highest-value things for a new user to internalize, and one of the hardest to get from static text.
It's already built — and live
Rather than describe it, here's a working prototype you can click right now:
In context, in the docs — a real Blockly canvas embedded on each page:
en_core_web_smpipeline — https://spacy.fugl.dev/usage/spacy-101add_pipePython (primary) — https://spacy.fugl.dev/usage/processing-pipelinesconfig.cfgvisually — https://spacy.fugl.dev/usage/trainingadd_pipecall playground — https://spacy.fugl.dev/api/languageFull standalone composer (adds live execution) — https://spacy.fugl.dev/composer
The palette for the built-in components is generated from spaCy's own
FactoryMeta, so its ordering,requires/assigns, and "untrained component" warnings come from spaCy itself, not a hand-maintained list that will drift.Scope and risk
website/) plus a self-contained standalone app.Origin note: this came out of a separate project of mine, levelset — a functional toolkit for authoring resource-leveling algorithms by composing constraint and scoring blocks into schedules. I wanted its users to be able to assemble those block pipelines visually with Blockly, and I chose spaCy deliberately as the prototype domain because it is an ideal model of a pipeline: a clean, well-documented, ordered sequence of components, each with structured, machine-readable metadata (
requires/assigns, factory definitions). That made it the perfect testbed for the block vocabulary and code generation — and the spaCy version came out clean and self-contained enough that it seemed worth offering back.The proposal
Does an interactive pipeline builder belong in the spaCy docs? If so, what shape would you want — which pages, how prominent, is Blockly the right foundation? I'd be glad to open a PR against
website/; I just wanted to check appetite and direction before putting up a site-architecture change.All reactions