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.2.0.tar.gz (56.7 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.2.0-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ippc_model-1.2.0.tar.gz
  • Upload date:
  • Size: 56.7 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.2.0.tar.gz
Algorithm Hash digest
SHA256 186ab6d2afcb137285b0fed5043e8cdada5bc02c95afc81e4eab59378cea2023
MD5 6e0a86e2960c3931fbce715e16a16e24
BLAKE2b-256 8b60d9077a4a2e11fa9133e40bc557bb6bd0b489342a7bd583046831c291ea05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ippc_model-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.0 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49b8f153b563574d49e9b99f7c556625010c8cc6ce7e3bbc78f24a412cafbfa2
MD5 12386e2fefdbdcffbb6849c20d7a0b2e
BLAKE2b-256 04208f1122f94d28818df26f9b6ac6bc9d0ea51ad666bdd21653066e7778d515

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