Skip to main content

cf-pipeline-engine

The Cogniflow pipeline engine implemented in C++ (compiler, scheduler, runtime).

This folder is structured as a Python package for consistency with the other cf_* components, even though the core implementation is native C++ and built via CMake.

Build (CMake)

cmake -S . -B build
cmake --build build

Python package wrapper

The Python package is intentionally thin and provides access to the packaged native engine assets:

  • cf_pipeline_engine.cf_pipeline_v2_path()
  • cf_pipeline_engine.cf_type_registry_path()
  • cf_pipeline_engine.resolve_cf_pipeline_v2_executable()

Published distribution name:

pip install cf-pipeline-engine

The published wheel installs:

  • bin/cf_pipeline_v2(.exe)
  • bin/type_registry.v0.json

The engine compiles natively only against cf_package_contracts. Owner providers from cf-pipeline-sdk, cf-opcua-server, and cf-datahive are resolved at runtime via the provider registry and exported contract symbols.

cfio:OpcuaReaderStep is executed by the cf_basic_io plugin and consumes the installed cf-opcua-server owner contract injected by the engine. If the owner provider needs a custom script location, set CF_OPCUA_SERVER_CMD to the absolute script or executable path.

Python CLI

The legacy standalone Python wrapper package has been retired. Its CLI surface now lives in this cf_pipeline_engine package.

Direct invocation remains policy-gated by CF_ALLOW_DIRECT_ENGINE:

CF_ALLOW_DIRECT_ENGINE=1 python -m cf_pipeline_engine.cli \
  --pipeline sandcastle/cf_pipeline/cf_pipeline_engine/examples/opcua_fifo_avg_to_duckdb_parquet_triggered.nq \
  --interval 1 \
  --duration 10

Equivalent module entrypoint:

CF_ALLOW_DIRECT_ENGINE=1 python -m cf_pipeline_engine --help

Publishing

cf_pipeline_engine is published with the dedicated Windows workflow:

  • Workflow: .github/workflows/cf_pipeline_engine_windows_publish.yml
  • Package directory: sandcastle/cf_pipeline/cf_pipeline_engine
  • PyPI tag: cf-pipeline-engine-v<version>
  • TestPyPI tag: cf-pipeline-engine-v<version>-test

Local preflight:

powershell -ExecutionPolicy Bypass -File scripts/mimic_windows_python_publish_workflow.ps1 `
  -WorkflowFile .github/workflows/cf_pipeline_engine_windows_publish.yml `
  -PackageDir sandcastle/cf_pipeline/cf_pipeline_engine `
  -PythonExe py `
  -PythonVersion 3.14

Queue a dry-run dispatch:

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

OPC UA Demo Pipeline Sink

Packaged demo resources are owned by cf_setup. The repo keeps source examples under examples/ for development and test use.

The existing demo pipeline examples/opcua_fifo_avg_to_duckdb_parquet_triggered.nq uses plugin-executed cfio:OpcuaReaderStep and cfsink:DataHiveParquetSinkStep.

cf_basic_io consumes the injected OPC UA owner contract exported by cf-opcua-server, and cf_basic_sinks consumes the injected Data Hive sink contract exported by cf-datahive, producing one committed data hive run with 20 rows (cycle_id 0..19).

Run the one-click demo:

cf install --dev --clean --run-demo --show-details

Expected Data Hive evidence after one demo session, owned by the DataHive contracts:

  • workspace/<data_hive>/opcua_fifo_avg/latest.txt
  • workspace/<data_hive>/opcua_fifo_avg/latest_session.txt
  • workspace/<data_hive>/opcua_fifo_avg/<yyyy>/<mm>/<dd>/<session_id>/runs/<run_id>/manifest.json
  • workspace/<data_hive>/opcua_fifo_avg/<yyyy>/<mm>/<dd>/<session_id>/tables/measurements/run_id=<run_id>/part-*.parquet

Consumers should inspect this output through DataHiveRunsContractV1 rather than reimplementing path discovery in package code.

Metadata

Release files for cf-pipeline-engine 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cf-pipeline-engine 0.3.1
File Size Uploaded Provenance Actions
cf_pipeline_engine-0.3.1.tar.gz 83.5 kB Without provenance Details for cf_pipeline_engine-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cf-pipeline-engine 0.3.1
File Interpreter ABI Platform Actions
cf_pipeline_engine-0.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for cf_pipeline_engine-0.3.1-cp314-cp314-win_amd64.whl

Total release size: 380.9 kB

Release files / cf_pipeline_engine-0.3.1.tar.gz

Download URL cf_pipeline_engine-0.3.1.tar.gz
Size 83.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ebc4da8f4ab7d808f1af7987d2db140a3ec3859c9ca9bbb4617050fd2a063b8e
BLAKE2b-256 checksum
How to use checksums
ec13c81a12ed379e58b347ccf2877ec370d85b3a00040ff949ad35cd7bd4d8b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / cf_pipeline_engine-0.3.1-cp314-cp314-win_amd64.whl

Download URL cf_pipeline_engine-0.3.1-cp314-cp314-win_amd64.whl
Size 297.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
dee43dcdcfc7d443568da5ed2296c38003aa663a588695a4caeb209f0209f4d5
BLAKE2b-256 checksum
How to use checksums
0d7486576e89eb457fc80c9c93f300a4f2b354dadde2643a9b637923493e2d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Security for cf-pipeline-engine 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page