Package: yadisk-async
YaDisk-async - это библиотека-клиент REST API Яндекс.Диска с поддержкой async/await.Данная библиотека больше не поддерживается, используйтеyadisk>=2.0.0 вместо неё, она также
поддерживает асинхронный API.Документация доступна наRead the Docs (RU)иRead the Docs (EN).Установкаpipinstallyadisk-asyncилиpythonsetup.pyinstallПримерыimportyadisk_asyncy=yadisk_async.YaDisk(token="<token>")# или# y = yadisk_async.YaDisk("<id-приложения>", "<secret-приложения>", "<токен>")# Проверяет, валиден ли токенprint(awaity.check_token())# Получает общую информацию о дискеprint(awaity.get_disk_info())# Выводит содержимое "/some/path"print([iasyncforiinawaity.listdir("/some/path")])# Загружает "file_to_upload.txt" в "/destination.txt"awaity.upload("file_to_upload.txt","/destination.txt")# То же самоеwithopen("file_to_upload.txt","rb")asf:awaity.upload(f,"/destination.txt")# То же самое, но с aiofilesasyncwithaiofiles.open("file_to_upload.txt","rb")asf:awaity.upload(f,"/destination.txt")# Скачивает "/some-file-to-download.txt" в "downloaded.txt"awaity.download("/some-file-to-download.txt","downloaded.txt")# То же самое, но с aiofilesasyncwithaiofiles.open("downloaded.txt","wb")asf:awaity.download("/some-file-to-download.txt",f)# Безвозвратно удаляет "/file-to-remove"awaity.remove("/file-to-remove",permanently=True)# Создаёт новую папку "/test-dir"print(awaity.mkdir("/test-dir"))# Всегда закрывайте все соединения или получите предупреждениеawaity.close()История измененийRelease 1.4.5 (2023-12-14)Добавлено предупреждение об устаревании при импортеДанная библиотека больше не поддерживается, используйтеyadisk>=2.0.0 вместо неё, она также поддерживает
асинхронный APIRelease 1.4.4 (2023-10-15)Методыupload()иdownload()(и связянные с ними) теперь
могут загружать/скачивать файлы, не поддерживающие операциюseek()(например,stdinиstdout, при условии, что они открыты в
режиме"rb"или"wb"), см.PR #31Release 1.4.3 (2023-04-22)Пути видаapp:/теперь работают правильно (см.issue #26)Release 1.4.2 (2023-03-20)Исправленоissue #29: TypeError: ‘type’ object is not subscriptableИсправлена ошибка (Python <3.9): TypeError: Too many parameters for typing.AsyncIterable; actual 2, expected 1Release 1.4.1 (2023-02-28)Исправленоissue #28:TypeErrorпри вызовеdownload_public()с параметромpathИсправленоAttributeErrorпри вызовеResourceLinkObject.public_listdir()Release 1.4.0 (2023-01-30)Добавлены convenience-методы для объектов...Object(например, см.ResourceObject)Добавлены подсказки типов (type hints)Улучшены проверки ошибок и проверка ответаДобавленыInvalidResponseError,PayloadTooLargeError,UploadTrafficLimitExceededErrorДобавлено несколько недостающих полей объектовDiskInfoObjectиSystemFoldersObjectДобавлены методыrename(),upload_by_link()иdownload_by_link()Добавлен аттрибутdefault_argsобъектаYaDiskdownload()иupload()теперь возвращаютResourceLinkObjectДо этого возвращаемые объектыLinkObjectбыли заменены более конкретными подклассамиTimeoutErrorтеперь тоже вызывает повторную попыткуДобавлена поддержка асинхронных файлов дляdownload()иupload()По умолчанию используется библиотекаaiofilesдля открытия файловRelease 1.3.6 (2023-01-20)Исправленоissue #26: символ ‘:’ в именах файлов приводит кBadRequestError. Это поведение вызвано работой самого REST API
Яндекс.Диска, но было исправлено на уровне библиотеки.Release 1.3.5 (2022-11-10)Исправлен баг вis_file()иis_dir(): из-за опечатки функции
вызывали исключениеAttributeError(PR #6).Release 1.3.4 (2022-08-17)Исправлен баг вcheck_token(): функция могла вызватьForbiddenError,
если у приложения недостатчно прав (issue #23).Release 1.3.3 (2021-12-31)Исправлено: не распознавались ссылки на асинхронные операции, если они
использовалиhttp://(вместоhttps://).
Иногда Яндекс.Диск может вернутьhttp://ссылку на асинхронную
операцию. Теперь обе версии ссылок распознаются правильно, при этом,
при получении информации об операции (черезget_operation_status())
всегда используетсяhttps://версия ссылки, даже если Яндекс.Диск
вернулhttp://.Release 1.3.2 (2021-07-10)Исправлено значение__version__Release 1.3.1 (2021-07-10)Исправлена ошибкаAttributeErrorв объектеSessionWithHeaders(PR #1)Исправлены тесты корзиныRelease 1.3.0 (2019-07-06)Реализована поддержкаasync/awaitБиблиотека была переименована изyadiskвyadisk-asyncСледующие релизы относятся к оригинальной библиотекеyadisk:Release 1.2.14 (2019-03-26)Исправлена ошибкаTypeErrorв функцияхget_public_*при
использовании с параметромpath(issue #7)Добавлен аттрибутunlimited_autoupload_enabledдляDiskInfoObjectRelease 1.2.13 (2019-02-23)Добавленmd5параметр дляremove()ДобавленUserPublicInfoObjectДобавлен аттрибутcountryдляUserObjectДобавлен аттрибутphotoslice_timeдляResourceObject,PublicResourceObjectиTrashResourceObjectRelease 1.2.12 (2018-10-11)Исправлен баг: не работает параметрfieldsвlistdir()(issue #4)Release 1.2.11 (2018-06-30)Добавлен недостающий параметрsortдляget_meta()Добавлены аттрибутыfileиantivirus_statusдляResourceObject,PublicResourceObjectиTrashResourceObjectДобавлен параметрheadersИсправлена опечатка вdownload()иdownload_public()(issue #2)Убран параметр*argsRelease 1.2.10 (2018-06-14)Исправлено поведениеtimeout=None.Noneдолжен означать „без таймаута“,
но в предыдущих версиях значениеNoneбыло синонимично со стандартным таймаутом.Release 1.2.9 (2018-04-28)Изменена лицензия на LGPLv3 (см.COPYINGиCOPYING.lesser)Другие изменения информации о пакетеRelease 1.2.8 (2018-04-17)Исправлено несколько опечаток: уPublicResourceListObject.itemsиTrashResourceListObject.itemsбыли неправильные типы данныхПсевдонимы полей в параметреfieldsзаменяются при выполнении
запросов API (например,embedded->_embedded)Release 1.2.7 (2018-04-15)Исправлен баг перемотки файла при загрузке/скачивании после повторной попыткиRelease 1.2.6 (2018-04-13)Теперь объекты сессийrequestsкэшируются, чтобы их можно
было переиспользовать (иногда может существенно ускорить выполнение запросов)keep-aliveотключается при загрузке/скачивании файлов по умолчаниюRelease 1.2.5 (2018-03-31)Исправлен баг (ошибка на единицу) вutils.auto_retry()(иногда мог вызватьAttributeError)Повторные попытки применяются дляupload(),download()иdownload_public()целикомЗаданоstream=Trueдляdownload()иdownload_public()Другие мелкие исправленияRelease 1.2.4 (2018-02-19)Исправлена опечатка (TokenObject.exprires_in->TokenObject.expires_in)Release 1.2.3 (2018-01-20)ИсправленоTypeErrorпри вызовеWrongResourceTypeErrorRelease 1.2.2 (2018-01-19)refresh_token()больше не требует валидный или пустой токен.Release 1.2.1 (2018-01-14)Исправлена неработоспособность повторных попыток.Release 1.2.0 (2018-01-14)Исправлено использованиеn_retries=0вupload(),download()иdownload_public()upload(),download()иdownload_public()больше не возвращают ничего (см. документацию)Добавлен модульutils(см. документацию)ДобавленыRetriableYaDiskError,WrongResourceTypeError,BadGatewayErrorиGatewayTimeoutErrorlistdir()теперь вызываетWrongResourceTypeErrorвместоNotADirectoryErrorRelease 1.1.1 (2017-12-29)Исправлена обработка аргументов вupload(),download()иdownload_public().
До этого использованиеn_retriesиretry_intervalвызывало исключение (TypeError).Release 1.1.0 (2017-12-27)Усовершенствованные исключения (см. документацию)Добавлена поддержка параметраforce_asyncМелкие исправления баговRelease 1.0.8 (2017-11-29)Исправлен ещё один баг вlistdir()Release 1.0.7 (2017-11-04)Добавленinstall_requiresвsetup.pyRelease 1.0.6 (2017-11-04)Некоторые функции теперь возвращаютOperationLinkObjectRelease 1.0.5 (2017-10-29)Исправленsetup.py, теперь исключает тестыRelease 1.0.4 (2017-10-23)Исправлены баги вupload,downloadиlistdirЗначение по-умолчаниюlimitвlistdirустановлено в10000Release 1.0.3 (2017-10-22)Добавлен модульsettingsRelease 1.0.2 (2017-10-19)Исправлена функцияget_code_url(добавлены недостающие параметры)Release 1.0.1 (2017-10-18)Исправлен серьёзный баг вGetTokenRequest(добавлен недостающий параметр)Release 1.0.0 (2017-10-18)Первый релиз