Skip to main content

IPPC Data Model – datový model pro systém Integrovaného povolení a kontroly znečišťování

Project description

IPPC Data Model

Verze: 1.1.0  |  Python: ≥ 3.10  |  Licence: GNU AGPL v3
Pydantic v2 datový model pro systém Integrovaného povolení a kontroly znečišťování
© SYSNET s.r.o. | GitHub


Co projekt řeší

IPPC Data Model je Python knihovna s kompletním datovým modelem pro informační systém Integrovaného povolení a kontroly znečišťování (IPPC) dle zákona č. 76/2002 Sb.

Pokrývá celý životní cyklus IPPC řízení – od žádosti o povolení přes kontroly a zprávy o plnění až po ukončení provozu nebo sloučení zařízení. Slouží jako sdílená datová vrstva pro aplikace komunikující s registrem IPPC.

Rychlý start

pip install ippc-model
from ippc_model import ContainerType, EquipmentType, IppcDocCodeEnum, MetadataType

# Vytvoření kontejneru řízení
container = ContainerType(
    name="Výroba obuvnických podešví (PUR-PLASTICS s.r.o.)",
    metadata=MetadataType(uuid="550e8400-e29b-41d4-a716-446655440000"),
)
print(container.metadata.uuid)  # → primární identifikátor

# Kódy dokumentů
print(IppcDocCodeEnum.REQUEST.value)   # → 'request'
print(IppcDocCodeEnum.DECISION.value)  # → 'decision'

Instalace pro vývoj

git clone https://github.com/SYSNET-CZ/models.git
cd models/ippc
python -m venv .venv
.venv\Scripts\activate            # Windows
pip install -r requirements.txt
pip install -e ".[dev]"           # pytest a dev závislosti

Spuštění testů

cd D:\development\git\models\ippc
.venv\Scripts\python.exe -m pytest tests/ -v

Závislosti

Balíček Verze Účel
pydantic ~2.11.7 Validace dat, typový systém
sysnet-pyutils >=1.7.2 Sdílené utility a základní typy SYSNET

Dokumentace

Podrobná technická dokumentace je v adresáři docs/:

Soubor Obsah
docs/architecture.md Architektura, struktura balíčku, konvence
docs/modules.md Referenční dokumentace všech modulů a tříd
docs/workflow.md Stavy, přechody, životní cyklus řízení
docs/testing.md Testování, pokrytí, spouštění testů

Přehled modulů

ippc_model/
├── __init__.py          # Veřejné API – všechny symboly dostupné přímo z balíčku
├── ippc_common.py       # Výčty, sdílené typy (PermittingType, …), pomocné funkce
├── ippc_activity.py     # Kategorie zařízení (příloha č. 1 zák. 76/2002 Sb.)
├── ippc_equipment.py    # Zařízení IPPC (EquipmentType, EquipmentMigration, …)
├── ippc_container.py    # Kontejnery dokumentů – jedno řízení (ContainerType, …)
├── ippc_document.py     # Dokumenty řízení (DocumentType, DocumentEntryType, …)
└── ippc_expert.py       # Odborně způsobilé osoby – OZO (ExpertType, …)

Konvence identifikátorů

Všechny hlavní datové objekty (ContainerType, EquipmentType, DocumentType, ActivityType, ExpertType) používají jako primární identifikátor:

obj.metadata.uuid   # str (UUID4)

Lehčí varianty (*TypeBase, *TypeListItem) používají metadata: Optional[MetadataTypeBase] se stejným polem uuid. Plné varianty (*Type) používají metadata: Optional[MetadataType] s rozšířenými metadaty (verze, tagy, auditní pole).

Changelog

Viz CHANGELOG.md. Aktuální verze 1.1.0 obsahuje opravy 10 bugů, kompletní testovací sadu (99 testů) a doplnění veřejného API balíčku.

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

ippc_model-1.1.1.tar.gz (56.2 kB view details)

Uploaded Source

Built Distribution

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

ippc_model-1.1.1-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file ippc_model-1.1.1.tar.gz.

File metadata

  • Download URL: ippc_model-1.1.1.tar.gz
  • Upload date:
  • Size: 56.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for ippc_model-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b679d09710c904addb2ad3c2aad993f786e17e809bfb092057c40c8cf558add0
MD5 12e7f09b26b01812a0c8d0ca0a619643
BLAKE2b-256 b656512a0cd9e9bc1b5dcfb239d65cc8c1dbf439d7aaca20ccd57dfe06c8eadb

See more details on using hashes here.

File details

Details for the file ippc_model-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: ippc_model-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for ippc_model-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51952ad17007b6b2ff9e3a5427d321f5f18caeb7b9d7c998d74274bd8faf4764
MD5 e86d2c59d6826bd7d5f9f1c45e7943d4
BLAKE2b-256 9eb3d41239ad7d7f7ba9b213c725749030bf8e663e2d88eddcb47b0c48f947cd

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