semvec/pypi-packages huggingface dataset:
prs-connector-core 0.8.0
Базовый модуль для коннекторов платформы Пересвет
License: Apache-2.0
Requires Python: >=3.12

[![Лицензия Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
![Python 3.12+](https://img.shields.io/badge/Python-3.12%2B-green.svg)
[![Coverage Status](https://coveralls.io/repos/github/mp-co-ru/prs-connector-core/badge.svg?branch=dev)](https://coveralls.io/github/mp-co-ru/prs-connector-core?branch=dev)
[![PyPI](https://img.shields.io/pypi/v/prs-connector-core.svg)](https://www.pypi.org/project/prs-connector-core)

# prs-connector-core

Базовый модуль для создания коннекторов платформы [Пересвет](https://github.com/mp-co-ru/peresvet).

Коннектор - программа, которая может собирать данные с какого-либо источника и отправлять их в платформу. Также коннектор может отсеивать лишние данные и проводить обработку полученных данных с помощью языка [JSONata](https://jsonata.org/).

## Описание проекта

`prs-connector-core` — это Python-модуль, реализующий общую функциональность для коннекторов платформы Пересвет.
Модуль предоставляет базовые классы, на основе которых можно создавать коннекторы для конкретных источников данных (OPC, Modbus, базы данных и др.).

**Базовая функциональность и основные возможности:**

- Установление связи с платформой Пересвет по протоколу MQTT
- Получение от платформы конфигурации:
    - настройка связи с источником данных,
    - параметры логирования,
    - список тегов, по которым необходимо получать данные
- Поддержка защищённого канала связи с SSL/TLS
- Преобразование данных через JSONata
- Отсеивание лишних данных
- Локальное кэширование конфигурации при потере связи с платформой
- Буферизация данных при потере связи с платформой
- Ротация логов

## Работа с проектом

> [!WARNING]
> Работа тестировалась на операционной системе Ubuntu.

### Требования
- Python 3.12 или новее
- pip 21.3+
- pipenv
- pyenv

### Работа над исходным кодом

Клонируйте репозиторий и выполните команды в консоли:
```bash
git clone git@github.com:mp-co-ru/prs-connector-core.git
cd prs-connector-core
pipenv install
```

#### Запуск тестов
```bash
$ pytest
```

#### Сборка пакета
```bash
$ python -m build
```