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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
828d6ae9ebac026ef6f0a3dcc7e87c279ae77c6f736b156e4e82d505008112c2
|
|
| MD5 |
4f472cb0e84197d59181faad331c2c45
|
|
| BLAKE2b-256 |
7ff947e466cca58f797e1a3950d113d018e783b8d26825a64421d93a44d93880
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cdd77ebd17677f0aeabeffd5c3590231fe63a02e9077bf5314b56983546810b
|
|
| MD5 |
6dcc1b4cb9d6395310574bc0cc2d213c
|
|
| BLAKE2b-256 |
68e940a594896b92fb15a6314e02ed1e6e54ac3efc641c68f17ccf70a925a4b7
|