PyTracerLab 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/.github/workflows/ci.yml +2 -2
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/.github/workflows/docs.yml +28 -7
- pytracerlab-0.2.4/.pre-commit-config.yaml +18 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/PKG-INFO +1 -1
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/conf.py +27 -1
- pytracerlab-0.2.4/docs/development/package_scheme.png +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/calibration_benchmark.png +0 -0
- pytracerlab-0.2.4/docs/examples/calibration_benchmark_4models.png +0 -0
- pytracerlab-0.2.4/docs/examples/errors_benchmark.png +0 -0
- pytracerlab-0.2.4/docs/examples/example_07.ipynb +710 -0
- pytracerlab-0.2.2/docs/examples/example_09.ipynb → pytracerlab-0.2.4/docs/examples/example_08.ipynb +33 -40
- pytracerlab-0.2.4/docs/examples/example_09.ipynb +635 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/index.md +3 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/obs_monthly_modflow.csv +19 -19
- pytracerlab-0.2.4/docs/examples/tracer_tracer_sim_TracerLPM.csv +501 -0
- pytracerlab-0.2.4/docs/examples/tracer_tracer_sim_TracerLPM_forward.csv +122 -0
- pytracerlab-0.2.4/docs/examples/tracer_tracer_sim_TracerLPM_forward_format.csv +122 -0
- pytracerlab-0.2.4/docs/userguide/tab01.png +0 -0
- pytracerlab-0.2.4/docs/userguide/tab02.png +0 -0
- pytracerlab-0.2.4/docs/userguide/tab03.png +0 -0
- pytracerlab-0.2.4/docs/userguide/tab04.png +0 -0
- pytracerlab-0.2.4/docs/userguide/tab05.png +0 -0
- pytracerlab-0.2.4/logo.png +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/readme.md +6 -1
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/controller.py +9 -2
- pytracerlab-0.2.4/src/PyTracerLab/gui/database.py +21 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/model/solver.py +8 -17
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/model/units.py +5 -5
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/PKG-INFO +1 -1
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/SOURCES.txt +4 -6
- pytracerlab-0.2.2/.pre-commit-config.yaml +0 -27
- pytracerlab-0.2.2/docs/_static/logo.png +0 -0
- pytracerlab-0.2.2/docs/development/package_scheme.png +0 -0
- pytracerlab-0.2.2/docs/examples/calibration_benchmark_4models.png +0 -0
- pytracerlab-0.2.2/docs/examples/errors_benchmark.png +0 -0
- pytracerlab-0.2.2/docs/examples/example_07.ipynb +0 -1651
- pytracerlab-0.2.2/docs/examples/example_08.ipynb +0 -721
- pytracerlab-0.2.2/docs/examples/example_10.ipynb +0 -2116
- pytracerlab-0.2.2/docs/examples/example_11.ipynb +0 -555
- pytracerlab-0.2.2/docs/examples/joint_posterior_benchmark.png +0 -0
- pytracerlab-0.2.2/docs/examples/modflow_PyTracerLab.png +0 -0
- pytracerlab-0.2.2/docs/examples/simulation_benchmark.png +0 -0
- pytracerlab-0.2.2/docs/examples/tracer_tracer_plots_benchmark.png +0 -0
- pytracerlab-0.2.2/docs/userguide/tab01.png +0 -0
- pytracerlab-0.2.2/docs/userguide/tab02.png +0 -0
- pytracerlab-0.2.2/docs/userguide/tab03.png +0 -0
- pytracerlab-0.2.2/docs/userguide/tab04.png +0 -0
- pytracerlab-0.2.2/src/PyTracerLab/gui/database.py +0 -16
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/.github/workflows/release.yml +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/.gitignore +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/LICENSE +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/_static/.gitkeep +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4/docs/_static}/logo.png +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.app.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.controller.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.database.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.main_window.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.gui.state.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.model.model.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.model.registry.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.model.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.model.solver.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.model.units.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/PyTracerLab.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/api/modules.rst +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/development/devguide.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/development/index.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/3H_SF6_input.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/3H_SF6_observations.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_input_6monthly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_input_multitracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_input_multitracer_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_input_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_observations_6monthly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_observations_multitracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_observations_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_simulations_1.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_simulations_2.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/TracerLPM_benchmark_simulations_3.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/benchmark_input_monthly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/benchmark_input_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_01.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_02.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_03.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_04.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_05.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_06.ipynb +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_input_series_1tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_input_series_2tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_observation_series_1tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_observation_series_2tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_output_series_1tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/example_output_series_2tracer.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/input_monthly_modflow.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/test_input_14C_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/test_target_14C_yearly.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/examples/tts_weights_modflow.csv +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/index.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/concepts.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/index.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/plot.png +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/report.png +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/usage.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/docs/userguide/usage_de.md +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/pyproject.toml +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/pytracerlab_icon.ico +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/setup.cfg +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/__init__.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/__main__.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/__init__.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/app.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/main_window.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/state.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/file_input.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/model_design.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/parameters.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/simulation.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/solver_params.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/tracer_tracer.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/gui/tabs/widgets.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/model/__init__.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/model/model.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab/model/registry.py +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/dependency_links.txt +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/entry_points.txt +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/requires.txt +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/src/PyTracerLab.egg-info/top_level.txt +0 -0
- {pytracerlab-0.2.2 → pytracerlab-0.2.4}/tests/test_model.py +0 -0
|
@@ -11,12 +11,12 @@ jobs:
|
|
|
11
11
|
- uses: actions/checkout@v4
|
|
12
12
|
- uses: actions/setup-python@v5
|
|
13
13
|
with:
|
|
14
|
-
python-version: '3.
|
|
14
|
+
python-version: '3.14'
|
|
15
15
|
- name: Install deps (pkg + dev tools)
|
|
16
16
|
run: |
|
|
17
17
|
python -m pip install -U pip
|
|
18
18
|
pip install -e .[dev]
|
|
19
19
|
- name: Run pre-commit
|
|
20
|
-
run: pre-commit run --all-files
|
|
20
|
+
run: pre-commit run --all-files --show-diff-on-failure
|
|
21
21
|
- name: Run tests
|
|
22
22
|
run: pytest -q
|
|
@@ -2,12 +2,20 @@ name: Docs
|
|
|
2
2
|
on:
|
|
3
3
|
push:
|
|
4
4
|
branches: [ main ]
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
pages: write
|
|
10
|
+
id-token: write
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: pages
|
|
14
|
+
cancel-in-progress: false
|
|
5
15
|
|
|
6
16
|
jobs:
|
|
7
|
-
|
|
17
|
+
build:
|
|
8
18
|
runs-on: ubuntu-latest
|
|
9
|
-
permissions:
|
|
10
|
-
contents: write
|
|
11
19
|
steps:
|
|
12
20
|
- uses: actions/checkout@v4
|
|
13
21
|
|
|
@@ -15,6 +23,9 @@ jobs:
|
|
|
15
23
|
with:
|
|
16
24
|
python-version: "3.11"
|
|
17
25
|
|
|
26
|
+
- name: Setup Pages
|
|
27
|
+
uses: actions/configure-pages@v5
|
|
28
|
+
|
|
18
29
|
- name: Install doc deps
|
|
19
30
|
run: |
|
|
20
31
|
python -m pip install -U pip
|
|
@@ -31,8 +42,18 @@ jobs:
|
|
|
31
42
|
run: |
|
|
32
43
|
sphinx-build -b html -W -E docs docs/_build/html
|
|
33
44
|
|
|
34
|
-
- name:
|
|
35
|
-
uses:
|
|
45
|
+
- name: Upload artifact
|
|
46
|
+
uses: actions/upload-pages-artifact@v3
|
|
36
47
|
with:
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
path: docs/_build/html
|
|
49
|
+
|
|
50
|
+
deploy:
|
|
51
|
+
environment:
|
|
52
|
+
name: github-pages
|
|
53
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
needs: build
|
|
56
|
+
steps:
|
|
57
|
+
- name: Deploy to GitHub Pages
|
|
58
|
+
id: deployment
|
|
59
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/psf/black
|
|
3
|
+
rev: 25.11.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: black
|
|
6
|
+
|
|
7
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
8
|
+
rev: v0.15.5
|
|
9
|
+
hooks:
|
|
10
|
+
- id: ruff
|
|
11
|
+
args: [--fix]
|
|
12
|
+
types: [python]
|
|
13
|
+
|
|
14
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
15
|
+
rev: v6.0.0
|
|
16
|
+
hooks:
|
|
17
|
+
- id: end-of-file-fixer
|
|
18
|
+
- id: trailing-whitespace
|
|
@@ -31,6 +31,13 @@ autodoc_mock_imports = ["PyQt5", "numpy", "scipy", "matplotlib"]
|
|
|
31
31
|
|
|
32
32
|
autosummary_generate = True
|
|
33
33
|
autodoc_default_options = {"members": True, "undoc-members": False, "show-inheritance": False}
|
|
34
|
+
# Use fully qualified paths for type-hint cross references to avoid
|
|
35
|
+
# ambiguous short names like "Model" and "Unit".
|
|
36
|
+
autodoc_typehints_format = "fully-qualified"
|
|
37
|
+
autodoc_type_aliases = {
|
|
38
|
+
"Model": "PyTracerLab.model.model.Model",
|
|
39
|
+
"Unit": "PyTracerLab.model.units.Unit",
|
|
40
|
+
}
|
|
34
41
|
|
|
35
42
|
napoleon_google_docstring = False # True if using Google style
|
|
36
43
|
napoleon_numpy_docstring = True # True if using NumPy style
|
|
@@ -83,6 +90,25 @@ autosummary_imported_members = False
|
|
|
83
90
|
# Disambiguate short type names in NumPy-style docstrings
|
|
84
91
|
napoleon_type_aliases = {
|
|
85
92
|
"Unit": "PyTracerLab.model.units.Unit",
|
|
86
|
-
"Model": "PyTracerLab.model.Model",
|
|
93
|
+
"Model": "PyTracerLab.model.model.Model",
|
|
87
94
|
"Solver": "PyTracerLab.model.solver.Solver",
|
|
88
95
|
}
|
|
96
|
+
|
|
97
|
+
# Skip package-level re-exports in ``PyTracerLab.model`` to avoid duplicate
|
|
98
|
+
# Python domain targets (e.g., both ``PyTracerLab.model.Model`` and
|
|
99
|
+
# ``PyTracerLab.model.model.Model``).
|
|
100
|
+
_MODEL_PACKAGE_REEXPORTS = {"Model", "Unit", "EPMUnit", "EMUnit", "PMUnit", "DMUnit"}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def _skip_model_reexports(app, what, name, obj, skip, options):
|
|
104
|
+
env = getattr(app, "env", None)
|
|
105
|
+
temp_data = getattr(env, "temp_data", {}) if env is not None else {}
|
|
106
|
+
current_module = temp_data.get("autodoc:module")
|
|
107
|
+
if what == "module" and current_module == "PyTracerLab.model":
|
|
108
|
+
if name in _MODEL_PACKAGE_REEXPORTS:
|
|
109
|
+
return True
|
|
110
|
+
return None
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def setup(app):
|
|
114
|
+
app.connect("autodoc-skip-member", _skip_model_reexports)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|