Skip to main content

Cogniflow pipeline engine (C++ core) with a thin Python package wrapper.

Project description

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_siggen_path()
  • cf_pipeline_engine.cf_engine_include_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/cf_siggen(.exe)
  • bin/type_registry.v0.json
  • include/*.h

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.jsonld \
  --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.13

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

The existing demo pipeline examples/opcua_fifo_avg_to_duckdb_parquet_triggered.jsonld now uses cfsink:DataHiveParquetSinkStep from cf_basic_sinks.

The sink writes through the C++ gatekeeper library cf_datahive_cpp, producing one committed data hive run with 20 rows (cycle_id 0..19) and no archive.jsonl.

Run the one-click demo:

.\scripts\fresh_install.ps1 -Clean -RunDemo

Expected output layout after one demo session:

  • workspace/<data_hive>/opcua_fifo_avg/latest.txt
  • workspace/<data_hive>/opcua_fifo_avg/runs/<run_id>/manifest.json
  • workspace/<data_hive>/opcua_fifo_avg/runs/<run_id>/tables/measurements/part-*.parquet

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_engine-0.1.2.tar.gz (66.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_engine-0.1.2-cp313-cp313-win_amd64.whl (342.5 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

  • Download URL: cf_pipeline_engine-0.1.2.tar.gz
  • Upload date:
  • Size: 66.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_engine-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a6ef9ed972474028aa8540a8a8acc3908ff1803a494d4d7add2f9b694a40a185
MD5 5be7fb487da5acb79a4d32ef41b3dd29
BLAKE2b-256 2ba1ea777d5113616d7ede78c34c95702611ccc47e84b80a82cfb93b8e26783f

See more details on using hashes here.

File details

Details for the file cf_pipeline_engine-0.1.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cf_pipeline_engine-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bbed6d3d2dca53ddd576c079327fe7a1360311ac2c6fd5b02f7aaf6680caa798
MD5 df3a3f2efa79d90068a3a80738456851
BLAKE2b-256 a565293b053ea5d035cb0c0111bb99b84c8e6d52fc23b7c68d917c2fc69dfbcc

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