Skip to main content

Cogniflow pipeline SDK (cf_siggen + headers)

Project description

cf_pipeline_sdk

cf_pipeline_sdk packages the native SDK assets needed by Cogniflow step packages:

  • the Python module cogniflow_pipeline_sdk
  • the python -m cogniflow_pipeline_sdk.siggen entry path
  • packaged C/C++ headers for downstream builds
  • the cf_siggen native binary copied into the installed package

Published distribution name:

pip install cf-pipeline-sdk

Scope

The published distribution name is cf-pipeline-sdk. The Python import package remains cogniflow_pipeline_sdk.

Downstream native step packages consume the SDK through:

  • import cogniflow_pipeline_sdk
  • cogniflow_pipeline_sdk.cf_sdk_include_path()
  • cogniflow_pipeline_sdk.cf_siggen_path()
  • python -m cogniflow_pipeline_sdk.siggen

Validation Spec Output

cogniflow_pipeline_sdk.validation.generate_validation_spec(...) keeps the existing port fields unchanged:

  • id
  • key
  • types
  • name
  • multi for input ports

When a step manifest port declares cf:valueContract, the generated port entry now adds a value_contract object with additive metadata:

  • shape_kind
  • element_types
  • table_schema.columns[] with name, type, and nullable when a table schema is declared

If cf:portType and cf:valueContract/cf:elementType do not intersect for a port, validation spec generation fails with a ValueError that names the step and port identifier. This keeps legacy types consumers working while exposing the newer shape-aware contract metadata.

Native build prerequisites

The SDK is built with scikit-build-core and CMake.

For Windows publish/preflight runs, use:

  • CPython 3.13
  • CMake on PATH
  • a working Windows C++ toolchain compatible with that CMake installation

The CI publish workflow targets windows-latest. If your local machine exposes multiple CMake/compiler combinations, keep the selected CMake and compiler toolchain consistent for the whole build.

Publishing

cf_pipeline_sdk is published with the dedicated Windows workflow:

  • Workflow: .github/workflows/cf_pipeline_sdk_windows_publish.yml
  • Package directory: sandcastle/cf_pipeline/cf_pipeline_sdk
  • PyPI tag: cf-pipeline-sdk-v<version>
  • TestPyPI tag: cf-pipeline-sdk-v<version>-test

Local preflight:

powershell -ExecutionPolicy Bypass -File scripts/mimic_windows_python_publish_workflow.ps1 `
  -WorkflowFile .github/workflows/cf_pipeline_sdk_windows_publish.yml `
  -PackageDir sandcastle/cf_pipeline/cf_pipeline_sdk `
  -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_sdk_windows_publish.yml `
  -PackageDir sandcastle/cf_pipeline/cf_pipeline_sdk `
  -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_sdk-0.1.4.tar.gz (27.5 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_sdk-0.1.4-cp313-cp313-win_amd64.whl (147.1 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file cf_pipeline_sdk-0.1.4.tar.gz.

File metadata

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

File hashes

Hashes for cf_pipeline_sdk-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e4daebf7a22f70087768960668a8d68b6b614391cba6e5f23e47ea18e6934c3f
MD5 7105bdfbcb6a7ae5aad55e2c6c1409a9
BLAKE2b-256 24abd9dc5be6082fe269ca892689bb2b51f3a13bceaefe93071df79bc857b147

See more details on using hashes here.

File details

Details for the file cf_pipeline_sdk-0.1.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cf_pipeline_sdk-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0e34c16b9c6234814b63177529da9465eef11d314db56fdd0130e1b997195f1a
MD5 55cd1a24ca7aee6feb4f97a619648ea3
BLAKE2b-256 0f4525e449f1a0abb310638e9f913f4ed4cd5fc6c568a61c6dd99d6492f4665d

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