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.siggenentry path - packaged C/C++ headers for downstream builds
- the
cf_siggennative 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_sdkcogniflow_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:
idkeytypesnamemultifor input ports
When a step manifest port declares cf:valueContract, the generated port entry
now adds a value_contract object with additive metadata:
shape_kindelement_typestable_schema.columns[]withname,type, andnullablewhen 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4552f1b0134b94e51cdb655d1f90465e25aebf42dc6875465687efb10d510e5f
|
|
| MD5 |
97fdd70f4ea774e3dbb5f0c36a90a5af
|
|
| BLAKE2b-256 |
0af1286141109b54bb71fd31f9ce23add543a6364304ef4d3b65504d11d78d69
|
File details
Details for the file cf_pipeline_sdk-0.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: cf_pipeline_sdk-0.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 149.4 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f6db114fdd3b09033fd525de6b3a2ddf8825856b501bc82f1945f75b4d8a12e
|
|
| MD5 |
d167d95bb1020d1730d5de6bc73decdc
|
|
| BLAKE2b-256 |
52c740d9afed026cb1daa729710501bfdafaeef3998524a2d1d025e931be39ab
|