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 normalized 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 a legacy cf:portType/cf:parameterType fallback conflicts with cf:valueContract/cf:elementType, validation spec generation fails with a ValueError that names the affected step and member identifier. This keeps legacy migration paths explicit while exposing the shared 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.14
  • 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.14

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.2.1.tar.gz (28.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.2.1-cp314-cp314-win_amd64.whl (153.1 kB view details)

Uploaded CPython 3.14Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for cf_pipeline_sdk-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c0df7279adec30324c6382572879fddc4ddc670e7d1399f163878221a7fd8024
MD5 7ad6f5a612ec2d6968b49734918e1375
BLAKE2b-256 ac6d7c82ab488ac8f74075c13b690a02eaf7be40d92faf3dcc650eb206421455

See more details on using hashes here.

File details

Details for the file cf_pipeline_sdk-0.2.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for cf_pipeline_sdk-0.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 51227b2d64a8f16218fd9c48e59fc6db29299f2c1f97605121b44a9add0963f0
MD5 0c0a6cc416e871ca9daa99aa66a265c7
BLAKE2b-256 d1a6936b0d63923437014ef15c322a486b3230bac16e4e9e041f4dd9878d84d9

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