Skip to main content

Central Storage Platform Compute client

pip install central-storage-platform-compute

The package is published to PyPI, so compute nodes (RunPod, Colab, a bare GPU box) install it without access to the platform's private repositories. It has no third-party dependencies and needs Python 3.10+. To work on the client itself, clone this repository and run pip install -e compute-python.

from central_storage_compute import ComputeClient

client = ComputeClient("https://api.example.invalid", token="cpt_<show-once-token>")
result = client.download("<file-id>", "./data.bin")
print(result.bytes_written, result.sha256)

upload = client.upload("./result.bin", destination="results/", mode="auto")
print(upload.file_id, upload.mode, upload.sha256)

Pass the API origin only (for example, https://central-storage-platform-api.phasuwut.com). Do not include /api/v1, /compute, a route, or *; the client supplies the API path itself.

download(mode="auto") follows the transfer mode and concurrency returned by the API. Use mode="parallel" to request bounded HTTP Range workers; the client falls back to streaming mode when the storage endpoint does not support ranges. upload(mode="auto") tries the single path and switches to the token-scoped multipart path when the API requires it.

The token is supplied at runtime. The client never writes it or a presigned URL to a resume manifest or log. Resume manifests contain only file identity, expected size/checksum and completed byte ranges. All upload completion calls carry a fresh Idempotency-Key.

Releasing

central-storage-platform-compute is published to PyPI from this repository. Bump __version__ in src/central_storage_compute/__init__.py (pyproject.toml reads the version from there), then tag:

git tag compute-client-v0.2.0 && git push origin compute-client-v0.2.0

.github/workflows/publish-compute-client.yml checks the tag against __version__, runs the tests, builds the sdist and wheel, and uploads them through PyPI Trusted Publishing — no API token is stored in the repository. PyPI never lets a version number be reused, so a bad release needs a new patch version rather than a re-upload.

Metadata

Release files for central-storage-platform-compute 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for central-storage-platform-compute 0.1.3
File Size Uploaded Provenance Actions
central_storage_platform_compute-0.1.3.tar.gz 11.7 kB With provenance Details for central_storage_platform_compute-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for central-storage-platform-compute 0.1.3
File Interpreter ABI Platform Actions
central_storage_platform_compute-0.1.3-py3-none-any.whl Python 3 none any Details for central_storage_platform_compute-0.1.3-py3-none-any.whl

Total release size: 21.3 kB

Release files / central_storage_platform_compute-0.1.3.tar.gz

Download URL central_storage_platform_compute-0.1.3.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a658480cafc413003d62d35fe028155657df50dd7c4320bb467874410ea3c9d5
BLAKE2b-256 checksum
How to use checksums
cd797239dd4f2b8f2ecd4b7ba8da42f3d86d1ff607445e21c27ec095a3ff0545
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / central_storage_platform_compute-0.1.3-py3-none-any.whl

Download URL central_storage_platform_compute-0.1.3-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
584350467f039a9e70807b5e8849511e544c4a73dc156f868d85f8b2c60b16d0
BLAKE2b-256 checksum
How to use checksums
478d25840113d1e7d28294e88573373ed119b67fec3e79242ce753c3953d8ef1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Security for central-storage-platform-compute 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for central_storage_platform_compute-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page