Skip to main content

Shared local IO execution layer for DeltaCAT read/write clients.

Project description

deltacat-io-core

deltacat-io-core is the shared local execution layer for DeltaCAT reads and writes.

It is used by both:

  • deltacat-client for direct thin-plan execution
  • deltacat for shared local execution and compatibility wrappers

Naming

  • distribution/package name: deltacat-io-core
  • Python import module: deltacat_io_core

The distribution uses dashes for consistency with deltacat-client. The import module keeps underscores because Python module names cannot contain -.

Scope

deltacat-io-core owns the code that should behave the same regardless of whether the caller is using the thin client or the thick DeltaCAT package.

Today that includes:

  • direct execution of thin Plan objects
  • MOR execution for thin and thick paths
  • local file materialization and manifest building
  • schema alignment and table conversion helpers
  • sort-aware file ordering and manifest handling
  • shared compaction/MOR helper layers and model types
  • format-specific local readers/writers

Non-Goals

deltacat-io-core does not own:

  • server routes or REST/MCP request handling
  • authoritative catalog/storage mutations
  • native Ray job orchestration surfaces
  • public end-user API shape for deltacat or deltacat-client

It is a shared implementation layer, not the top-level user product.

Architecture

The current read architecture is:

  1. The server resolves a thin Plan.
  2. client.catalog.read(plan=...) executes that plan directly through deltacat-io-core.
  3. dc.read_table(plan=...) for thin plans also executes through the same shared path.

There is no longer a runtime bridge back into thick DeltaCAT for thin plan execution. The plan contract is expected to carry the metadata required for direct execution.

The current write architecture is:

  1. The client stages local files or materializes local data through shared helpers.
  2. The authoritative commit still happens through DeltaCAT server/native boundaries.
  3. Shared write-preparation and manifest logic lives in deltacat-io-core.

Installation

Base install:

uv pip install deltacat-io-core

Optional extras:

  • deltacat-io-core[io] for local file readers/writers (pyarrow, fastavro)
  • deltacat-io-core[pandas] for Pandas conversions
  • deltacat-io-core[polars] for Polars conversions and lazy scan helpers
  • deltacat-io-core[lance] for Lance dataset support
  • deltacat-io-core[all] for the full local IO stack

Read Capabilities

The shared read executor currently handles:

  • schema-table reads
  • schemaless manifest-table reads
  • MOR reads
  • direct pyarrow, pandas, polars, numpy, daft, and ray_dataset outputs where supported
  • lazy pyarrow_parquet
  • lazy lance

It also enforces direct validation for unsupported combinations, for example:

  • schemaless + pyarrow_parquet
  • schemaless + lance
  • mixed-content lazy plans for format-specific readers
  • unknown content types in the shared path

Write Capabilities

The shared write layer currently covers:

  • write input normalization
  • local data materialization
  • manifest construction for existing files and datasets
  • schema/read compatibility helpers
  • standard catalog write orchestration slices

Authoritative catalog mutation, commit, retention, and compaction boundaries still remain on the native/server side where they belong.

Relationship To Other Packages

Use deltacat-client when you want the public thin client.

Use deltacat when you want the thick/native package.

Use deltacat-io-core directly only if you are intentionally building against the shared execution layer itself.

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

deltacat_io_core-0.1.2.tar.gz (140.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deltacat_io_core-0.1.2-py3-none-any.whl (172.4 kB view details)

Uploaded Python 3

File details

Details for the file deltacat_io_core-0.1.2.tar.gz.

File metadata

  • Download URL: deltacat_io_core-0.1.2.tar.gz
  • Upload date:
  • Size: 140.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deltacat_io_core-0.1.2.tar.gz
Algorithm Hash digest
SHA256 55e01bfbb60e0a4e2871d86ba080f311d5fe53f2fd4d64e3b78087a0dc572745
MD5 03ec6bb7ba8f374ba4a0d89009e57123
BLAKE2b-256 70add912efb66f6b8d51ded5852b1adcf61731003c08019c352a14d3cffca9d0

See more details on using hashes here.

File details

Details for the file deltacat_io_core-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: deltacat_io_core-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 172.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deltacat_io_core-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 451ddcdfe6bcc0659f9548b51c8a486de43b47b6cfc76c4746d5a844ad382b04
MD5 63f8c7df5838fed943b8807530c8f855
BLAKE2b-256 70ecbcfcbdf184a2e97b5079d1e5fe13f15a49cbc4579be9ad35b9959a2251dd

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