Programování v GIS 3
2024-11-03
utils.py) \(\times\) vlastní python balík| Soubor | Python balík |
|---|---|
| jednoduché na tvorbu | složitější na vytvoření |
| těžší testování | snadnější testování |
| náročnější správa závislostí | snazší správa závislostí |
| těžší na správu verzí | snadnější na správu verzí |
| horší na sdílení | lepší na sdílení |
utils.py)slozka_projektu - pro VS Code a logické odělení kódu - nemusí se jmenovat přímo jako balík
src - složka zdrojáků - zde vytvoříme složku s jménem balíkupyproject.toml - soubor popisující balík a jeho vlastnosti.env - soubor s proměnnými prostředí, zejména PYTHONPATHslozka_projektu - pro VS Code a logické odělení kódu - nemusí se jmenovat přímo jako balík
tests - složka testůscripts - složka skriptů.github - složka pro GitHub akce - pokud bude balík hostován na GitHub a budeme chtít nějaké automatické kontrolyREADME.md - popis balíkuLICENSE - licence balíkupyproject.tomlpyproject.toml[project]
readme = "README.md"
description = "Popis balíku"
requires-python = ">=3.8"
keywords = ["klíčová", "slova"]
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
]
urls = { "Documentation" = "https://github.com/*" }
dependencies = ["numpy"]
[options]
include_package_data = true
[options.package_data]
muj_balik = ["src/muj_balik/py.typed"]pyproject.toml - nastavení nástrojů 1pyproject.toml - nastavení nástrojů 2src - složka
muj_balik - název složky by měl odpovídat názvu balíku
__init__.py - inicializační soubor - může být prázdný nebo obsahovat importydalsi_soubory.py - soubory s funkcemi, třídami, konstantami atd.py.typed - nepovinný, ale doporučený soubor pro typovánítests - základní složka
data - složka s daty pro testy, pokud jsou potřebaconftest.py - soubor s konfigurací tzv. fixtures - předpřipravené objekty pro testytest_neco.py - soubor s testy, těch je obvykle celá řadapytest v kořenové složce balíku (nastavení je definované v pyproject.toml, jinak je příkaz složitější)pyproject.tomlassert, kde první argument je podmínka, která musí být splněna, jinak test selže, pak případně chybové hlášeníMateriály dostupné: https://jancaha.github.io/vsb-vyuka/