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

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

  • Download URL: cf_pipeline_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 28.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 4552f1b0134b94e51cdb655d1f90465e25aebf42dc6875465687efb10d510e5f
MD5 97fdd70f4ea774e3dbb5f0c36a90a5af
BLAKE2b-256 0af1286141109b54bb71fd31f9ce23add543a6364304ef4d3b65504d11d78d69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cf_pipeline_sdk-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6f6db114fdd3b09033fd525de6b3a2ddf8825856b501bc82f1945f75b4d8a12e
MD5 d167d95bb1020d1730d5de6bc73decdc
BLAKE2b-256 52c740d9afed026cb1daa729710501bfdafaeef3998524a2d1d025e931be39ab

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