Skip to main content

ZooPipe is a data processing framework that allows you to process data in a declarative way.

Project description

ZooPipe

ZooPipe is a lean, ultra-high-performance data processing engine for Python. It leverages a 100% Rust core to handle I/O and orchestration, while keeping the flexibility of Python for schema validation (via Pydantic) and custom data enrichment (via Hooks).


✨ Key Features

  • 🚀 100% Native Rust Engine: The core execution loop, including CSV and JSON parsing/writing, is implemented in Rust for maximum throughput.
  • 🔍 Declarative Validation: Use Pydantic models to define and validate your data structures naturally.
  • 🪝 Python Hooks: Transform and enrich data at any stage using standard Python functions or classes.
  • Zero-Copy Intent: Minimal overhead between the Rust processing engine and Python validation/hooks.
  • 🚨 Automated Error Routing: Native support for routing failed records to a dedicated error output.
  • 📊 Multiple Format Support: Optimized readers/writers for CSV, JSONL, and SQL databases (via SQLx with batch inserts).
  • 🔧 Pluggable Executors: Choose between single-threaded or multi-threaded execution strategies.

🚀 Quick Start

Installation

uv build
uv run maturin develop --release

Simple Example

from pydantic import BaseModel, ConfigDict
from zoopipe import CSVInputAdapter, CSVOutputAdapter, Pipe


class UserSchema(BaseModel):
    model_config = ConfigDict(extra="ignore")
    user_id: str
    username: str
    age: int


pipe = Pipe(
    input_adapter=CSVInputAdapter("users.csv"),
    output_adapter=CSVOutputAdapter("processed_users.csv"),
    error_output_adapter=CSVOutputAdapter("errors.csv"),
    schema_model=UserSchema,
)

pipe.start()
pipe.wait()

print(f"Finished! Processed {pipe.report.total_processed} items.")

📚 Documentation

Core Concepts

Input/Output Adapters

File Formats

Databases

Advanced


🛠 Architecture

ZooPipe is designed as a thin Python wrapper around a powerful Rust core:

  1. Python Layer: Configuration, Pydantic models, and custom Hooks.
  2. Rust Core:
    • Adapters: High-speed CSV/JSON/SQL Readers and Writers with optimized batch operations.
    • NativePipe: Orchestrates the loop, fetching chunks, calling a consolidated Python batch processor, and routing result batches.
    • Executors: Single-threaded or multi-threaded batch processing strategies.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

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

zoopipe-2026.1.14.tar.gz (106.9 kB view details)

Uploaded Source

Built Distributions

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

zoopipe-2026.1.14-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (24.4 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

zoopipe-2026.1.14-cp310-abi3-win_amd64.whl (17.9 MB view details)

Uploaded CPython 3.10+Windows x86-64

zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_x86_64.whl (24.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_aarch64.whl (22.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

zoopipe-2026.1.14-cp310-abi3-macosx_11_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

zoopipe-2026.1.14-cp310-abi3-macosx_10_12_x86_64.whl (21.5 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file zoopipe-2026.1.14.tar.gz.

File metadata

  • Download URL: zoopipe-2026.1.14.tar.gz
  • Upload date:
  • Size: 106.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zoopipe-2026.1.14.tar.gz
Algorithm Hash digest
SHA256 72bf5e3bbd088b8a473a2b89498977d7a27657ba0fd7f67eda85f77943558252
MD5 c0c93e20f44392212a17a0b8a167fb78
BLAKE2b-256 de4885bc8951150ca1a80a32b57afbbc25c98fb3b02ddb8a22b3d7d0e19a0f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14.tar.gz:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zoopipe-2026.1.14-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e4555c9573fd1cee01813ebf3a1bd01c1a291256a023b7183e28ed750fbc8c06
MD5 c4ceba1e933fa395a11aab2037617f71
BLAKE2b-256 c526773b3a305b76b3b6cb6dd782e6cf5f03d947297b1e87cf53d17ea97aeb35

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: zoopipe-2026.1.14-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zoopipe-2026.1.14-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0e726cccf64ced532e7ae071d780d799c377a45c713ff0bf21677aba1506782f
MD5 9107b94d6b20038a303729ae968b7320
BLAKE2b-256 30a73527e869b40fdd3a0ee338afebc83f00379dab04d5b88de571c45921e7e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-cp310-abi3-win_amd64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e1da2e01b7fcc9be6384bce511d0caf377f728db56a56ad647419511d0ded11
MD5 df2778175bd1918ce10c03f07a078f48
BLAKE2b-256 ea51e226837fac4b2e5d4ebfa0b840e5e463c10a6c63cc11b3685825e462dfee

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 91e6d47d7ee9950e71a49d2e4400d6fa112f87d6f34581ffad353c33f336f38a
MD5 4cdb161c163664ec285b5d583a81daff
BLAKE2b-256 8888bc0d77b944c006b40f2b2c52201742fdbfc93ed89210adc8bf443393eb0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zoopipe-2026.1.14-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 588136bce189e83bd5eddabe6131b0605fb7aad0ac9eb5bc9e47fea1a35a0ea3
MD5 8f3b12648ae345989eee7b1552dbe104
BLAKE2b-256 6623869c96801496fb77729b76de68fb369e45d1643bcb64fcbd8f8c53db2668

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zoopipe-2026.1.14-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zoopipe-2026.1.14-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e94e27f02f046d41485c670a49a7aff62df296f67c6421cd084dc0455fc6aeb3
MD5 a78838910f63f8f28cdda5c0ccbdeaf7
BLAKE2b-256 3bd481f0b9997330cd3f34f5ee42816e530761c6a20c693542ababaa5dc19ea6

See more details on using hashes here.

Provenance

The following attestation bundles were made for zoopipe-2026.1.14-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on albertobadia/zoopipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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