Metadata-Version: 2.4
Name: cesiumcloud
Version: 0.1.3
Summary: CesiumCloud cloud storage Python SDK and command-line client
Author: CesiumCloud
Project-URL: Homepage, https://cloud.cesiummc.space/
Project-URL: Documentation, https://api.cesiummc.space/docs
Keywords: cesiumcloud,cloud,storage,backup
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Internet
Classifier: Topic :: System :: Archiving :: Backup
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# CesiumCloud for Python

CesiumCloud cloud storage client for Python 3.10+.

## Installation

Install the latest version from PyPI:

    python -m pip install cesiumcloud

Or install the official wheel directly:

    python3 -m pip install https://cloud.cesiummc.space/clients/cesiumcloud-0.1.3-py3-none-any.whl

## Command-line use

    python -m cesiumcloud authenticate
    python -m cesiumcloud upload "/home/user/Documents"
    python -m cesiumcloud upload "/home/user/dogimages.zip"
    python -m cesiumcloud download "/home/user/Restored"
    python -m cesiumcloud whoami

The cesiumcloud command is equivalent to python3 -m cesiumcloud.

## Ubuntu 22.04, 24.04, 26.04 LTS and 26.10

Use Python 3.10 or newer. This Python client uses only the standard library
and does not require Node.js.

On Ubuntu, use a virtual environment instead of changing the system Python:

    sudo apt-get update
    sudo apt-get install -y python3 python3-venv
    python3 -m venv "$HOME/.local/share/cesiumcloud/venv"
    "$HOME/.local/share/cesiumcloud/venv/bin/python" -m pip install --upgrade https://cloud.cesiummc.space/clients/cesiumcloud-0.1.3-py3-none-any.whl
    "$HOME/.local/share/cesiumcloud/venv/bin/cesiumcloud" authenticate
    "$HOME/.local/share/cesiumcloud/venv/bin/cesiumcloud" upload "$HOME/Videos/My video.mp4"

The CLI accepts a single path containing spaces even when it is unquoted,
but quoting paths is still recommended. Authentication keeps the existing
~/.cesiumcloud/credentials.json.

Large uploads display transport-send progress in 256 KiB increments.
99% means data has been handed to the transport but may await server response;
100% appears only after the storage server commits the upload. The Python
client does not yet maintain resumable checkpoints across separate processes.

## Python SDK

    from cesiumcloud import CesiumCloudClient

    client = CesiumCloudClient()
    client.authenticate()
    client.upload("/home/user/dogimages.zip")
    files = client.list_files()
    print([file["name"] for file in files])
    client.download("/home/user/Restored")

Authentication uses your CesiumCloud account without copying an API key.
The Python implementation requires no Node.js runtime or third-party Python dependencies.

## Current limitations

Data is streamed directly from local files. The Python client does not yet maintain
restart-safe checkpoints across processes. Existing destination files are not
silently overwritten. Keep an independent backup of important data.

## Access management

Revoke credentials from the CesiumCloud dashboard. The logout command removes local credentials only.

## Existing accounts

CesiumCloud connects to the existing API and stores credentials in ~/.cesiumcloud/credentials.json. Existing CesiumCloud package installations are not modified.

