High-Performance DataFrame Engine powered by Rust (The PardoX Project)
Project description
PardoX: The Hyper-Fast Data Engine 🚀
The Speed of Rust. The Simplicity of Python.
PardoX is a next-generation DataFrame engine designed for high-performance ETL and data analysis. It bridges the gap between low-level memory efficiency and high-level developer productivity by running a Rust Core wrapped in a lightweight Python SDK.
v0.1 Beta is now available! Supports Windows, Linux, and MacOS (Intel & Apple Silicon).
⚡ Why PardoX?
Traditional DataFrames (like Pandas) often struggle with memory overhead and single-threaded execution. PardoX introduces a Hybrid Architecture:
- Core: Written in Rust for memory safety, multithreading, and SIMD (AVX2) optimizations.
- Interface: Native Python bindings that feel familiar but run at compiled speeds.
- Memory: Uses HyperBlock Architecture to manage data in contiguous chunks, minimizing fragmentation and maximizing CPU cache hits.
🔥 Key Features (v0.1)
1. Zero-Copy Ingestion
Load massive datasets in seconds. PardoX supports multithreaded CSV parsing and direct SQL ingestion without the overhead of Python objects.
2. Native Binary Format (.prdx)
Save and load your data instantly using the .prdx format.
- Speed: Up to 4.6 GB/s read throughput.
- Tech: Custom binary layout optimized for SSDs and OS page caching.
3. High-Performance Mutation
Transform your data in-place without memory duplication.
- Arithmetic: Vectorized addition, subtraction, multiplication, and division.
- Hygiene: Instant
fillna()andround()operations across millions of rows. - Feature Engineering: Create new columns on the fly:
df['total'] = df['qty'] * df['price'].
4. Cross-Platform & Universal
Run your code anywhere. PardoX automatically detects your OS and CPU architecture to load the optimized binary kernel.
- ✅ Windows (x64)
- ✅ Linux (x64)
- ✅ MacOS (Intel & Apple Silicon M1/M2/M3)
📦 Installation
PardoX is available on PyPI. The package includes pre-compiled binaries for all supported platforms.
pip install pardox
🚀 Quick Start
Here is a complete ETL pipeline example: Load, Clean, Transform, and Analyze.
import pardox as px
# 1. Ingest Data (Auto-detected Schema)
# Uses multi-threaded Rust reader
df = px.read_csv("sales_data.csv")
print(f"Loaded {df.shape[0]} rows.")
# 2. Data Hygiene
# Fill nulls in numeric columns instantly
df.fillna(0.0)
# 3. Feature Engineering (Vectorized)
# Calculate total amount (Price * Quantity)
# This executes in Rust using SIMD instructions
df['total_amount'] = df['price'] * df['quantity']
# 4. Aggregations & Analysis
revenue = df['total_amount'].sum()
avg_ticket = df['total_amount'].mean()
print(f"Total Revenue: ${revenue:,.2f}")
print(f"Avg Ticket: ${avg_ticket:,.2f}")
# 5. Persist to Disk
# Save as PRDX for ultra-fast loading later
df.to_prdx("sales_data_processed.prdx")
📊 Benchmarks
Hardware: MacBook Pro M2, 16GB RAM.
| Operation | Pandas (v2.x) | PardoX (v0.1) | Speedup |
|---|---|---|---|
| Read CSV (1GB) | 4.2s | 0.8s | 5.2x |
| Column Math | 0.15s | 0.02s | 7.5x |
| Fill NA | 0.30s | 0.04s | 7.5x |
| Read Binary | 0.9s (Parquet) | 0.2s (.prdx) | 4.5x |
🗺️ Roadmap
We are building the universal data engine. Here is what's coming next:
v0.1 (Current): Python Core, Arithmetic, I/O, Basic Aggregations.
v0.2 (Planned):
Universal SDKs: Bindings for Node.js, Go, and PHP.
Advanced Types: String manipulation kernels (Regex, Splitting).
ML Bridge: Zero-Copy export to NumPy and Arrow.
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details on how to set up the Rust environment and build the project locally.
📄 License
This project is licensed under the MIT License.
Built with ❤️ by Alberto Cardenas
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 pardox-0.1.0.tar.gz.
File metadata
- Download URL: pardox-0.1.0.tar.gz
- Upload date:
- Size: 18.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12311948abd81c19047e667682f5273d9c2e4bce8090e86bfe6ebd43e850d0d3
|
|
| MD5 |
f7980bd18dbd6d2d46477c7d03e8659d
|
|
| BLAKE2b-256 |
77d812f88b2214b1bdfb27a1cc2539bf66bb3c0dda04b9fac5b5339076892bdb
|
File details
Details for the file pardox-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pardox-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08fe18df25e83d9fbfcca2125199d4faf8db110fb1ff47bc4d8f88f4f62aa589
|
|
| MD5 |
6a139c715ed3de6affe10cc8cdc9629b
|
|
| BLAKE2b-256 |
340f80f13b8de3486a19eb8dc6217f949b31b7ab4cd6cec0dcdc67245b8ced9c
|