Skip to main content

cf-basic-io

Cogniflow I/O StepPackage providing data source and sink steps.

Steps

Step Category Description
cfio:HandleSinkStep sink Persist data to DuckDB, CSV, or other handles
cfio:OpcuaReaderStep source Declare a one-shot OPC UA snapshot request for the pipeline runtime
cfio:JsonFieldSelectStep structural Extract one field from a JSON payload
cfio:TimestampToEpochStep structural Convert ISO-8601 timestamp to epoch seconds
cfio:EpochToTimestampStep structural Convert epoch seconds to ISO-8601 timestamp
cfio:ReportChartStep sink Render chart output for reporting
cfio:ReportTableStep sink Render table output for reporting
cfio:StatsRowStep structural Assemble structured row outputs

Dev/demo steps (cfbd:InlineSource, cfbd:OpcuaPhSource) now live in cf-basic-dev. Data hive parquet persistence now lives in cf-basic-sinks as cfsink:DataHiveParquetSinkStep.

Pipeline backend operations

The package also registers pipeline backend operations:

Operation Type Description
handle_sink python Persist via duckdb:// or csv:// handles
duckdb_checkpoint cpp Checkpoint pipeline state to DuckDB
duckdb_resume_from_checkpoint cpp Resume from checkpoint
duckdb_sql cpp Execute SQL on checkpoint data

Installation

pip install cf-basic-io

With optional dependencies:

pip install cf-basic-io[duckdb]   # DuckDB sink support
pip install cf-basic-io[all]      # All optional deps (currently duckdb)

Virtual OPC UA pH server

The demo OPC UA server lives in the separate cf-opcua-server package.

pip install cf-opcua-server
cf-opcua-server start --interval 0.5
# or:
python -m cf_opcua_server.cli start --interval 0.5
# server runs at opc.tcp://127.0.0.1:4840/VirtualPhServer with pH/temperature nodes under ns=2

cfbd:OpcuaPhSource (from cf-basic-dev) is a pure reader and does not start servers; run the demo server externally.

C++ Extensions

Native plugin surfaces for high-performance pipeline operations that stay owned by cf-basic-io:

  • _duckdb_backend_ops - DuckDB checkpoint/resume (requires DuckDB C++ library)

Build with C++ extensions:

CF_BASIC_IO_ENABLE_DUCKDB_CPP=1 pip install .

cfio:OpcuaReaderStep no longer links an OPC UA SDK inside cf-basic-io. The step is implemented by the cf_basic_io plugin and consumes the injected owner surface exported by cf-opcua-server.

Usage

from cf_basic_io.steps import handle_sink

# Write to DuckDB
handle_sink({"value": 42}, "duckdb:///output.duckdb?table=results")

StepPackage Integration

This package registers with Cogniflow via the cogniflow.steps entry point and ships steps.nq as its sole manifest. The cf:StepPackage node declares cf:packageId cf.basic.io.

Publishing

cf_basic_io is published with the dedicated Windows workflow:

  • Workflow: .github/workflows/cf_basic_io_windows_publish.yml
  • Package directory: sandcastle/cf_basic_steps/cf_basic_io
  • PyPI tag: cf-basic-io-v<version>
  • TestPyPI tag: cf-basic-io-v<version>-test

The publish path validates the default package build. OPC UA execution now lives behind the runtime-owned cf-opcua-server boundary, so no open62541 toggle is required for cf-basic-io publishing.

Local preflight:

powershell -ExecutionPolicy Bypass -File scripts/mimic_windows_python_publish_workflow.ps1 `
  -WorkflowFile .github/workflows/cf_basic_io_windows_publish.yml `
  -PackageDir sandcastle/cf_basic_steps/cf_basic_io `
  -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_basic_io_windows_publish.yml `
  -PackageDir sandcastle/cf_basic_steps/cf_basic_io `
  -PublishTarget testpypi `
  -Ref main `
  -RequireLocalPass `
  -DryRun

Watch queued runs:

gh run list --workflow cf_basic_io_windows_publish.yml --limit 10
gh run watch --exit-status

Metadata

Release files for cf-basic-io 0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cf-basic-io 0.2.6
File Size Uploaded Provenance Actions
cf_basic_io-0.2.6.tar.gz 36.7 kB Without provenance Details for cf_basic_io-0.2.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cf-basic-io 0.2.6
File Interpreter ABI Platform Actions
cf_basic_io-0.2.6-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for cf_basic_io-0.2.6-cp314-cp314-win_amd64.whl

Total release size: 70.9 kB

Release files / cf_basic_io-0.2.6.tar.gz

Download URL cf_basic_io-0.2.6.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3bbec77c799747ad4c2cef36ed8dd893765dca62f44976db696a98946fd38b07
BLAKE2b-256 checksum
How to use checksums
fa16512ed610aef731e9b86a9dc7f6be62ee93339417760fd3103286ac60f834
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / cf_basic_io-0.2.6-cp314-cp314-win_amd64.whl

Download URL cf_basic_io-0.2.6-cp314-cp314-win_amd64.whl
Size 34.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f1f5a491c726197c79f83f7eb88882245237e3c891c286e87e194bce1612259f
BLAKE2b-256 checksum
How to use checksums
1af77299e25a7cb4757496634bc27e5ca5bc82fb7ea8a7ad76e1d38f24ea17c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Security for cf-basic-io 0.2.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page