Асинхронный API

class yadisk.AsyncClient(id: str = '', secret: str = '', token: str = '', *, default_args: dict[str, Any] | None = None, session: AsyncSession | Literal['aiohttp'] | Literal['httpx'] | None = None, open_file: Callable[[str | bytes, Literal['rb'] | Literal['wb']], Awaitable[BinaryAsyncFileLike]] | Callable[[str | bytes, Literal['rb'] | Literal['wb']], Awaitable[BinaryIO]] | None = None, session_factory: Callable[[], AsyncSession] | None = None)[исходный код]

Реализует доступ к REST API Яндекс.Диска (реализует асинхронный API).

Реализация HTTP-клиента может быть указана с помощью параметра session. По умолчанию используется AsyncHTTPXSession. см. Доступные реализации сессий для других списка других доступных вариантов.

Почти все методы AsyncClient (те, которые принимают **kwargs) принимают некоторые дополнительные параметры:

  • n_retries - int, максимальное число повторных попыток запроса

  • retry_interval - float, задержка между повторными попытками (в секундах)

  • headers - dict или None, дополнительные заголовки запроса

  • timeout - tuple ((<connect timeout>, <read timeout>)) или float (указывает одновременно и connect и read timeout), таймаут запроса в секундах

Дополнительные параметры, относящиеся к конкретной HTTP библиотеке могут также быть переданы, см. документацию для конкретных подклассов AsyncSession (Доступные реализации сессий).

Примечание

Не забывайте вызывать AsyncClient.close или используйте async with, чтобы закрыть все соединения. Иначе, вы можете получить предупреждение.

В Client это делалается в деструкторе, но т.к. AsyncClient.close - корутина, здесь этого сделать нельзя, поэтому приходится делать это явно.

Параметры:
  • id – идентификатор приложения

  • secret – пароль приложения

  • token – токен

  • default_argsdict или None, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.

  • sessionNone, str или объект AsyncSession. Если session - строка, то нужный класс будет автоматически импортирован, допустимые значения: * "aiohttp" - AIOHTTPSession * "httpx" - AsyncHTTPXSession

  • open_fileNone или асинхронная функция, которая открывает файл для чтения или записи (aiofiles.open() по умолчанию)

  • session_factory – оставлен для совместимости, функция, возвращающая объект AsyncSession

Переменные:
  • idstr, идентификатор приложения

  • secretstr, пароль приложения

  • tokenstr, токен

  • default_argsdict, аргументы по умолчанию для методов. Можно использовать, чтобы задать стандартный таймаут, заголовки и т.д.

  • session – текущая сессия (объект AsyncSession)

  • open_file – асинхронная функция, которая открывает файл для чтения или записи (aiofiles.open() по умолчанию)

Большинство запросов к API могут вызвать следующие исключения:

Исключение:
async check_token(token: str | None = None, /, **kwargs) bool[исходный код]

Проверяет, действителен ли токен.

Параметры:
  • token – токен, подлежащий проверке, то же самое, что self.token при None

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Результат:

bool

async close() None[исходный код]

Закрывает сессию. Не вызывайте этот метод, пока другие потоки используют этот объект.

Этот метод неявно вызывается конструкцией async with.

async copy(src_path: str, dst_path: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

Копирует src_path в dst_path. Если операция выполняется асинхронно, возвращает ссылку на операцию, иначе, возвращает ссылку на новый ресурс.

Параметры:
  • src_path – исходный путь

  • dst_path – путь назначения

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • InsufficientStorageError – невозможно выполнить запрос из-за нехватки свободного места на Диске

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async download(src_path: str, path_or_file: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncResourceLinkObject[исходный код]

Скачивает файл.

Параметры:
  • src_path – исходный путь

  • path_or_file – путь назначения или файл-подобный объект

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject, ссылка на исходный ресурс

Скачивает файл по уже полученной ссылке.

Параметры:
  • link – ссылка для скачивания

  • file_or_path – путь назначения или файл-подобный объект

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

async download_public(public_key: str, file_or_path: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncPublicResourceLinkObject[исходный код]

Скачивает публичный ресурс.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • file_or_path – путь назначения или файл-подобный объект

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncPublicResourceLinkObject

async exists(path: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли path.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

get_auth_url(type: Literal['code'] | Literal['token'], device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]

Получает URL для аутентификации для пользователя. Данный метод не отправляет никаких HTTP запросов.

Параметры:
  • type – тип ответа («code», чтобы получить код подтверждения или «token», чтобы получить токен автоматически)

  • device_id – уникальный идентификатор устройства, от 6 до 50 символов

  • device_name – имя устройства, не более 100 символов

  • redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения

  • display – ничего не делает, оставлен для совместимости

  • login_hint – username или email аккаунта, для которого будет получен токен

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

  • force_confirm – Если True, пользователь должен будет разрешить доступ к аккаунту, даже если он уже это сделал до этого

  • state – Строка состояния, которую Яндекс.OAuth возвращает без изменений (<= 1024 символов)

  • code_challenge – строка, полученная из сгенерированного значения code_verifier с помощью одного из двух возможных преобразований (plain или S256)

  • code_challenge_method – Указывает функцию, которая будет использована для преобразования значения code_verifier, возможные значения: "plain" и "S256" (рекомендуется). Если используется "S256", значение code_challenge должно быть получено путём хэширования значения code_verifier и кодирования в base64

Исключение:

ValueError – были переданы неправильные аргументы

Результат:

URL для аутентификации

get_code_url(device_id: str | None = None, device_name: str | None = None, redirect_uri: str | None = None, login_hint: str | None = None, scope: str | None = None, optional_scope: str | None = None, force_confirm: bool = True, state: str | None = None, code_challenge: str | None = None, code_challenge_method: Literal['plain'] | Literal['S256'] | None = None, display: None = None) str[исходный код]

Получает URL для получения пользователем кода подтверждения. Он может быть использован для получения токена. Данный метод не отправляет никаких HTTP запросов.

Параметры:
  • device_id – уникальный идентификатор устройства, от 6 до 50 символов

  • device_name – имя устройства, не более 100 символов

  • redirect_uri – URL на который пользователь будет перенаправлен после предоставления доступа приложению, по умолчанию используется первый URI, указанный в настройках приложения

  • display – ничего не делает, оставлен для совместимости

  • login_hint – username или email аккаунта, для которого будет получен токен

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

  • force_confirm – Если True, пользователь должен будет разрешить доступ к аккаунту, даже если он уже это сделал до этого

  • state – Строка состояния, которую Яндекс.OAuth возвращает без изменений (<= 1024 символов)

  • code_challenge – строка, полученная из сгенерированного значения code_verifier с помощью одного из двух возможных преобразований (plain или S256)

  • code_challenge_method – Указывает функцию, которая будет использована для преобразования значения code_verifier, возможные значения: "plain" и "S256" (рекомендуется). Если используется "S256", значение code_challenge должно быть получено путём хэширования значения code_verifier и кодирования в base64

Исключение:

ValueError – были переданы неправильные аргументы

Результат:

URL для аутентификации

async get_device_code(**kwargs) DeviceCodeObject[исходный код]

Данный запрос используется для авторизации с помощью страницы Яндекс OAuth. В данном случае пользователь должен ввести код подтверждения (user_code) в браузере на странице Яндекс OAuth. После того как пользователь ввёл код, приложение может обменять device_code на токен с помощью метода AsyncClient.get_token_from_device_code().

Параметры:
  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • device_name – имя устройства, не более 100 символов

  • scopestr, список разрешений для приложения

  • optional_scopestr, список опциональных разрешений для приложения

Исключение:
  • InvalidClientError – неправильный идентификатор или пароль приложения

  • BadRequestError – неправильные параметры запроса

Результат:

DeviceCodeObject, содержащий user_code и device_code

async get_disk_info(**kwargs) DiskInfoObject[исходный код]

Получает информацию о диске.

Параметры:
  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

DiskInfoObject

Получает ссылку на скачивание файла (или папки).

Параметры:
  • path – путь к ресурсу

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

str

async get_files(**kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]

Получить плоский список всех файлов (без папок).

Параметры:
  • offset – отступ от начала списка

  • limit – максимальное количество элементов списка

  • media_type – тип файлов, которые будут включены в список

  • sortstr, поле использумое для сортировки вложенных ресурсов

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

асинхронный генератор AsyncResourceObject

async get_last_uploaded(**kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]

Получает список последних загруженных файлов, отсортированный по дате загрузки.

Параметры:
  • limit – максимальное число элементов в списке

  • media_type – тип файлов, которые будут включены в список

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

асинхронный генератор AsyncResourceObject

async get_meta(path: str, /, **kwargs) AsyncResourceObject[исходный код]

Получает мета-информацию о ресурсе.

Параметры:
  • path – путь к ресурсу

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • sortstr, поле использумое для сортировки вложенных ресурсов

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

AsyncResourceObject

async get_operation_status(operation_id, /, **kwargs) str[исходный код]

Получает статус операции.

Параметры:
  • operation_id – идентификатор операции или ссылка на нее

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

OperationNotFoundError – указанная операция не найдена

Результат:

str, "in-progress" означает, что операция в процессе, "success" означает, что операция успешно завершилась, "failed" означает, что операция завершилась с ошибкой

Получает ссылку на скачивание публичного ресурса.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

str

async get_public_meta(public_key: str, /, **kwargs) AsyncPublicResourceObject[исходный код]

Получает мета-информацию о публичном ресурсе.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки. Указывая ключ опубликованной папки через public_key, вы можете запросить метаинформацию любого ресурса внутри неё.

  • offset – отступ от начала списка вложенных ресурсов

  • limit – максимальное количество элементов списка вложенных ресурсов

  • sortstr, поле использумое для сортировки вложенных ресурсов

  • preview_size – размер превью файла

  • preview_cropbool, разрешить обрезку превью

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

AsyncPublicResourceObject

async get_public_resources(**kwargs) AsyncPublicResourcesListObject[исходный код]

Получает список публичных ресурсов.

Параметры:
  • offset – отступ от начала списка

  • limit – максимальное число элементов в списке

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • type – фильтр по типу ресурса («file» или «dir»)

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

AsyncPublicResourcesListObject

async get_public_type(public_key: str, /, **kwargs) str[исходный код]

Получает тип публичного ресурса.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

async get_token(code: str, /, **kwargs) TokenObject[исходный код]

Получает новый токен.

Параметры:
  • code – код подтверждения

  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • code_verifierstr, код верификатора, используемый при авторизации с PKCE

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • BadVerificationCodeError – неправильный формат кода подтверждения

  • InvalidGrantError – неправильный или истекший код

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • BadRequestError – неправильные параметры запроса

Результат:

TokenObject

async get_token_from_device_code(device_code: str, /, **kwargs) TokenObject[исходный код]

Получает новый токен с помощью кода устройства (device_code), полученногос помощью AsyncClient.get_device_code()

Параметры:
  • code – код подтверждения

  • device_id – уникальный идентификатор устройства (между 6 и 50 символами)

  • device_name – имя устройства, не более 100 символов

  • code_verifierstr, код верификатора, используемый при авторизации с PKCE

  • timeoutfloat или tuple, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
Результат:

TokenObject

async get_trash_meta(path: str, /, **kwargs) AsyncTrashResourceObject[исходный код]

Получает мета-информацию о ресурсе корзины.

Параметры:
  • path – путь к ресурсу корзины

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • sortstr, поле использумое для сортировки вложенных ресурсов

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

AsyncTrashResourceObject

async get_trash_type(path: str, /, **kwargs) str[исходный код]

Получает тип ресурса корзины.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

async get_type(path: str, /, **kwargs) str[исходный код]

Получает тип ресурса

Параметры:
  • path – путь к ресурсу

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

«file» или «dir»

Получает ссылку для загрузки файла на диск при помощи PUT запроса.

Параметры:
  • path – путь назначения

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

str

async is_dir(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path папкой.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

async is_file(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path файлом.

Параметры:
  • path – путь к ресурсу

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является файлом, False, в остальных случаях (даже если ресурс не существует)

async is_public_dir(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, является ли public_key публичной папкой.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если public_key является папкой, False, в остальных случаях (даже если ресурс не существует)

async is_public_file(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, является ли public_key публичным файлом.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если public_key является файлом, False, в остальных случаях (даже если ресурс не существует)

async is_trash_dir(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path папкой в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

async is_trash_file(path: str, /, **kwargs) bool[исходный код]

Проверяет, является ли path файлом в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

True, если path является папкой, False, в остальных случаях (даже если ресурс не существует)

async listdir(path: str, /, **kwargs) AsyncGenerator[AsyncResourceObject, None][исходный код]

Получает содержимое path.

Параметры:
  • path – путь к папке

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

асинхронный генератор AsyncResourceObject

async mkdir(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]

Создаёт новую папку.

Параметры:
  • path – путь к папке, подлежащей созданию

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • DirectoryExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно создать папку из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject

async move(src_path: str, dst_path: str, /, **kwargs) AsyncOperationLinkObject | AsyncResourceLinkObject[исходный код]

Перемещает src_path в dst_path.

Параметры:
  • src_path – исходный путь, подлежащий перемещению

  • dst_path – путь назначения

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async patch(path: str, properties: dict, /, **kwargs) AsyncResourceObject[исходный код]

Обновляет пользовательские свойства ресурса.

Параметры:
  • path – путь к ресурсу

  • propertiesdict, новые пользовательские свойства ресурса

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceObject

async public_exists(public_key: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли публичный ресурс.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу внутри публичной папки

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

async public_listdir(public_key: str, /, **kwargs) AsyncGenerator[AsyncPublicResourceObject, None][исходный код]

Получает содержимое публичной папки.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • path – относительный путь к ресурсу в публичной папке. Указывая ключ опубликованной папки через public_key, вы можете запросить содержимое любой вложенной папки.

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

асинхронный генератор AsyncPublicResourceObject

async publish(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]

Делает ресурс публичным.

Параметры:
  • path – путь к публикуемому ресурсу

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject, ссылка на ресурс

async refresh_token(refresh_token: str, /, **kwargs) TokenObject[исходный код]

Обновляет существующий токен.

Параметры:
  • refresh_token – refresh-токен, полученный вместе с токеном

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • InvalidGrantError – неправильный или истекший refresh-токен или он не принадлежит этому приложению

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • BadRequestError – неправильные параметры запроса

Результат:

TokenObject

async remove(path: str, /, **kwargs) AsyncOperationLinkObject | None[исходный код]

Удаляет ресурс.

Параметры:
  • path – путь к удаляемому ресурсу

  • permanently – если True, ресурс будет безвозвратно удалён, иначе ресурс будет перемещён в корзину

  • md5str, MD5 хэш файла, подлежащего удалению

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • BadRequestError – проверка MD5 доступна только для файлов

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncOperationLinkObject, если операция выполняется асинхронно, иначе None

async remove_trash(path: str, /, **kwargs) AsyncOperationLinkObject | None[исходный код]

Удаляет ресурс корзины.

Параметры:
  • path – путь к ресурсу корзины, подлежащий удалению

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncOperationLinkObject, если операция выполняется асинхронно, иначе None

async rename(src_path: str, new_name: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

Переименовывает src_path в new_name. Делает то же самое, что и move(), за исключением того, что меняет только имя файла.

Параметры:
  • src_path – исходный путь, подлежащий перемещению

  • new_name – новое имя файла, в которое следует переименовать ресурс

  • overwritebool, определяет, перезаписывать путь назначения или нет

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • ValueErrornew_name не является допустимым именем файла

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async restore_trash(path: str, dst_path: str | None = None, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

Восстанавливает ресурс корзины. Возвращает ссылку на новый ресурс или ссылку на асинхронную операцию.

Параметры:
  • path – путь к восстанавливаему ресурсу

  • dst_path – путь назначения

  • overwritebool, определяет может ли путь назначения быть перезаписан

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • PathExistsError – путь назначения уже существует

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async revoke_token(token: str | None = None, /, **kwargs) TokenRevokeStatusObject[исходный код]

Отзывает токен.

Параметры:
  • token – токен, подлежащий отзыву, то же самое, что self.token, если None

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • InvalidGrantError – указанный токен не принадлежит данному приложению

  • InvalidClientError – неправильный идентификатор или пароль приложения

  • UnsupportedTokenTypeError – не удалось отозвать токен, потому что у него нет device_id

  • BadRequestError – неправильные параметры запроса

Результат:

TokenRevokeStatusObject

async save_to_disk(public_key: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[исходный код]

Сохраняет публичный ресурс на диск. Возвращает ссылку на операцию, если сохранение выполняется асинхронно, или возвращает ссылку на ресурс.

Параметры:
  • public_key – публичный ключ или URL к ресурсу

  • name – имя файла/папки, под которым будет сохранён ресурс

  • path – путь к копируемому ресурсу в публичной папке

  • save_path – путь к папке назначения (загрузки по умолчанию)

  • force_async – заставляет выполнять операцию асинхронно

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

AsyncResourceLinkObject или AsyncOperationLinkObject

async trash_exists(path: str, /, **kwargs) bool[исходный код]

Проверяет, существует ли path в корзине.

Параметры:
  • path – путь к ресурсу корзины

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

Результат:

bool

async trash_listdir(path: str, /, **kwargs) AsyncGenerator[AsyncTrashResourceObject, None][исходный код]

Получает содержимое папки в корзине.

Параметры:
  • path – путь к папке в корзине

  • limit – количество ресурсов в папке, которые будут включены в ответ

  • offset – количество ресурсов в папке, которые будут пропущены

  • preview_size – размер превью файла

  • preview_cropbool, обрезает превью согласно размеру, заданному в preview_size

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • WrongResourceTypeError – указанный ресурс не является папкой

Результат:

асинхронный генератор AsyncTrashResourceObject

async unpublish(path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]

Делает публичный ресурс приватным.

Параметры:
  • path – путь к ресурсу, подлежащему депубликации

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • PathNotFoundError – ресурс не был найден на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

Результат:

AsyncResourceLinkObject

async upload(path_or_file: str | bytes | BinaryIO | AsyncFileLike | Callable[[], AsyncIterator[bytes]], dst_path: str, /, **kwargs) AsyncResourceLinkObject[исходный код]

Загружает файл на диск.

Параметры:
  • path_or_file – путь к файлу, файл-подобный объект или функция, возвращающая асинхронный генератор для загрузки

  • dst_path – путь назначения

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

AsyncResourceLinkObject, ссылка на загруженный ресурс

Загружает файл на диск по уже полученной ссылке.

Параметры:
  • file_or_path – путь к файлу, файл-подобный объект или функция, возвращающая асинхронный генератор для загрузки

  • link – ссылка для загрузки файла

  • overwrite – если True, путь назначения может быть перезаписан, иначе будет вызвана ошибка

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:

InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

async upload_url(url: str, path: str, /, **kwargs) AsyncOperationLinkObject[исходный код]

Загружает файл на диск по URL.

Параметры:
  • url – исходный URL

  • path – путь назначения

  • disable_redirectsbool, запретить делать перенаправления

  • fields – список ключей, которые будут включены в ответ

  • timeoutfloat, tuple или None, таймаут запроса

  • headersdict или None, дополнительные заголовки запроса

  • n_retriesint, максимальное число повторных попыток запроса

  • retry_interval – задержка между повторными попытками в секундах

Исключение:
  • ParentNotFoundError – родительская папка не существует

  • PathExistsError – путь назначения уже существует

  • InsufficientStorageError – невозможно загрузить файл из-за нехватки места на Диске

  • ForbiddenError – у приложения не хватает прав, чтобы выполнить данный запрос

  • ResourceIsLockedError – запрашиваемый ресурс заблокирован другой операцией

  • UploadTrafficLimitExceededError – достигнут лимит на загрузку файлов

Результат:

AsyncOperationLinkObject, ссылка на асинхронную операцию

yadisk.AsyncYaDisk

alias of AsyncClient