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.5.2.tar.gz (58.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.5.2-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ippc_model-1.5.2.tar.gz
  • Upload date:
  • Size: 58.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.5.2.tar.gz
Algorithm Hash digest
SHA256 03d6bae445ceeca4c0a5e1ebfa9cd32f028885ee5f15e842586d9c4630928719
MD5 59eb827bbdd136dbe248f478b047c76a
BLAKE2b-256 3ff0b076d32d181343d97246799b22de08856f2455d9a56c64e5e8d5cd58709f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ippc_model-1.5.2-py3-none-any.whl
  • Upload date:
  • Size: 40.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.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fc230d6fac758976df4b358dafa8c34eeb4db2b63a6017bed393507628787fd4
MD5 46abd754f04f46e69f5843f2ca88a8c7
BLAKE2b-256 c61ed62911be62933fde5310365cb482b359a9b2dba719d5793d4f630c84f7b8

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