Web UI for ProvSQL: provenance inspection, circuit visualisation, and on-the-fly semiring evaluation.
Project description
ProvSQL Studio
Web UI for ProvSQL: provenance inspection, circuit visualisation, and on-the-fly semiring evaluation.
ProvSQL is a PostgreSQL extension that adds (m-)semiring provenance and uncertainty management to PostgreSQL, transparently rewriting queries to track provenance as circuit tokens. ProvSQL Studio is a small Flask app that lets you point a browser at a ProvSQL-enabled database and inspect that provenance interactively, without writing the query-wrapping boilerplate by hand.
Website: https://provsql.org/ – Documentation: https://provsql.org/docs/user/studio.html
Inspection modes
Two complementary modes share the same UI (query box, result table, sidebar):
-
Where mode highlights the source cells that contributed to each output value. Hover a result cell and the contributing cells of the underlying provenance-tracked relations light up in the sidebar. The query is wrapped automatically with
provsql.where_provenance, so no explicitwhere_provenance(...)call is needed. -
Circuit mode renders the provenance DAG behind a result's UUID or aggregate token. Click a UUID cell to load its DAG, hover to highlight a subtree, click to pin a node and open the inspector. Frontiers expand on demand so deep circuits stay readable. An evaluation strip targets the pinned node (or the root) and runs provenance evaluation in various semirings, probability computation through various methods, or PROV-XML export, with the result rendered inline.
A schema panel and a configuration panel round out the UI; see the documentation for the full feature reference.
Install
pip install provsql-studio
Requires Python 3.10+ and a PostgreSQL database with the ProvSQL
extension installed (see the
extension installation guide).
Studio 1.0.x targets ProvSQL extension 1.4.0 or newer; the startup
check refuses to launch against an older extension unless
--ignore-version is passed.
Connecting
Launch Studio with a DSN:
provsql-studio --dsn postgresql://user@localhost:5432/mydb
Without --dsn, libpq's standard environment variables (PGDATABASE,
PGSERVICE, DATABASE_URL…) are honoured. If neither is set,
Studio connects to the postgres maintenance database and offers an
in-page database picker.
The browser reaches the UI at http://127.0.0.1:8000/. Override the
bind address and port with --host and --port. Per-request size
caps, statement timeout, and search path are tunable on the CLI
(--max-circuit-nodes, --max-sidebar-rows, --max-result-rows,
--statement-timeout, --search-path) and through the Config panel;
the panel persists its settings to
~/.config/provsql-studio/config.json.
Documentation
The full Studio user guide, including screenshots, the configuration reference, the compatibility matrix, and worked examples, lives at:
https://provsql.org/docs/user/studio.html
For the underlying ProvSQL SQL API (add_provenance,
create_provenance_mapping, view_circuit, provenance_evaluate,
and the rest), see https://provsql.org/docs/.
License
MIT: see LICENSE.
Contact
https://github.com/PierreSenellart/provsql
Pierre Senellart pierre@senellart.com
Bug reports and feature requests are preferably sent through the Issues feature of GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file provsql_studio-1.0.0.tar.gz.
File metadata
- Download URL: provsql_studio-1.0.0.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e04dce2fbf21a61566cef33d79775cc5d511ac9aa71b134870c0a3bb5412bbb5
|
|
| MD5 |
6326bb27db21c6577fff79348e7ec9eb
|
|
| BLAKE2b-256 |
eee9575a105d5f462304ec7c8e0efaed12f69dcee45ca84142da8fe5047430fa
|
Provenance
The following attestation bundles were made for provsql_studio-1.0.0.tar.gz:
Publisher:
studio-release.yml on PierreSenellart/provsql
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
provsql_studio-1.0.0.tar.gz -
Subject digest:
e04dce2fbf21a61566cef33d79775cc5d511ac9aa71b134870c0a3bb5412bbb5 - Sigstore transparency entry: 1478815449
- Sigstore integration time:
-
Permalink:
PierreSenellart/provsql@801eedbdda0b56fad4f07794fac1c6e1e21d2502 -
Branch / Tag:
refs/tags/studio-v1.0.0 - Owner: https://github.com/PierreSenellart
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
studio-release.yml@801eedbdda0b56fad4f07794fac1c6e1e21d2502 -
Trigger Event:
push
-
Statement type:
File details
Details for the file provsql_studio-1.0.0-py3-none-any.whl.
File metadata
- Download URL: provsql_studio-1.0.0-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ae6e161d0d0f008658a65f755533840c9c32b63d5539aa52d772b52e32873cb
|
|
| MD5 |
8a33d6b246e42209e0e706b727f2289f
|
|
| BLAKE2b-256 |
928ab588b8a3b8d7b26f9fc82975fe694465215e17e9dcb7a39928026fd4e354
|
Provenance
The following attestation bundles were made for provsql_studio-1.0.0-py3-none-any.whl:
Publisher:
studio-release.yml on PierreSenellart/provsql
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
provsql_studio-1.0.0-py3-none-any.whl -
Subject digest:
9ae6e161d0d0f008658a65f755533840c9c32b63d5539aa52d772b52e32873cb - Sigstore transparency entry: 1478815523
- Sigstore integration time:
-
Permalink:
PierreSenellart/provsql@801eedbdda0b56fad4f07794fac1c6e1e21d2502 -
Branch / Tag:
refs/tags/studio-v1.0.0 - Owner: https://github.com/PierreSenellart
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
studio-release.yml@801eedbdda0b56fad4f07794fac1c6e1e21d2502 -
Trigger Event:
push
-
Statement type: