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

PyPI version Python License: AGPL v3

Pydantic v2 datový model pro systém Integrovaného povolení a kontroly znečišťování (IPPC) dle zákona č. 76/2002 Sb. a směrnice IED (2010/75/EU).

Vyvinuto společností SYSNET s.r.o.


Co projekt řeší

IPPC Data Model je Python knihovna poskytující typovaný, validovaný datový model pro informační systém IPPC. Pokrývá celý životní cyklus řízení – od žádosti o integrované 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 (FastAPI, ETL pipeline, CLI nástroje) komunikující s registrem IPPC.


Instalace

pip install ippc-model

Rychlý start

from ippc_model import (
    ContainerType, EquipmentType, DocumentType, ActivityType, ExpertType,
    IppcDocCodeEnum, IppcStatusEnum,
)
from sysnet_pyutils.models.general import MetadataType

# Vytvoření kontejneru řízení s primárním identifikátorem
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)   # → '550e8400-e29b-41d4-a716-446655440000'

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

# Serializace / deserializace (Pydantic v2)
data = container.model_dump()
container2 = ContainerType.model_validate(data)

Závislosti

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

Přehled modulů

Modul Hlavní třídy Popis
ippc_common IppcDocCodeEnum, IppcStatusEnum, PermittingType, InspectionType, … Výčty, sdílené typy, konstanty, helper funkce
ippc_activity ActivityType, ActivityListType, ActivityViewItemType Kategorie zařízení (příloha č. 1 zák. 76/2002)
ippc_equipment EquipmentType, EquipmentMigration, EquipmentReporting Zařízení podléhající režimu IPPC
ippc_container ContainerType, ContainerTypeLight, ContainerListType Kontejnery dokumentů – jedno řízení
ippc_document DocumentType, DocumentEntryType, DocumentListType Dokumenty řízení
ippc_expert ExpertType, ExpertTypeBase, ExpertListType Odborně způsobilé osoby (OZO)

Všechny veřejné symboly jsou dostupné přímo z balíčku:

from ippc_model import ContainerType, IppcDocCodeEnum, PROCEEDING_TRANSITION

Konvence identifikátorů

Každý hlavní datový objekt ukládá primární identifikátor do metadata.uuid:

obj.metadata.uuid  # str (UUID4) – platí pro všechny hlavní typy

Životní cyklus řízení

Knihovna pokrývá všechny fáze IPPC řízení:

Fáze Kódy dokumentů (IppcDocCodeEnum)
Zahájení request
Průběh summarize, statement, statement-cenia, decision, re-decision
Odvolání appeal, appdec, appeal-result
Změny IP change, minorchange, exceptions, exemption
Kontroly a zprávy report-check, report-review, report-conditions
Provoz validate, interrupted, resumed, additional
Ukončení terminated, closed, canceled, merged, xchg-company

Instalace pro vývoj

git clone https://github.com/SYSNET-CZ/models.git
cd models/ippc

python -m venv .venv
.venv\Scripts\activate       # Windows
# source .venv/bin/activate  # Linux / macOS

pip install -e ".[dev]"

Spuštění testů:

# Windows
.venv\Scripts\python.exe -m pytest tests/ -v

# Linux / macOS
.venv/bin/python -m pytest tests/ -v

Licence

GNU Affero General Public License v3 – viz LICENSE.

© SYSNET s.r.o. | https://www.sysnet.cz

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.3.0.tar.gz (56.3 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.3.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ippc_model-1.3.0.tar.gz
Algorithm Hash digest
SHA256 6230b191d1a1a5c226ab9cbf2256a2a72ad8e0a9b007e7e020a1b9851f41df2c
MD5 2368ab3100361e5747c2e497edeaf1b1
BLAKE2b-256 c4649d3cd40a33fe79eca453825b149667c7974e95a390ccc1476dbfae89a72c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ippc_model-1.3.0-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.12.3

File hashes

Hashes for ippc_model-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83989256f0a7235fe10388a60faf65dc11b3226d0144949e7771f01417a93344
MD5 c23132aa5ad4b4392f76ebe09865357e
BLAKE2b-256 612b94f394cf13180b40f9cbe1ca34e7976de56181c19f0896627391b4971e83

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