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.4.2.tar.gz (57.8 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.4.2-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ippc_model-1.4.2.tar.gz
  • Upload date:
  • Size: 57.8 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.4.2.tar.gz
Algorithm Hash digest
SHA256 fa621767db29b89af61d8e940bf02466904937579764e133721410dec172a7d9
MD5 1521459fe531e42ad2dcd0db983b4038
BLAKE2b-256 0f30c2e64d3602c92c6473660ba35fd6a5e65d197873d35a0e725638242120bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ippc_model-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 40.3 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.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 54117cdb9b1196c8fd50dd905a8ec69ddfa76b7b01d9b174d90783e46acb3610
MD5 e05d718ad3ec334e7fa315bd21238d62
BLAKE2b-256 b017baf52fe363a33e816f73e3bee640d159e608a2b61a188215d86ee9f3ca2f

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