Cloudreve api client
Project description
InoCloudreve - Cloudreve Python Client
An async Python client for the Cloudreve API.
Supports authentication, file operations, token management, and utilities—built on httpx with HTTP/2 support and aiofiles.
Version: 0.2.5
Python: >= 3.9
Important Note
Active Development
This client library is under active development and is not yet feature-complete. It was built to satisfy specific use-cases and may change without warning.Not Production-Ready
Use at your own risk. Do not deploy this in production environments unless you fully understand its internals and have thoroughly tested it for your needs.Contributions, feedback, and issue reports are welcome—but please be cautious if you plan to rely on this library for critical workloads.
Features
-
Health check (
ping()) -
Authentication
password_sign_in(email, password, captcha=None, ticket=None)refresh_token(refresh_token)generate_token(...)decode_token(...)is_token_valid()validate_token()
-
File operations
list_files(uri, page=0, page_size=50, order_by="created_at", order_direction="asc", next_page_token=None)get_file_info(file_uri, file_id, extended=False, folder_summary=False)create_download_url(uris, download=False, redirect=False, entity=None, use_primary_site_url=False, skip_error=False, archive=False, no_cache=False)get_download_url(uris, download=False, redirect=False, entity=None, use_primary_site_url=False, skip_error=False, archive=False, no_cache=False)update_file_content(file_uri, content, previous=None)create_upload_session(uri, filename, size, chunk_size, expire_in, ...)delete_upload_session(id, uri)delete_file(uris, unlink=False, skip_soft_delete=False)force_unlock(tokens)get_last_folder_or_file(uri)
-
Upload operations
upload_file(...)upload_parts_via_presigned_urls(...)complete_upload_via_complete_url(...)complete_s3_upload(...)
-
Download operations
download_file(...)save_url_as_file(url, save_dir, filename, extension, overwrite=True)
-
Workflow operations
extract_archive(...)
-
Utilities
read_file_as_bytes(path)get_headers(include_auth=True, include_content_type=True)
Installation
# Install from PyPI
pip install inocloudreve
# Install locally:
git clone https://github.com/nobandegani/InoCloudreve.git
cd InoCloudreve
pip install -e .
Usage
import asyncio
from inocloudreve import CloudreveClient
async def main():
# Initialize the client
client = CloudreveClient()
client.init("https://your-cloudreve-instance.com")
try:
# Check if the server is reachable
await client.ping()
# Sign in
await client.password_sign_in("your-email@example.com", "your-password")
# List files in root directory
files = await client.list_files("/")
print(f"Found {len(files.get('objects', []))} files")
# Your other operations here...
finally:
# Always close the client
await client.close()
# Run the async function
asyncio.run(main())
License
Mozilla Public License Version 2.0
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 inocloudreve-0.2.6.tar.gz.
File metadata
- Download URL: inocloudreve-0.2.6.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56afb129815ea987eca5db6596bb479046dbf12c7be466cf8bae9633f745a6eb
|
|
| MD5 |
5ff8c939c5f3828b1463a609bec13245
|
|
| BLAKE2b-256 |
928c6c360de0730ac6ac0388f612cbf28e8d9d20592ee5a25f98a3da7114cbd5
|
File details
Details for the file inocloudreve-0.2.6-py3-none-any.whl.
File metadata
- Download URL: inocloudreve-0.2.6-py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66e93e7bcb2dac95d150bf9f9a7b46fcb007c8311a495cdce048449548a3a4c7
|
|
| MD5 |
2c29bf48824165b37cfe6949c43e2430
|
|
| BLAKE2b-256 |
3947834a261ef8e30150fe4e7949e0964e72b96d78f24972252e708d3b30671e
|