Skip to main content

Your package description

Project description

pyRegRep

Бібліотека Python для парсування та обробки XML документів у форматі RIM (Registry Information Model) / ebXML.

Опис

pyRegRep - це інструмент для роботи з XML документами, що відповідають стандарту Registry Information Model (RIM), який часто використовується в системах eGovernment та обміну даними. Бібліотека дозволяє легко витягувати, аналізувати та серіалізувати дані з RIM/ebXML документів.

Можливості

  • ✅ Парсування RIM/ebXML XML документів
  • ✅ Автоматична обробка просторів імен (namespaces)
  • ✅ Витягування запитів (Query), винятків (Exception) та об'єктів реєстру (RegistryObject)
  • ✅ Обробка різних типів значень (Boolean, String, Collection, International String, Any Value)
  • ✅ Серіалізація даних у зручний Python формат (dict)
  • ✅ Підтримка складних структур даних та вкладених колекцій

Вимоги

  • Python: >= 3.10
  • Залежності:
    • lxml >= 5.2.1 - для роботи з XML

Установка

З PyPI (якщо опубліковано)

pip install pyRegRep

З локального источника

pip install -e .

Або через requirements.txt:

pip install -r requirements.txt

Швидкий старт

Базовий приклад

from pyRegRep4.RIMParsing import Parsing

# Прочитайте XML файл
with open("document.xml", "rb") as f:
    xml_data = f.read()

# Створіть об'єкт парсера
parser = Parsing(xml_data)

# Отримайте дані
print(parser.slots)  # Словник всіх витягнутих даних
print(parser.serialize())  # Серіалізовані та очищені дані

Робота з запитами та винятками

from pyRegRep4.RIMParsing import Parsing

with open("document.xml", "rb") as f:
    parser = Parsing(f.read())

# Отримайте елементи документа
if parser.query is not None:
    print("Знайдено Query елемент")

if parser.exception is not None:
    print("Знайдено Exception елемент")

# Отримайте об'єкти реєстру
print(f"Всього об'єктів реєстру: {len(parser.objects)}")

API Довідник

Клас Parsing

Конструктор

Parsing(doc: bytes)

Параметри:

  • doc (bytes): Бінарні дані XML документа

Атрибути:

  • xml (str): XML як рядок
  • doc (etree._Element): Розібраний XML документ
  • query (etree._Element | None): Елемент Query з документа (якщо є)
  • exception (etree._Element | None): Елемент Exception з документа (якщо є)
  • objects (list): Список всіх RegistryObject елементів
  • slots (dict): Словник всіх витягнутих Slot елементів з типами

Методи

serialize() -> dict

Серіалізує витягнені дані, перетворюючи типи значень:

  • BooleanValueTypebool
  • StringValueTypestr
  • CollectionValueTypelist
  • InternationalStringValueTypelist[dict]
  • AnyValueTypeXML Element

Повернення: Словник серіалізованих даних

Приклад використання

from pyRegRep4.RIMParsing import Parsing

# Завантаження XML
with open("EDM_Response.xml", "rb") as f:
    data = f.read()

# Парсування
parser = Parsing(data)

# Отримання структурованих даних
slots = parser.serialize()

# Ітерація по даних
for key, value in slots.items():
    print(f"{key}: {value}")

Структура проекту

pyRegRep/
├── pyRegRep4/
│   ├── __init__.py
│   └── RIMParsing.py       # Основна логіка парсування
├── tests/
│   ├── test_parsing_1.py    # Тести парсування
│   ├── EDM_Ferst_Request.xml
│   ├── EDM_Ferst_Response.xml
│   ├── EDM_Second_Request.xml
│   └── EDM_Second_Response.xml
├── setup.py
├── pyproject.toml
├── requirements.txt
└── README.md

Запуск тестів

cd tests
python Example_1.py

Логування

Бібліотека використовує модуль logging Python. Для включення логування:

import logging

logging.basicConfig(level=logging.DEBUG)

Технічні деталі

Обробка просторів імен

Бібліотека автоматично розпізнає та обробляє всі простори імен (namespaces) у XML документі:

  • Простір імен за замовчуванням позначається як "default"
  • Інші простори імен зберігаються під своїми префіксами

Типи значень RIM

Підтримуються наступні типи значень:

  • BooleanValueType - логічні значення
  • StringValueType - текстові значення
  • IntegerValueType - цілі числа
  • CollectionValueType - колекції значень
  • InternationalStringValueType - багатомовні рядки
  • AnyValueType - будь-які XML елементи

Автор

Ліцензія

MIT License - див. файл LICENSE

Подяки

Проект використовує бібліотеку lxml для роботи з XML.

Посилання


Версія: 6 Останнє оновлення: 2026

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

pyregrep-6.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

pyregrep-6-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file pyregrep-6.tar.gz.

File metadata

  • Download URL: pyregrep-6.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyregrep-6.tar.gz
Algorithm Hash digest
SHA256 fa458bcaeb0ea8dacb72c08a7bc894364f7fa884110ccfc3bd1cc54bdc8f25a5
MD5 494500b2a04639201915e50cb07d2dee
BLAKE2b-256 32aa0d3e65b854788803eccfd2b1bef16e61e90eab6111e9be739ba10b2cffba

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyregrep-6.tar.gz:

Publisher: python-publish.yml on AndreyShapovalovVN/pyRegRep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyregrep-6-py3-none-any.whl.

File metadata

  • Download URL: pyregrep-6-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyregrep-6-py3-none-any.whl
Algorithm Hash digest
SHA256 1495e9593b774991c75865f3a6d03fc37eeca470b3b9eb7d7c60db36c69ff7c6
MD5 20e8cec5c1857ef5c68730d75ae79c00
BLAKE2b-256 4c3d3e2723a2d2d53d08d2bfe8ea20c3eef54a0810d8039d168434597a19c86e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyregrep-6-py3-none-any.whl:

Publisher: python-publish.yml on AndreyShapovalovVN/pyRegRep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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