Local DataFrame connector between Python and Allye widgets via manifest.jsonl + shared storage.
Project description
allye_data_connector
allye_data_connector is a local connector that lets you exchange pandas.DataFrame objects between Python and Allye widgets.
It works by appending events to a line-delimited manifest file (manifest.jsonl) and storing the actual Arrow payload either in:
- OS shared memory (fast, for smaller data), or
- a memory-mappable file on disk (for larger data).
Installation
From PyPI:
pip install allye_data_connector
From source (development):
pip install -e .
If you haven't installed Allye yet, please download and install it from here.
Quickstart
Send a DataFrame to Allye Canvas:
import pandas as pd
import seaborn as sns
import allye_data_connector
df = sns.load_dataset("iris")
allye_data_connector.send_dataframe(df, table_name='iris')
Use Allye's Allye Data Receiver widget to receive the dataframe data and perform visualizations.
Get Data from Canvas / Read it back:
Use Allye's Allye Data Transmitter widget to send Allye data, receive it on the Jupyter side, and execute subsequent processing.
df = allye_data_connector.get_dataframe('iris_setosa_versicolor')
df.head()
List available tables:
tables = adc.list_tables()
for t in tables:
print(t["table_name"], t["transport"], t["shape"])
How it works (high level)
send_dataframe()appends astatus="writing"event tomanifest.jsonl.- The DataFrame is serialized to Apache Arrow:
transport="auto"uses shared memory when the payload is belowmax_shm_bytes- otherwise it falls back to writing Arrow IPC files under
payloads/(chunked bychunk_rows)
- A final
status="ready"event is appended with apayloadreference (transport + locator). get_dataframe()scans the manifest for the lateststatus="ready"entry matchingtable_name(and optionalproducer), then loads the Arrow payload back into a DataFrame.
Features
- Send/receive DataFrames with
send_dataframe()andget_dataframe() - Local, file-based coordination via
manifest.jsonl(append-only) - Automatic transport selection (
transport="auto") based on size - Optional TTL + garbage collection for payload cleanup (
gc()) - Producer filtering (e.g., read only entries produced by Allye widgets)
Cleanup (optional)
If you send with ttl_sec=..., the payload gets an expiration timestamp. You can remove expired payloads with:
adc.gc(dry_run=False)
gc(dry_run=True) (default) only reports what would be removed.
Notes
- This is a local IPC-oriented connector; it does not do networking or authentication.
- Very large DataFrames may exceed OS shared memory limits; the implementation automatically falls back to disk-backed Arrow files.
Project details
Release history Release notifications | RSS feed
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 allye_data_connector-0.1.2.tar.gz.
File metadata
- Download URL: allye_data_connector-0.1.2.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa12b4e702cd4f69501805e37744a851c10ef5aa6da993de91ddaed03b299e55
|
|
| MD5 |
f39c6d3fd1263bd78478c1d3611fae7e
|
|
| BLAKE2b-256 |
eed6b08c74c33714aa557f7a61e421c9cf972b5b892b9ac601c9e6150e470e31
|
Provenance
The following attestation bundles were made for allye_data_connector-0.1.2.tar.gz:
Publisher:
publish.yml on LichtLab/allye_data_connector
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
allye_data_connector-0.1.2.tar.gz -
Subject digest:
fa12b4e702cd4f69501805e37744a851c10ef5aa6da993de91ddaed03b299e55 - Sigstore transparency entry: 790512138
- Sigstore integration time:
-
Permalink:
LichtLab/allye_data_connector@06542a17c4ed47ee54d662f58150ed99e5c32eb4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/LichtLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@06542a17c4ed47ee54d662f58150ed99e5c32eb4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file allye_data_connector-0.1.2-py3-none-any.whl.
File metadata
- Download URL: allye_data_connector-0.1.2-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce6c4e106a6d366576c4b6279559f54d79aae10b4488d1f5268477874b6ed9ba
|
|
| MD5 |
35dfdad76105de12b14314aebc6f6c47
|
|
| BLAKE2b-256 |
831cbf271e81eff6eba10b68e4e857d5cdcdc5275ea9083d867e4141823b70e2
|
Provenance
The following attestation bundles were made for allye_data_connector-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on LichtLab/allye_data_connector
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
allye_data_connector-0.1.2-py3-none-any.whl -
Subject digest:
ce6c4e106a6d366576c4b6279559f54d79aae10b4488d1f5268477874b6ed9ba - Sigstore transparency entry: 790512149
- Sigstore integration time:
-
Permalink:
LichtLab/allye_data_connector@06542a17c4ed47ee54d662f58150ed99e5c32eb4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/LichtLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@06542a17c4ed47ee54d662f58150ed99e5c32eb4 -
Trigger Event:
push
-
Statement type: