SynaDrive Python SDK
Official Python client for the SynaDrive cloud storage API.
Installation
pip install synadrive
For better performance with connection pooling:
pip install synadrive[httpx]
Quick Start
from synadrive import SynaDriveClient
# Initialize client
client = SynaDriveClient(
api_key="your-api-key",
base_url="https://drive.synavue.com"
)
# List files
files = client.list_files()
# Upload a file
result = client.upload_file("/path/to/document.pdf", folder_id="folder-id")
# Download a file
client.download_file("file-id", save_path="./downloaded.pdf")
# Create a folder
folder = client.create_folder("My New Folder")
# Share a file
client.share("file-id", email="colleague@company.com", permission="edit")
# Search
results = client.search("quarterly report")
Authentication
The SDK supports two authentication methods:
# 1. Pass token directly
client = SynaDriveClient(api_key="your-token")
# 2. Environment variable
# export SYNADRIVE_API_KEY=your-token
client = SynaDriveClient()
Context Manager
with SynaDriveClient(api_key="your-key") as client:
files = client.list_files()
# Connection is automatically closed
Features
- Zero required dependencies — works with Python stdlib (
urllib) - Optional httpx — install
synadrive[httpx]for connection pooling & HTTP/2 - Full API coverage — files, folders, sharing, search, trash, versions, sync, AI
- Type hints — full typing support for IDE autocompletion
- Cross-platform — works on macOS, Linux, Windows
- Python 3.8+ — supports all modern Python versions
API Reference
Files
| Method | Description |
|---|---|
list_files(folder_id, limit, offset) |
List files in a folder |
get_file(file_id) |
Get file metadata |
upload_file(file_path, folder_id, tags) |
Upload a file |
download_file(file_id, save_path) |
Download a file |
delete_file(file_id) |
Move file to trash |
move_file(file_id, destination_folder_id) |
Move a file |
copy_file(file_id, destination_folder_id) |
Copy a file |
Folders
| Method | Description |
|---|---|
create_folder(name, parent_id) |
Create a new folder |
Sharing
| Method | Description |
|---|---|
share(item_id, email, permission) |
Share a file/folder |
get_share_link(item_id) |
Get public share link |
Search
| Method | Description |
|---|---|
search(query, **filters) |
Search files |
Sync
| Method | Description |
|---|---|
sync_delta(cursor, limit) |
Pull remote changes (delta sync) |
register_device(device_id, name) |
Register sync device |
list_devices() |
List registered devices |
revoke_device(device_pk) |
Revoke a device |
Trash
| Method | Description |
|---|---|
list_trash() |
List trashed items |
restore_from_trash(file_id) |
Restore from trash |
empty_trash() |
Permanently delete all trash |
AI Features
| Method | Description |
|---|---|
auto_tag(file_id) |
AI-generated tags |
smart_search(query) |
Semantic search |
suggest_folder(filename) |
AI folder suggestion |
Error Handling
from synadrive import SynaDriveClient, SynaDriveError, AuthenticationError, NotFoundError
try:
client.get_file("invalid-id")
except AuthenticationError:
print("Token expired — re-authenticate")
except NotFoundError:
print("File not found")
except SynaDriveError as e:
print(f"API error {e.status_code}: {e}")
License
MIT — © 2026 SynaVue Technologies
Release files for synadrive 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synadrive-1.0.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synadrive-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.1 kB
Release files / synadrive-1.0.0.tar.gz
| Download URL | synadrive-1.0.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
213d474a49ee21700b72be871dbb927849a164488d02075171294abec20035b2
|
|
BLAKE2b-256 checksum How to use checksums |
3439f987409f2e2cfaf3923fe0045340a465aeceae552e54cca425f419077728
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Release files / synadrive-1.0.0-py3-none-any.whl
| Download URL | synadrive-1.0.0-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f228b47d7ea53162cb670039dc4b3d1c1319a8819a8c60a10fa6fccfb66c66d
|
|
BLAKE2b-256 checksum How to use checksums |
94cba16eb24406c1871c451e1d328ff1477d9b3ffbc0a706ee24bc6e693f9469
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|