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.1.5.tar.gz (28.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_sdk-0.1.5-cp313-cp313-win_amd64.whl (149.2 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

  • Download URL: cf_pipeline_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 28.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_sdk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 77fab84d22f6a31192748fa87f31dd51b106ec250ad27e04e5877045b7be959e
MD5 27db86d9c35036f40f85d694900ef67d
BLAKE2b-256 d948961b3f09a77f417537c42cf72dc0e057dadccf276b34d448dc85b4829f7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cf_pipeline_sdk-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ec720c8e6a834fabc08e0bb4170eb61d28022375adedd8505ad7a1fd22ecce3
MD5 ea5fc1dc907925be287708c9148fc8a5
BLAKE2b-256 d9bb06d4f9e026d17a6d09840be46309f0015a4693cc7aa4b21815051a6b111b

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