You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be nice if a pipestat-aware pipeline could update a result table in PEPhub somehow.
Some questions:
are result tables the same as input tables? Right now we think of PEPhub as serving input tables. Would reported results add columns to these tables, or should they be different "result tables"?
pephub connects to a database with pepdbagent, which relies on sqlalchemy. pipestat connects to a database with a dbbackend, using sqlmodel. how do those link?
would we write a "PEPhubBackend" class, to go alongside the FileBackend and DBBackend? If we did that, would the the reporting happen through the PEPhub API, or through a direct database connection?
3a. The former would require PEPhub API changes, to allow users to update values via API.
3b. The latter would be an admin-only flow; we could already do it for our internal use cases, but it's less useful, users couldn't use it for their own pipelines.
Updating a local PEP
what about if a pipeline could just update its local PEP? There could be a PEPBackend. You'd point looper to the PEP as its input, and then also configure pipestat with a pointer to the same PEP. It would be the input and output for the pipeline. But basically, looper table already does this.
The text was updated successfully, but these errors were encountered:
import pipestat
psm = pipestat.PipestatManager(
sample_name="my sample",
schema_path="pipeline/output_schema.yaml", # maybe not required?
pephub_registry_path="nsheff/my_demo_project", # Here's where the result will be pushed
pipeline_type="sample"
)
result_value = "some computed result"
psm.report({"some_attribute": result_value}, sample_name=sample["sample_name"]) # adds result to PEPhub
It would be nice if a pipestat-aware pipeline could update a result table in PEPhub somehow.
Some questions:
dbbackend
, using sqlmodel. how do those link?3a. The former would require PEPhub API changes, to allow users to update values via API.
3b. The latter would be an admin-only flow; we could already do it for our internal use cases, but it's less useful, users couldn't use it for their own pipelines.
Updating a local PEP
what about if a pipeline could just update its local PEP? There could be a
PEPBackend
. You'd point looper to the PEP as its input, and then also configure pipestat with a pointer to the same PEP. It would be the input and output for the pipeline. But basically,looper table
already does this.The text was updated successfully, but these errors were encountered: