Основные сведения
Библиотека предназначена для работы с 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| polyapi-5.9.23.tar.gz | 199.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|
Security for polyapi 5.9.23
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.