Skip to main content

A lightning-fast, zero-copy, cross-process data store for Python using Apache Arrow.

Project description

ArrowShelf

<<<<<<< HEAD

PyPI version Python Version License: MIT

Stop Pickling. Start Sharing.

ArrowShelf is a high-performance, cross-process data store for Python, designed to eliminate the crippling overhead of serialization (pickle) in multiprocessing workflows. It allows multiple Python processes to access large Pandas DataFrames with minimal overhead, unlocking the full power of your multi-core CPU for data analysis.

The Problem

When using Python's multiprocessing library, sharing large objects like Pandas DataFrames between processes is incredibly slow. Python must pickle the data, send the bytes over a pipe, and unpickle it in each child process. For gigabytes of data, this overhead can make your parallel code even slower than your single-threaded code.

The ArrowShelf Solution

ArrowShelf runs a tiny, high-performance daemon (written in Rust) that manages a central data store. Instead of sending your huge DataFrame to each process, you place it on the "shelf" once, and then pass a tiny string key to your child processes.

The Analogy: Instead of photocopying a 1,000-page book for every colleague (pickling), you place the book on a shared library shelf and just tell them its location (ArrowShelf).

Quick Start

1. Installation

pip install arrowshelf
=======
A lightning-fast, zero-copy, cross-process data store for Python using Apache Arrow.
>>>>>>> 7eb98e272c91d464bae2a9eca681bfa8a2560984

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

arrowshelf-1.0.0-py3-none-win_amd64.whl (826.9 kB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file arrowshelf-1.0.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for arrowshelf-1.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 49b8dabdab919b78c6ebb35d248a11297c8ba02fdefebef5dd8ee9b32982d4c6
MD5 e2519f060fbc8e5dd56fc3d552df9b40
BLAKE2b-256 b4e45e6104c241e74cebd250d923a843147b5f9232c31bc58f7787456ae0c453

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