Asynchronous 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)[source]

Implements access to Yandex.Disk REST API (provides asynchronous API).

HTTP client implementation can be specified using the session parameter. AsyncHTTPXSession is used by default. For other options, see Available Session Implementations.

Almost all methods of AsyncClient (the ones that accept **kwargs) accept some additional arguments:

  • n_retries - int, maximum number of retries for a request

  • retry_interval - float, delay between retries (in seconds)

  • headers - dict or None, additional request headers

  • timeout - tuple ((<connect timeout>, <read timeout>)) or float (specifies both connect and read timeout), request timeout (in seconds)

Additional parameters, specific to a given HTTP client library can also be passed, see documentation for specific AsyncSession subclasses (Available Session Implementations).

Note

Do not forget to call AsyncClient.close or use the async with statement to close all the connections. Otherwise, you may get a warning.

In Client this is handled in the destructor, but since AsyncClient.close is a coroutine function the same cannot be done here, so you have to do it explicitly.

Parameters:
  • id – application ID

  • secret – application secret password

  • token – application token

  • default_argsdict or None, default arguments for methods. Can be used to set the default timeout, headers, etc.

  • session

    None, str or an instance of AsyncSession. If session is a string, the appropriate session class will be imported, it must be one of the following values:

  • open_fileNone or an async function that opens a file for reading or writing (aiofiles.open() by default)

  • session_factory – kept for compatibility, callable that returns an instance of AsyncSession

Variables:
  • idstr, application ID

  • secretstr, application secret password

  • tokenstr, application token

  • default_argsdict, default arguments for methods. Can be used to set the default timeout, headers, etc.

  • session – current session (AsyncSession instance)

  • open_file – async function that opens a file for reading or writing (aiofiles.open() by default)

The following exceptions may be raised by most API requests:

Raises:
async check_token(token: str | None = None, /, **kwargs) bool[source]

Check whether the token is valid.

Parameters:
  • token – token to check, equivalent to self.token if None

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Returns:

bool

async close() None[source]

Closes the session. Do not call this method while there are other active threads using this object.

This method can also be called implicitly by using the async with statement.

async copy(src_path: str, dst_path: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[source]

Copy src_path to dst_path. If the operation is performed asynchronously, returns the link to the operation, otherwise, returns the link to the newly created resource.

Parameters:
  • src_path – source path

  • dst_path – destination path

  • overwrite – if True the destination path can be overwritten, otherwise, an error will be raised

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject or AsyncOperationLinkObject

async download(src_path: str, path_or_file: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncResourceLinkObject[source]

Download the file.

Parameters:
  • src_path – source path

  • path_or_file – destination path or file-like object

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject, link to the source resource

Download the file from the link.

Parameters:
  • link – download link

  • file_or_path – destination path or file-like object

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

async download_public(public_key: str, file_or_path: str | bytes | BinaryIO | BinaryAsyncFileLike, /, **kwargs) AsyncPublicResourceLinkObject[source]

Download the public resource.

Parameters:
  • public_key – public key or public URL of the resource

  • file_or_path – destination path or file-like object

  • path – relative path to the resource within the public folder

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncPublicResourceLinkObject

async exists(path: str, /, **kwargs) bool[source]

Check whether path exists.

Parameters:
  • path – path to the resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

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[source]

Get authentication URL for the user to go to. This method doesn’t send any HTTP requests and merely constructs the URL.

Parameters:
  • type – response type (“code” to get the confirmation code or “token” to get the token automatically)

  • device_id – unique device ID, must be between 6 and 50 characters

  • device_name – device name, should not be longer than 100 characters

  • redirect_uri – the URL to redirect the user to after they allow access to the app, by default, the first redirect URI specified in the app settings is used

  • display – doesn’t do anything, kept for compatibility

  • login_hint – username or email for the account the token is being requested for

  • scopestr, list of permissions for the application

  • optional_scopestr, list of optional permissions for the application

  • force_confirm – if True, user will be required to confirm access to the account even if the user has already granted access for the application

  • state – The state string, which Yandex.OAuth returns without any changes (<= 1024 characters)

  • code_challenge – string derived from the generated code_verifier value using one of the two possible transformations (plain or S256)

  • code_challenge_method – specifies what function was used to transform the code_verifier value to code_challenge, allowed values are "plain" and "S256" (recommended). If "S256" is used, code_challenge must be produced by hashing the code_verifier value and encoding it to base64

Raises:

ValueError – invalid arguments were passed

Returns:

authentication 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[source]

Get the URL for the user to get the confirmation code. The confirmation code can later be used to get the token. This method doesn’t send any HTTP requests and merely constructs the URL.

Parameters:
  • device_id – unique device ID, must be between 6 and 50 characters

  • device_name – device name, should not be longer than 100 characters

  • redirect_uri – the URL to redirect the user to after they allow access to the app, by default, the first redirect URI specified in the app settings is used

  • display – doesn’t do anything, kept for compatibility

  • login_hint – username or email for the account the token is being requested for

  • scopestr, list of permissions for the application

  • optional_scopestr, list of optional permissions for the application

  • force_confirm – if True, user will be required to confirm access to the account even if the user has already granted access for the application

  • state – The state string, which Yandex.OAuth returns without any changes (<= 1024 characters)

  • code_challenge – string derived from the generated code_verifier value using one of the two possible transformations (plain or S256)

  • code_challenge_method – specifies what function was used to transform the code_verifier value to code_challenge, allowed values are "plain" and "S256" (recommended). If "S256" is used, code_challenge must be produced by hashing the code_verifier value and encoding it to base64

Raises:

ValueError – invalid arguments were passed

Returns:

authentication URL

async get_device_code(**kwargs) DeviceCodeObject[source]

This request is used for authorization using the Yandex OAuth page. In this case the user must enter the verification code (user_code) in the browser on the Yandex OAuth page. After the user has entered the code on the OAuth page, the application can exchange the device_code for the token using the AsyncClient.get_token_from_device_code().

Parameters:
  • device_id – unique device ID (between 6 and 50 characters)

  • device_name – device name, should not be longer than 100 characters

  • scopestr, list of permissions for the application

  • optional_scopestr, list of optional permissions for the application

Raises:
Returns:

DeviceCodeObject containing user_code and device_code

async get_disk_info(**kwargs) DiskInfoObject[source]

Get disk information.

Parameters:
  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

DiskInfoObject

Get a download link for a file (or a directory).

Parameters:
  • path – path to the resource

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

str

async get_files(**kwargs) AsyncGenerator[AsyncResourceObject, None][source]

Get a flat list of all files (that doesn’t include directories).

Parameters:
  • offset – offset from the beginning of the list

  • limit – number of list elements to be included

  • media_type – type of files to include in the list

  • sortstr, field to be used as a key to sort children resources

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

async generator of AsyncResourceObject

async get_last_uploaded(**kwargs) AsyncGenerator[AsyncResourceObject, None][source]

Get the list of latest uploaded files sorted by upload date.

Parameters:
  • limit – maximum number of elements in the list

  • media_type – type of files to include in the list

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

async generator of AsyncResourceObject

async get_meta(path: str, /, **kwargs) AsyncResourceObject[source]

Get meta information about a file/directory.

Parameters:
  • path – path to the resource

  • limit – number of children resources to be included in the response

  • offset – number of children resources to be skipped in the response

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • sortstr, field to be used as a key to sort children resources

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceObject

async get_operation_status(operation_id, /, **kwargs) str[source]

Get operation status.

Parameters:
  • operation_id – ID of the operation or a link

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

OperationNotFoundError – requested operation was not found

Returns:

str, "in-progress" indicates that the operation is currently running, "success" indicates that the operation was successful, "failed" means that the operation failed

Get a download link for a public resource.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource within the public folder

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

str

async get_public_meta(public_key: str, /, **kwargs) AsyncPublicResourceObject[source]

Get meta-information about a public resource.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to a resource in a public folder. By specifying the key of the published folder in public_key, you can request metainformation for any resource in the folder.

  • offset – offset from the beginning of the list of nested resources

  • limit – maximum number of nested elements to be included in the list

  • sortstr, field to be used as a key to sort children resources

  • preview_size – file preview size

  • preview_cropbool, allow preview crop

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncPublicResourceObject

async get_public_resources(**kwargs) AsyncPublicResourcesListObject[source]

Get a list of public resources.

Parameters:
  • offset – offset from the beginning of the list

  • limit – maximum number of elements in the list

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • type – filter based on type of resources (“file” or “dir”)

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

AsyncPublicResourcesListObject

async get_public_type(public_key: str, /, **kwargs) str[source]

Get public resource type.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource within the public folder

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

“file” or “dir”

async get_token(code: str, /, **kwargs) TokenObject[source]

Get a new token.

Parameters:
  • code – confirmation code

  • device_id – unique device ID (between 6 and 50 characters)

  • code_verifierstr, verifier code, used with the PKCE authorization flow

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

TokenObject

async get_token_from_device_code(device_code: str, /, **kwargs) TokenObject[source]

Get a new token from a device code, previously obtained with AsyncClient.get_device_code().

Parameters:
  • code – confirmation code

  • device_id – unique device ID (between 6 and 50 characters)

  • device_name – device name, should not be longer than 100 characters

  • code_verifierstr, verifier code, used with the PKCE authorization flow

  • timeoutfloat or tuple, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

TokenObject

async get_trash_meta(path: str, /, **kwargs) AsyncTrashResourceObject[source]

Get meta information about a trash resource.

Parameters:
  • path – path to the trash resource

  • limit – number of children resources to be included in the response

  • offset – number of children resources to be skipped in the response

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • sortstr, field to be used as a key to sort children resources

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncTrashResourceObject

async get_trash_type(path: str, /, **kwargs) str[source]

Get trash resource type.

Parameters:
  • path – path to the trash resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

“file” or “dir”

async get_type(path: str, /, **kwargs) str[source]

Get resource type.

Parameters:
  • path – path to the resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

“file” or “dir”

Get a link to upload the file using the PUT request.

Parameters:
  • path – destination path

  • overwritebool, determines whether to overwrite the destination

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

str

async is_dir(path: str, /, **kwargs) bool[source]

Check whether path is a directory.

Parameters:
  • path – path to the resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if path is a directory, False otherwise (even if it doesn’t exist)

async is_file(path: str, /, **kwargs) bool[source]

Check whether path is a file.

Parameters:
  • path – path to the resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if path is a file, False otherwise (even if it doesn’t exist)

async is_public_dir(public_key: str, /, **kwargs) bool[source]

Check whether public_key is a public directory.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource within the public folder

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if public_key is a directory, False otherwise (even if it doesn’t exist)

async is_public_file(public_key: str, /, **kwargs) bool[source]

Check whether public_key is a public file.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource within the public folder

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if public_key is a file, False otherwise (even if it doesn’t exist)

async is_trash_dir(path: str, /, **kwargs) bool[source]

Check whether path is a trash directory.

Parameters:
  • path – path to the trash resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if path is a directory, False otherwise (even if it doesn’t exist)

async is_trash_file(path: str, /, **kwargs) bool[source]

Check whether path is a trash file.

Parameters:
  • path – path to the trash resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

True if path is a directory, False otherwise (even if it doesn’t exist)

async listdir(path: str, /, **kwargs) AsyncGenerator[AsyncResourceObject, None][source]

Get contents of path.

Parameters:
  • path – path to the directory

  • limit – number of children resources to be included in the response

  • offset – number of children resources to be skipped in the response

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

async generator of AsyncResourceObject

async mkdir(path: str, /, **kwargs) AsyncResourceLinkObject[source]

Create a new directory.

Parameters:
  • path – path to the directory to be created

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject

async move(src_path: str, dst_path: str, /, **kwargs) AsyncOperationLinkObject | AsyncResourceLinkObject[source]

Move src_path to dst_path.

Parameters:
  • src_path – source path to be moved

  • dst_path – destination path

  • overwritebool, determines whether to overwrite the destination

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject or AsyncOperationLinkObject

async patch(path: str, properties: dict, /, **kwargs) AsyncResourceObject[source]

Update custom properties of a resource.

Parameters:
  • path – path to the resource

  • propertiesdict, custom properties to update

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceObject

async public_exists(public_key: str, /, **kwargs) bool[source]

Check whether the public resource exists.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource within the public folder

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

bool

async public_listdir(public_key: str, /, **kwargs) AsyncGenerator[AsyncPublicResourceObject, None][source]

Get contents of a public directory.

Parameters:
  • public_key – public key or public URL of the resource

  • path – relative path to the resource in the public folder. By specifying the key of the published folder in public_key, you can request contents of any nested folder.

  • limit – number of children resources to be included in the response

  • offset – number of children resources to be skipped in the response

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

async generator of AsyncPublicResourceObject

async publish(path: str, /, **kwargs) AsyncResourceLinkObject[source]

Make a resource public.

Parameters:
  • path – path to the resource to be published

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject, link to the resource

async refresh_token(refresh_token: str, /, **kwargs) TokenObject[source]

Refresh an existing token.

Parameters:
  • refresh_token – the refresh token that was received with the token

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

TokenObject

async remove(path: str, /, **kwargs) AsyncOperationLinkObject | None[source]

Remove the resource.

Parameters:
  • path – path to the resource to be removed

  • permanently – if True, the resource will be removed permanently, otherwise, it will be just moved to the trash

  • md5str, MD5 hash of the file to remove

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncOperationLinkObject if the operation is performed asynchronously, None otherwise

async remove_trash(path: str, /, **kwargs) AsyncOperationLinkObject | None[source]

Remove a trash resource.

Parameters:
  • path – path to the trash resource to be deleted

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncOperationLinkObject if the operation is performed asynchronously, None otherwise

async rename(src_path: str, new_name: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[source]

Rename src_path to have filename new_name. Does the same as move() but changes only the filename.

Parameters:
  • src_path – source path to be moved

  • new_name – target filename to rename to

  • overwritebool, determines whether to overwrite the destination

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject or AsyncOperationLinkObject

async restore_trash(path: str, dst_path: str | None = None, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[source]

Restore a trash resource. Returns a link to the newly created resource or a link to the asynchronous operation.

Parameters:
  • path – path to the trash resource to restore

  • dst_path – destination path

  • overwritebool, determines whether the destination can be overwritten

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject or AsyncOperationLinkObject

async revoke_token(token: str | None = None, /, **kwargs) TokenRevokeStatusObject[source]

Revoke the token.

Parameters:
  • token – token to revoke, equivalent to self.token if None

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

TokenRevokeStatusObject

async save_to_disk(public_key: str, /, **kwargs) AsyncResourceLinkObject | AsyncOperationLinkObject[source]

Saves a public resource to the disk. Returns the link to the operation if it’s performed asynchronously, or a link to the resource otherwise.

Parameters:
  • public_key – public key or public URL of the resource

  • name – filename of the saved resource

  • path – path to the copied resource in the public folder

  • save_path – path to the destination directory (downloads directory by default)

  • force_async – forces the operation to be executed asynchronously

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject or AsyncOperationLinkObject

async trash_exists(path: str, /, **kwargs) bool[source]

Check whether the trash resource at path exists.

Parameters:
  • path – path to the trash resource

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

ForbiddenError – application doesn’t have enough rights for this request

Returns:

bool

async trash_listdir(path: str, /, **kwargs) AsyncGenerator[AsyncTrashResourceObject, None][source]

Get contents of a trash resource.

Parameters:
  • path – path to the directory in the trash bin

  • limit – number of children resources to be included in the response

  • offset – number of children resources to be skipped in the response

  • preview_size – size of the file preview

  • preview_cropbool, cut the preview to the size specified in the preview_size

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

async generator of AsyncTrashResourceObject

async unpublish(path: str, /, **kwargs) AsyncResourceLinkObject[source]

Make a public resource private.

Parameters:
  • path – path to the resource to be unpublished

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject

async upload(path_or_file: str | bytes | BinaryIO | AsyncFileLike | Callable[[], AsyncIterator[bytes]], dst_path: str, /, **kwargs) AsyncResourceLinkObject[source]

Upload a file to disk.

Parameters:
  • path_or_file – path, file-like object or an async generator function to be uploaded

  • dst_path – destination path

  • overwrite – if True, the resource will be overwritten if it already exists, an error will be raised otherwise

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncResourceLinkObject, link to the destination resource

Upload a file to disk using an upload link.

Parameters:
  • file_or_path – path, file-like object or an async generator function to be uploaded

  • link – upload link

  • overwrite – if True, the resource will be overwritten if it already exists, an error will be raised otherwise

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:

InsufficientStorageError – cannot upload file due to lack of storage space

async upload_url(url: str, path: str, /, **kwargs) AsyncOperationLinkObject[source]

Upload a file from URL.

Parameters:
  • url – source URL

  • path – destination path

  • disable_redirectsbool, forbid redirects

  • fields – list of keys to be included in the response

  • timeoutfloat, tuple or None, request timeout

  • headersdict or None, additional request headers

  • n_retriesint, maximum number of retries

  • retry_interval – delay between retries in seconds

Raises:
Returns:

AsyncOperationLinkObject, link to the asynchronous operation

yadisk.AsyncYaDisk

alias of AsyncClient