Programování v GIS 3
2024-11-03
utils.py
) \(\times\) vlastní python balíkSoubor | 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 PYTHONPATH
slozka_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.toml
pyproject.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.toml
assert
, 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/