Skip to main content

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}')

Release files for leaderdata-sdk 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for leaderdata-sdk 0.0.1
File Size Uploaded
leaderdata-sdk-0.0.1.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for leaderdata-sdk 0.0.1
File Interpreter ABI Platform
leaderdata_sdk-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.5 kB

Release files / leaderdata-sdk-0.0.1.tar.gz

Download URL leaderdata-sdk-0.0.1.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c2c7e4b57dc5d306c077136918796531e6c09a00f964b0ec5307134a8183cee0
BLAKE2b-256 checksum
How to use checksums
49d220c72579bb3f141a1a7b1ff386096f6c74bbfe78411835653c4f0382e993
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / leaderdata_sdk-0.0.1-py3-none-any.whl

Download URL leaderdata_sdk-0.0.1-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f71b3b40f5a4e07473a10e7507ed81fd59a2a9604f807e930f8f266f56aeed1f
BLAKE2b-256 checksum
How to use checksums
9226e79d104f30f88332266ed794364c538aa513e3d4d0917995e17e1ba8bcdf
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page