Skip to main content

IPPC Data Model

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.0.tar.gz (55.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.1.0-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ippc_model-1.1.0.tar.gz
  • Upload date:
  • Size: 55.8 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.0.tar.gz
Algorithm Hash digest
SHA256 828d6ae9ebac026ef6f0a3dcc7e87c279ae77c6f736b156e4e82d505008112c2
MD5 4f472cb0e84197d59181faad331c2c45
BLAKE2b-256 7ff947e466cca58f797e1a3950d113d018e783b8d26825a64421d93a44d93880

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ippc_model-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cdd77ebd17677f0aeabeffd5c3590231fe63a02e9077bf5314b56983546810b
MD5 6dcc1b4cb9d6395310574bc0cc2d213c
BLAKE2b-256 68e940a594896b92fb15a6314e02ed1e6e54ac3efc641c68f17ccf70a925a4b7

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