← Back to home

ecello

Run this in a notebook cell to install the ecello library.

%pip install https://research.ecello.net/library/ecello-0.1-py3-none-any.whl

API reference

ecello.init(force_login=False)

Signs you in, reusing a cached local token when valid. Opens a browser login link and waits for approval if needed, or if force_login=True.

ecello.login()

Forces a fresh browser login, bypassing any cached credentials.

ecello.logout()

Clears the local session and cached credentials.

ecello.current_user()

Returns the signed-in user's {email, name}. Raises if not signed in.

ecello.project(project_id_or_name)

Selects the active project by id or by its (unique) name. Fails unless the signed-in user is a member of that project.

ecello.load(local_path, cloud_path)

Downloads from the active project's cloud folder to local_path, with a progress bar. cloud_path is relative to the project's root ('/' is the project root). If cloud_path names a file, local_path is the destination file; if it names a folder, the whole folder is downloaded into local_path. Requires a project to be selected first.

ecello.save(local_path, cloud_path)

Uploads to cloud_path inside the active project's cloud folder, with a progress bar. If local_path is a file it's uploaded directly; if it's a directory, its contents are uploaded recursively under cloud_path, preserving structure. Requires a project to be selected first.