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()

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

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.0.tar.gz (62.3 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.0-cp313-cp313-win_amd64.whl (338.9 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

  • Download URL: cf_pipeline_engine-0.1.0.tar.gz
  • Upload date:
  • Size: 62.3 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.0.tar.gz
Algorithm Hash digest
SHA256 6f8b7cb0be101fb6c09d931b977773c0f3df45145c089b242cecefebaa86eca2
MD5 f2b804f0afee3d589c6ae6c348d66144
BLAKE2b-256 0e14f94119c18ba00fd25b1ee7675f56b6602b416c38788c60ea997456a71a81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cf_pipeline_engine-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c9ea1fc13e06eb23a02dc5bdc6aed83bbf09bfd3340b9fed376135c1b8739f89
MD5 6349c3e291a7bf01a53802c3086afe50
BLAKE2b-256 0b88fd829965afce8c5cbae8c31c8df45a5a9badfdffe2e4e60f6d7d5f732c9c

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