Skip to main content

HTML pipeline report renderer for Cogniflow

Project description

cf-pipeline-report

Minimal HTML report renderer for Cogniflow RDF pipeline manifests.

Published distribution name:

pip install cf-pipeline-report

Status: early scaffolding. The renderer outputs a static HTML shell that uses Observable Runtime (observablehq) to fetch a JSON payload and render a live pipeline view. The payload can be served by a small API so the report stays decoupled from the running pipeline.

Quick start (static JSON payload):

cf pipeline report-render sandcastle/cf_pipeline/cf_pipeline_engine/examples/opcua_fifo_avg_to_duckdb_parquet_triggered.nq
python -m http.server --directory sandcastle/cf_pipeline/cf_pipeline_engine/examples 8000

The report package accepts RDF manifests in Turtle, structured JSON, and N-Quads formats. Repository examples use N-Quads.

Live API (DuckDB-backed):

cf pipeline report sandcastle/cf_pipeline/cf_pipeline_engine/examples/opcua_fifo_avg_to_duckdb_parquet_triggered.nq --duckdb path/to/pipeline.duckdb

Then open http://127.0.0.1:8765/ in the browser.

Multiple pipelines (directory of manifests):

cf pipeline report sandcastle/cf_pipeline/cf_pipeline_engine/examples --duckdb-dir path/to/duckdb

The server will expose one report per pipeline and look for .ttl, .turtle, .json, .nq, and .nquads manifests named <pipeline_id>.duckdb in the provided directory (or nested under <pipeline_id>/<pipeline_id>.duckdb).

Live tables/plots read from the DuckDB view pipeline_data created by the Parquet archive sink. Ensure the pipeline writes to DuckDB before opening the report, or the live sections will show empty data.

If no --duckdb/--duckdb-dir is provided, the server will try to resolve the DuckDB file from the manifest by reading pipelineId and baseDir parameters on the ParquetArchiveSinkStep. In this repo the recommended default is sandcastle/data_hive/<pipelineId>/<pipelineId>.duckdb.

Publishing

cf_pipeline_report is published with the dedicated Windows workflow:

  • Workflow: .github/workflows/cf_pipeline_report_windows_publish.yml
  • Package directory: sandcastle/cf_pipeline/cf_pipeline_report
  • PyPI tag: cf-pipeline-report-v<version>
  • TestPyPI tag: cf-pipeline-report-v<version>-test

Local preflight:

powershell -ExecutionPolicy Bypass -File scripts/mimic_windows_python_publish_workflow.ps1 `
  -WorkflowFile .github/workflows/cf_pipeline_report_windows_publish.yml `
  -PackageDir sandcastle/cf_pipeline/cf_pipeline_report `
  -PythonExe py `
  -PythonVersion 3.13

Queue a dry-run dispatch:

powershell -ExecutionPolicy Bypass -File scripts/queue_windows_python_publish_workflow.ps1 `
  -WorkflowFile .github/workflows/cf_pipeline_report_windows_publish.yml `
  -PackageDir sandcastle/cf_pipeline/cf_pipeline_report `
  -PublishTarget testpypi `
  -Ref main `
  -RequireLocalPass `
  -DryRun

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cf_pipeline_report-0.1.2.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cf_pipeline_report-0.1.2-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file cf_pipeline_report-0.1.2.tar.gz.

File metadata

  • Download URL: cf_pipeline_report-0.1.2.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for cf_pipeline_report-0.1.2.tar.gz
Algorithm Hash digest
SHA256 13294baec3d442c5e6fad75f7f98f51f9be6f340da32925d62e139774b908450
MD5 9bff011c869dd789acae0abdb371bdc4
BLAKE2b-256 95ad7b4c863c3696a25c28d6ff6d1bb5e2eda68ab87878aa216db211349ee272

See more details on using hashes here.

File details

Details for the file cf_pipeline_report-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cf_pipeline_report-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1c9eb4edb7db54e57ebed7f7ee3dce370ced7fea810a5f23a2738e954968885a
MD5 baabae3c8b30f9752a7db266e1c25b16
BLAKE2b-256 69cb70a16d1ff4d64d45c8e1ec48e9ec82d6f1aa27a455ab610792935dc2cae4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page