Professional Python SDK for MiCloud API
Project description
MiCloud SDK
Python библиотека для работы с MiCloud API.
Особенности
- 🔐 Безопасная аутентификация через API ключи
- 📦 Загрузка и управление файлами
- 📁 Работа с папками и структурой файлов
- 🔗 Создание публичных ссылок для шаринга
- 📊 Получение статистики использования
- 🔄 Поддержка асинхронных операций
Установка
pip install micloud-sdk
Быстрый старт
Инициализация клиента
from micloud_sdk import MiCloudClient
# Просто передайте API ключ - всё остальное настроено
client = MiCloudClient(api_key="ваш_api_ключ")
Получение информации о пользователе
# Базовая информация (user_id, username, full_name)
user_info = client.auth.get_current_user()
print(f"Пользователь: {user_info.username} (ID: {user_info.user_id})")
# Полная информация со статистикой (используйте эту для storage и premium статуса)
full_user = client.auth.get_full_user()
print(f"Всего файлов: {full_user.files_count}")
print(f"Используется: {full_user.used_storage / 1024 / 1024} MB")
print(f"Лимит: {full_user.max_storage / 1024 / 1024} MB")
print(f"Премиум: {full_user.is_premium}")
Важно: /me возвращает только базовую информацию. Для полной статистики используйте get_full_user() которая вызывает /me/stats.
Загрузка файла
# Загрузить файл
file_info = client.files.upload("path/to/file.txt")
print(f"Файл загружен: {file_info.name}")
print(f"Размер: {file_info.size} байт")
Создание репозитория
# Создать репозиторий
repo = client.repos.create("Мой проект", "Описание проекта")
print(f"Репо создано: {repo.name}")
Асинхронное использование
import asyncio
async def main():
client = MiCloudClient(api_key="ваш_api_ключ")
# Базовая информация
user = await client.auth.get_current_user_async()
print(f"Пользователь: {user.username}")
# Полная информация со статистикой
full_user = await client.auth.get_full_user_async()
print(f"Статистика: {full_user.files_count} файлов")
await client.close()
asyncio.run(main())
С контекстным менеджером
async with MiCloudClient(api_key="ваш_api_ключ") as client:
user = await client.auth.get_current_user_async()
print(f"Пользователь: {user.username}")
API Referece
Аутентификация
client.auth.get_current_user()- Получить базовую информацию о пользователеclient.auth.get_full_user()- Получить полную информацию с статистикойclient.auth.get_stats()- Получить статистику использования
Файлы
client.files.upload(file_path)- Загрузить файлclient.files.list_tree()- Получить дерево файловclient.files.download(file_id)- Скачать файлclient.files.delete(file_id)- Удалить файл
Папки
client.folders.create(name, parent_id)- Создать папкуclient.folders.list(parent_id)- Список папокclient.folders.delete(folder_id)- Удалить папку
Репозитории
client.repos.create(name, description)- Создать репозиторийclient.repos.list()- Список репозиториевclient.repos.delete(repo_id)- Удалить репозиторий
Конфигурация
API подключается к https://api.micloud.website по умолчанию. Убедитесь что у вас есть действительный API ключ.
Обработка ошибок
from micloud_sdk import (
MiCloudClient,
AuthenticationError,
RateLimitError,
NotFoundError,
ValidationError,
)
try:
client = MiCloudClient(api_key="invalid_key")
user = client.auth.get_current_user()
except AuthenticationError:
print("Неверный API ключ")
except RateLimitError as e:
print(f"Превышено ограничение. Повторите через {e.retry_after} сек")
except NotFoundError:
print("Ресурс не найден")
except ValidationError as e:
print(f"Ошибка валидации: {e}")
Версионирование
Версия SDK: 1.0.0 API версия: v1
Лицензия
MIT
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 micloud_sdk-1.0.3.tar.gz.
File metadata
- Download URL: micloud_sdk-1.0.3.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b064519ca89843b4ac728546c02b09e710e051d81a67d368a403257f136aa888
|
|
| MD5 |
bf5cf6e489802dad7357d8347810a007
|
|
| BLAKE2b-256 |
f2bad753fa114fbc1c32aa26789e5554b06155fb68c2d582b82b889293d716e6
|
File details
Details for the file micloud_sdk-1.0.3-py3-none-any.whl.
File metadata
- Download URL: micloud_sdk-1.0.3-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7740364d8f3d232f9a711a7a0ab2db771163c794cf8fdab70064820f770c915
|
|
| MD5 |
ed512b53fe65f30c1a44def9ab857d63
|
|
| BLAKE2b-256 |
ff72bfa5c43917e81c7db8a512218e08375587fbe07133cbde41c5f0df9cd844
|