Skip to main content

Основные сведения

Библиотека предназначена для работы с Polymatica API.

Офлайн-установка

Для офлайн-установки используется единый архив бинарных зависимостей для CPython 3.6-3.14 на Linux x86_64:

https://repo.polymatica.ru/analytics/releases/python-deps/polyapi-wheels.tar.gz

Контрольная сумма архива публикуется рядом:

https://repo.polymatica.ru/analytics/releases/python-deps/polyapi-wheels.tar.gz.sha256

Архив необходимо перенести на сервер, проверить и распаковать перед установкой пакета polymatica-analytics-api-python-lib. Встроенный установщик сам находит поддерживаемый CPython, выбирает соответствующий constraints-файл и использует только локальные wheel-файлы:

install -d -m 0755 /opt/polymatica
STAGE=$(mktemp -d /opt/polymatica/.python-deps.XXXXXX)
trap 'rm -rf "$STAGE"' EXIT

sha256sum -c polyapi-wheels.tar.gz.sha256
tar -xzf polyapi-wheels.tar.gz -C "$STAGE"
test -x "$STAGE/python-deps/install.sh"
"$STAGE/python-deps/install.sh"

rm -rf /opt/polymatica/python-deps.previous
if [ -e /opt/polymatica/python-deps ] || [ -L /opt/polymatica/python-deps ]; then
  mv /opt/polymatica/python-deps /opt/polymatica/python-deps.previous
fi
mv "$STAGE/python-deps" /opt/polymatica/python-deps
rmdir "$STAGE"
trap - EXIT

Если поддерживаемый Python установлен под отдельным именем, его можно указать перед выполнением основной последовательности без ручного выбора папки с зависимостями, например для Astra Linux CE 2.12:

export POLYAPI_PYTHON_BIN=python3.7

На RED OS 7 используется системный Python 3.8. Offline-копия wheel PolyAPI содержит точные зависимости с условиями для каждой поддерживаемой версии Python, поэтому стандартная команда приёмки работает без отдельного constraints-файла:

python3 -m pip install --no-index \
  --find-links=/opt/polymatica/python-deps polyapi

Встроенный install.sh остаётся рекомендуемым способом: он дополнительно проверяет SHA256SUMS, выбирает совместимую версию pip и учитывает защиту системного Python (PEP 668) в Debian 12 и Ubuntu 24.04. Для RED OS 7 его можно запустить так:

POLYAPI_PYTHON_BIN=python3 /opt/polymatica/python-deps/install.sh

Подробная инструкция INSTALL.txt включается непосредственно в offline-архив.

Файл constraints и offline-метаданные PolyAPI фиксируют одинаковые точные версии зависимостей для обнаруженной версии Python, а pip выбирает соответствующие ей wheels по ABI и платформе. Выбирать отдельную папку вручную не требуется. Обычная сборка DEB/RPM не изменена и содержит только исходный wheel PolyAPI, поэтому в закрытом контуре сначала выполняется установка из архива зависимостей, затем устанавливается системный пакет. Для CPython 3.14 необходима glibc 2.28 или новее; для CPython 3.6-3.13 используются wheels, совместимые с manylinux2014 (glibc 2.17 или новее).

Перед установкой на сервере должны присутствовать поддерживаемый CPython с модулем pip и утилита sha256sum; установка выполняется с правами, достаточными для изменения системного Python. Совместимая установленная версия pip сохраняется. Если pip слишком старый или не поддерживает выбранную версию Python, установщик заменяет его проверенной версией только из локального архива.

Работа с библиотекой

Основным модулем бизнес-логики является файл business_scenarios.py, импортировать который можно с помощью команды from polymatica import business_scenarios as sc.

Модуль предоставляет два класса для работы с Полиматикой - BusinessLogic и GetDataChunk. Методы этих классов можно посмотреть при помощи стандартной функции dir().

Аргументы функций и прочую docstring-документацию модуля и функций можно посмотреть при помощи стандартной функции help().

Инициализация нового клиентского подключения:

session = sc.BusinessLogic(login="your_login", password="your_password", url="polymatica_server_url", **args)

Пример создания слоя и воспроизведения сценария на этом слое с использованием PolyAPI

Создадим слой: session.execute_manager_command(command_name="user_layer", state="create_layer")

Запросим список сценариев: session.execute_manager_command(command_name="scripts", state="get_script_descriptions_list")

Загрузим сценарий на слой, используя полученные на предыдущих шагах идентификаторы слоя и сценария: session.execute_manager_command(command_name="scripts", state="load_on_layer", runtime_id="d46b7075", script_id="40fc65db", on_load_action=0)

Воспроизведем сценарий: session.execute_manager_command(command_name="scripts", state="play_to_position", runtime_id="d46b7075", script_id="40fc65db", play_to_position=23, clear_workspace=True)

Получим статус воспроизведения сценария: session.execute_manager_command(command_name="scripts", state="get_script_status", runtime_id="d46b7075")

Получили ответ, из которого видим, что сценарий воспроизведен успешно: {'state': 1, 'queries': [{'uuid': '872bdbde-20b9f734-2a5a5ad5-9b08e670', 'command': {'plm_type_code': 227, 'state': 6, 'script_status': {'id': '40fc65db', 'action_name': '', 'status': 3, 'current_step': 24, 'steps_count': 24, 'errors': []}}}]}

Получим информацию о слое: session.execute_manager_command(command_name="user_layer", state="get_layer", layer_id="d46b7075")

Metadata

Release files for polyapi 5.9.23

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

Source distribution (sdist)

Source distribution for polyapi 5.9.23
File Size Uploaded
polyapi-5.9.23.tar.gz 199.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for polyapi 5.9.23
File Interpreter ABI Platform
polyapi-5.9.23-py3-none-any.whl Python 3 none any Details

Total release size: 409.1 kB

Release files / polyapi-5.9.23.tar.gz

Download URL polyapi-5.9.23.tar.gz
Size 199.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bb47b3d977a07cc9c3223e7de0cec0759fc280c7b3f62c7ba4f5b4501e46c0bd
BLAKE2b-256 checksum
How to use checksums
2f8bddcddf90fafabe314b244dbce8ed2fb9e12097814e47d00fa73ee32340a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / polyapi-5.9.23-py3-none-any.whl

Download URL polyapi-5.9.23-py3-none-any.whl
Size 209.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e750f4f56129f25e666f6a79670dda48b9d46979da39338e31c8cec396125a98
BLAKE2b-256 checksum
How to use checksums
66a1f7d7075ef10368cf729ce8d034c49c69fae514df03c3a3339ed6f80d8c67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

5.9.23 This release

2 release files

5.9.21

2 release files

5.9.20

2 release files

5.9.19

2 release files

5.9.18

2 release files

5.9.17

2 release files

5.9.16

2 release files

5.9.15

2 release files

5.9.14

2 release files

5.9.12

2 release files

5.7.0.6

1 release file

5.7.0.4

1 release file

5.7.0.3

1 release file

5.7.0.2

1 release file

5.7.0.1

1 release file

5.7.0.0

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.2

1 release file

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