pardesline
Transfer files between PardesLine accounts in a few lines of Python. The bytes
go straight to cloud storage — the API only hands out the upload/download
addresses — so multi-gigabyte 3D scans, DICOM folders, .npy, .json,
anything, move without passing through the server.
pip install pardesline
Collaboration in 10 lines
import pardesline as pl
pl.login() # email + 6-digit code, once; key stored in ~/.pardesline/token
obj = pl.upload("scan.ply") # uploaded straight to your PardesLine storage
pl.share(obj, to="bob@lab.org") # Bob now sees it in pl.inbox()
# ...or both at once:
pl.send("scan.ply", to="bob@lab.org")
# on Bob's machine
obj = pl.read("alice@lab.org/scan.ply") # what Alice shared with me (or a file id)
obj.download("scan.ply") # streamed directly from storage
Send a whole folder — it is zipped on the way out and can be unpacked on the way in:
pl.send("patient_ct/", to="bob@lab.org") # -> patient_ct.zip
pl.read("alice@lab.org/patient_ct.zip").download("ct/", extract=True)
Logging in
pl.login() (no argument) prompts for your email, sends a 6-digit code, and
stores a long-lived key at ~/.pardesline/token. Alternatives:
pl.login(token="pl_...") # a key copied from the website (Hugging-Face style)
export PARDESLINE_API_KEY=pl_... # CI / notebooks (no file written)
The same key works with the REST API (X-API-Key: pl_…) and the MCP server.
What you can do
pl.upload(path) / pl.upload_bytes(data, name) |
Upload a file, folder (zipped) or raw bytes → RemoteObject |
pl.send(path, to=email) |
Upload and share in one call |
pl.read(ref) |
Resolve "owner@email/name" or a file id → RemoteObject |
pl.inbox() / pl.list_files(scope="mine|shared|all") |
What was shared with you / your files |
obj.download(path, extract=False) · obj.read_bytes() · obj.download_url() |
Get the bytes / a shareable link |
pl.share(obj, to=email) · obj.share(to=email) · pl.delete(obj) |
Manage sharing and deletion |
pl.me() / pl.whoami() |
Your plan, quotas and usage |
Command line:
pardesline login
pardesline send scan.ply bob@lab.org
pardesline inbox
pardesline download "alice@lab.org/scan.ply" out.ply
Free with quotas, paid beyond
PardesLine is a commercial service: every account is free up to the plan
quotas (storage, transfers, API calls), and paid beyond them. When a quota is
reached the SDK raises pardesline.QuotaExceeded carrying the numbers and the
upgrade link:
try:
pl.upload("huge.vti")
except pl.QuotaExceeded as e:
print(e.quota, e.used, "/", e.limit, "->", e.upgrade_url)
Other typed errors: AuthError, Forbidden, NotFound, TooLarge,
RateLimited, PlatformLocked, TransferError.
Notes
- Files up to 5 GiB each. Any file type transfers; the platform's processing modules still expect 3D formats.
- A file you receive is readable only through the share; the owner can revoke it at any time.
- This SDK is proprietary (see
LICENSE); use is governed by the PardesLine Terms of Service.
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 pardesline-0.1.0.tar.gz.
File metadata
- Download URL: pardesline-0.1.0.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
779bc6910405a2bebd63d681f7ffb8de24d82c8a645a9d4efe1b6a6f0def9bc8
|
|
| MD5 |
746740c4ed86571352e5bfe6dc3de467
|
|
| BLAKE2b-256 |
94167fc1fd6ba088ae40ebdfcbf2e455b6a8a9f51b6aa478ba8948a0748b8073
|
Provenance
The following attestation bundles were made for pardesline-0.1.0.tar.gz:
Publisher:
publish.yml on 1904jonathan/pardesline-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pardesline-0.1.0.tar.gz -
Subject digest:
779bc6910405a2bebd63d681f7ffb8de24d82c8a645a9d4efe1b6a6f0def9bc8 - Sigstore transparency entry: 2643473202
- Sigstore integration time:
-
Permalink:
1904jonathan/pardesline-python@7aec5ef3599c6face0c97ecf3cd870cd577e77e5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/1904jonathan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7aec5ef3599c6face0c97ecf3cd870cd577e77e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pardesline-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pardesline-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78b3b6405dac489fdab6122f4b30f1154086806e72797f9a27065434416cf141
|
|
| MD5 |
53d00f2befdda38cecd017b48bd252d8
|
|
| BLAKE2b-256 |
75a01495d89f7d0357023e95a2e4b090fddc22f8200053ed38a59be28192bd62
|
Provenance
The following attestation bundles were made for pardesline-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on 1904jonathan/pardesline-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pardesline-0.1.0-py3-none-any.whl -
Subject digest:
78b3b6405dac489fdab6122f4b30f1154086806e72797f9a27065434416cf141 - Sigstore transparency entry: 2643473412
- Sigstore integration time:
-
Permalink:
1904jonathan/pardesline-python@7aec5ef3599c6face0c97ecf3cd870cd577e77e5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/1904jonathan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7aec5ef3599c6face0c97ecf3cd870cd577e77e5 -
Trigger Event:
push
-
Statement type: