Metadata-Version: 2.4
Name: dpone-native-accel
Version: 0.47.0
Summary: Optional native acceleration provider for dpone native transfer
Author: PaulKov
License-Expression: Apache-2.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Dist: clickhouse-driver[lz4,zstd]==0.2.10
Maintainer: PaulKov
Requires-Python: >=3.11, <3.13
Project-URL: Homepage, https://github.com/PaulKov/dpone
Project-URL: Repository, https://github.com/PaulKov/dpone
Description-Content-Type: text/markdown

# dpone-native-accel

`dpone-native-accel` is the optional provider package for dpone native-transfer
acceleration. It contains the certified MSSQL BCP native -> ClickHouse Native
block encoder and the direct ClickHouse Native TCP ingest backend.

The direct ingest backend sends pre-encoded ClickHouse Native blocks through the
Native TCP protocol without spawning `clickhouse-client`. `native_tcp.backend:
auto` selects this backend when the provider is installed and certified;
`backend: client` keeps the subprocess fallback for compatibility benchmarks.

Optional provider package for dpone native-transfer acceleration.

The package exposes the stable provider boundary used by `dpone[accel]`.
Backends declare certified capabilities before dpone can select them for
`native_transfer.wire.acceleration.mode: auto|required`.

The v0.33 provider includes a fused MSSQL BCP native -> ClickHouse Native block
encoder and a direct ClickHouse Native TCP insert backend. Direct insert uses a
native-protocol `INSERT ... VALUES` query plus protocol `Data` packets; it does
not shell out to `clickhouse-client` and does not materialize Python row
objects.

Certification covers signed/unsigned integers, bool, Float32/Float64 finite
extremes, Decimal128/Decimal256 max/min scaled values, nullable decimals,
Unicode text, tabs/newlines, binary payloads, UUID, Date/Date32,
DateTime/DateTime64 precision, FixedString padding and oversize rejection, and
NULL versus empty values. Unsupported layouts fall back to the reference path
unless acceleration is explicitly required.
