Skip to main content

LeaderData API SDK

Project description

LeaderData API SDK

Python SDK для работы с API LeaderData.

Установка

pip install leaderdata-sdk

После этого необходимо получить файл openapi.json:

python -m leaderdata update

API периодически меняется и файл openapi.json нужно обновлять для актулизации SDK.

Конфигурация

И импортируемый модуль и интерфейс командной строки для запросов обращаются к API по адресу https://data.leader-id.ru, этот адрес можно изменить переменными окружения DSN и SPEC_PATH; где первая задает адрес хоста: проткол, домен, порт; а вторая путь относительно хоста до openapi.json.

Использование

Методы клиента соответствуют операциям API, и состоят из:

  • имя метода – идентификатор операции;
  • позиционный аргумент – может быть только один и используется для задания тела запроса;
  • именованные аргументы - используются для передачи параметров строки запроса и подстановки переменных в пути, где они необходимы; клиент SDK сам определит какие аргументы чем являются.

Опциональность / обязательность аргументов можно определить из документации.

Идентификатор операции можно получить из документации API LeaderData. Для этого нужно выбрать необходимую операцию и обратить внимание на адресную строку, к примеру ссылка документации на операцию по чтению коллекций будет такой:

https://data.leader-id.ru/api/redoc#operation/collections__list_collections

Где идентификатор операции это: collections__list_collections.

Таймаут на выполнение запроса

По умолчанию равен 5 секундам. Переопределить можно именованным аргументом _timeout при вызове метода API. Допускается как число (целое / с плавающей точкой) обозначающее таймут на весь запрос, так и экземпляр класса httpx.Timeout, которым можно задать таймауты на каждый этап запроса, подробнее об этом объекте и типах таймаутов по ссылке

Примеры

Инициализация клиента

from leaderdata.api import Client


client = Client(client_id='APP_ID', client_secret='APP_SECRET')

Чтение списка принадлежащих приложению коллекций:

for collection in client.collections__list_collections(is_own=True):
    print(f'collection id: {collection.id}, name: {collection.name}')

Создание новой коллекции:

collection = client.collections__create_collection({
  'access_type': 'private',
  'name': 'Very simple collection',
  'description': 'From SDK README.md'
})

print(f'new collection id: {collection.id}')

Чтение созданной только что коллекции:

actual_collection_data = client.collections__read_collection(
  collection_id=collection.id
)

print(f'collection current name: {actual_collection_data.name}')

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

leaderdata-sdk-0.0.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

leaderdata_sdk-0.0.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file leaderdata-sdk-0.0.1.tar.gz.

File metadata

  • Download URL: leaderdata-sdk-0.0.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.3

File hashes

Hashes for leaderdata-sdk-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c2c7e4b57dc5d306c077136918796531e6c09a00f964b0ec5307134a8183cee0
MD5 f0ac970489bf81ba33804bddc4df2f07
BLAKE2b-256 49d220c72579bb3f141a1a7b1ff386096f6c74bbfe78411835653c4f0382e993

See more details on using hashes here.

File details

Details for the file leaderdata_sdk-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: leaderdata_sdk-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.3

File hashes

Hashes for leaderdata_sdk-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f71b3b40f5a4e07473a10e7507ed81fd59a2a9604f807e930f8f266f56aeed1f
MD5 6c670ff961f7291a48445f97def3151e
BLAKE2b-256 9226e79d104f30f88332266ed794364c538aa513e3d4d0917995e17e1ba8bcdf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page