Skip to main content

Библиотека-клиент REST API Яндекс.Диска / Yandex.Disk REST API client library

Project description

Read the Docs PyPI AUR

YaDisk - это библиотека-клиент REST API Яндекс.Диска.

Документация доступна на Read the Docs (RU) и Read the Docs (EN).

Установка

pip install yadisk

или

python setup.py install

Примеры

import yadisk

y = yadisk.YaDisk(token="<токен>")
# или
# y = yadisk.YaDisk("<id-приложения>", "<secret-приложения>", "<токен>")

# Проверяет, валиден ли токен
print(y.check_token())

# Получает общую информацию о диске
print(y.get_disk_info())

# Выводит содержимое "/some/path"
print(list(y.listdir("/some/path")))

# Загружает "file_to_upload.txt" в "/destination.txt"
y.upload("file_to_upload.txt", "/destination.txt")

# То же самое
with open("file_to_upload.txt", "rb") as f:
    y.upload(f, "/destination.txt")

# Скачивает "/some-file-to-download.txt" в "downloaded.txt"
y.download("/some-file-to-download.txt", "downloaded.txt")

# Безвозвратно удаляет "/file-to-remove"
y.remove("/file-to-remove", permanently=True)

# Создаёт новую папку "/test-dir"
print(y.mkdir("/test-dir"))

История изменений

  • Release 1.2.16 (2022-08-17)

    • Исправлен баг в check_token(): функция могла вызвать ForbiddenError, если у приложения недостатчно прав (issue #23).

  • Release 1.2.15 (2021-12-31)

    • Исправлено: не распознавались ссылки на асинхронные операции, если они использовали http:// (вместо https://). Иногда Яндекс.Диск может вернуть http:// ссылку на асинхронную операцию. Теперь обе версии ссылок распознаются правильно, при этом, при получении информации об операции (через get_operation_status()) всегда используется https:// версия ссылки, даже если Яндекс.Диск вернул http://.

  • Release 1.2.14 (2019-03-26)

    • Исправлена ошибка TypeError в функциях get_public_* при использовании с параметром path (issue #7)

    • Добавлен аттрибут unlimited_autoupload_enabled для DiskInfoObject

  • Release 1.2.13 (2019-02-23)

    • Добавлен md5 параметр для remove()

    • Добавлен UserPublicInfoObject

    • Добавлен аттрибут country для UserObject

    • Добавлен аттрибут photoslice_time для ResourceObject, PublicResourceObject и TrashResourceObject

  • Release 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)

    • Убран параметр *args

  • Release 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 при вызове WrongResourceTypeError

  • Release 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 и GatewayTimeoutError

    • listdir() теперь вызывает WrongResourceTypeError вместо NotADirectoryError

  • Release 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.py

  • Release 1.0.6 (2017-11-04)

    • Некоторые функции теперь возвращают OperationLinkObject

  • Release 1.0.5 (2017-10-29)

    • Исправлен setup.py, теперь исключает тесты

  • Release 1.0.4 (2017-10-23)

    • Исправлены баги в upload, download и listdir

    • Значение по-умолчанию limit в listdir установлено в 10000

  • Release 1.0.3 (2017-10-22)

    • Добавлен модуль settings

  • Release 1.0.2 (2017-10-19)

    • Исправлена функция get_code_url (добавлены недостающие параметры)

  • Release 1.0.1 (2017-10-18)

    • Исправлен серьёзный баг в GetTokenRequest (добавлен недостающий параметр)

  • Release 1.0.0 (2017-10-18)

    • Первый релиз

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yadisk-1.2.16.tar.gz (47.1 kB view hashes)

Uploaded source

Built Distribution

yadisk-1.2.16-py3-none-any.whl (49.3 kB view hashes)

Uploaded py3