Skip to main content

Python SDK for MRS.

Project description

Проект библиотеки MRS REST API для Python.

Установка

Данный пакет устанавливается через PIP.

pip install pymrs

Назначение:

Библиотека на языке Python для унифицированного использования REST API программного комплекса Memoza Rest Server (MRS). Основное применение - это создание программ и скриптов для обслуживания данных MRS, учитывая особености и требования многочисленных пользователей. Для возможности работы с WRS в рамках модуля имплементированы классы AsyncMRSClient, MRSClient, Query и DataIterator. Все классы имеют возможность использования при мэнеджменте контекста.

Класс AsyncMRSClient

AsyncMRSClient это основной класс, предназначенный для создания клиентской сессии и отправления запросов на сервер. При помощи него отправляются запросы во всех классах, реализованных в данном модуле. Инициализируется именем хоста (URL сервера MRS, на который будут отправляться запросы), токеном, именем пользователя и либо паролем, либо уже выданным тикетом.

Методы класса

Имя метода Описание метода
_authenticate() Аутентифицирует пользователя при помощи данных, заданных при инициализации, получая тикет для дальнейших запросов.
validate_ticket() Проверяет валидность тикета, при необходимости запрашивает новый.
close() Отправляет запрос на сервер для прекращения связи.
_handle_error() Метод используется для обработки ошибок при отправлении запросов, поднимает ошибку MRSClientError с кодом ошибки и сообщением, полученным от сервера.
request() Метод, при помощи которого отправляются запросы.
get_all_namespaces() Метод, который возвращает список всех пространств имен, хранимых на сервере.
get_namespace() Метод, который возвращает данные о метаклассах, хранящихся в рамках конкретного пространства имен.
get_datatype() Метод, который возвращает данные о метаклассе, хранящегося в рамках конкретного пространства имен.
es_request() Метод для отправки запроса Elasticsearch с возможностью фильтрации по ролям при необходимости.
get_user_roles() Метод для получения информации о ролях пользователей в рамках конкретного пространства имен.
upload_file() Метод для загрузки файлов на сервер.

Свойства класса

Имя свойства Описание
headers При вызове данное свойство возвращает HTTP заголовки, хранящиеся в существующей сессии.
ticket При вызове данное свойство возвращает тикет, хранящийся в существующей сессии.

Класс MRSClient

Данный класс является синхронной оболчкой вокруг асинхронной имплементации класса, позволяя использовать методы AsyncMRSClient в рамках синхронного кода.

Класс Query

Класс Query является классом, который используется для сборки и отправки поисковых запросов. Иницииализируется сессией AsyncMRSClient и пространством имен, в котором будет производиться поиск.

Методы класса

Имя метода Описание метода
assemble_query() Собирает запрос, на основании параметров для поисках, заданных в качестве атрибутов класса.
close_scroll() Метод, который используется для закрытия скроллинга.
get_records() Метод, используемый для получения результатов поискового запроса с возможностью получения результа запроса в виде итератора.
get_entities() Возвращает список сущностей, хранимых в рамках конкретного класса.
get_content() Возвращает содержимое конкретной сущности.
register_entities() Регистрирует список новых сущностей в указанном пространстве имен. Позволяет автоматически генерировать URI, если они не предоставлены. Обрабатывает сущности пакетами.
patch_entities() Обновляет указанные свойства для списка существующих сущностей в указанном пространстве имен. Требует URI для каждой сущности. Обрабатывает сущности пакетами.

Свойства класса

Имя свойства Описание
url При вызове данное свойство возвращает ссылку для отправки запроса.
data При вызове данное свойство возвращает собранный поисковый запрос.

Класс DataIterator

Данный класс является итерируемым контейнером данных, полученных в результате поискового запроса метода Query.get_records().

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

pymrs-0.3.7.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymrs-0.3.7-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file pymrs-0.3.7.tar.gz.

File metadata

  • Download URL: pymrs-0.3.7.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for pymrs-0.3.7.tar.gz
Algorithm Hash digest
SHA256 346dce8fc51fe64c1a181df1013ff3194a92b00aa21ae96996c012af532ca1c2
MD5 2543029f2cb35770d2d79a153fbd1516
BLAKE2b-256 8725b4b13650b2dd49338ab49fc458f9563ef711d0dc03d1a081ae7eb8f4e0ca

See more details on using hashes here.

File details

Details for the file pymrs-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: pymrs-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for pymrs-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b62e9d0d943cad199441b6551d1a42cac8bda0d7e06c9594f4cd358a43d330ca
MD5 be5f1c5a0acd29f536781346ae25c0e4
BLAKE2b-256 11b1671aaf01fafa44741baadde9f976d688f7c24a982e6329351cda6a8f3f4e

See more details on using hashes here.

Supported by

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