dsviper-components¶
Shared component library on top of dsviper — the standard administrative, collaborative and scripting surface of any Commit application, ready to compose into a domain-specific UI. Available as two parallel variants:
Qt Widgets —
dsviper-componentsQt Quick / QML —
dsviper-components-qml
Most reference applications use one or both of these to avoid re-implementing common UI for typed-data manipulation.
What it provides¶
The library covers the four areas every Commit application ends up needing:
Administration / introspection — commit-DAG browser, undo-stack navigator, attachment inspector, blob browser, per-commit document and settings dialogs.
Collaboration — connect-to-server dialog, threaded synchroniser, fetch / push / sync log.
Embedded scripting — Python script editor with a runtime model that exposes the live application context to user scripts.
Conventions / helpers — the
DSCommitStoreNotifieradapter, geometry persistence, item delegates, settings wrapper.
See Architecture for the design pattern that ties these together, and Widgets for the full catalogue.
Place in the ecosystem¶
Depends on — dsviper, Qt (Widgets or Quick depending on variant).
Consumed by — reference applications (
ge-py,ge-qml,dsviper-blender) and any custom Python application built on dsviper.Source repositories —
digital-substrate/dsviper-components — Qt Widgets variant.
digital-substrate/dsviper-components-qml — Qt Quick / QML variant.
Distribution — installed as Python packages, typically alongside
dsviper.