gratinglab 0.1.1__tar.gz → 0.1.2__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.
- {gratinglab-0.1.1/src/gratinglab.egg-info → gratinglab-0.1.2}/PKG-INFO +3 -3
- {gratinglab-0.1.1 → gratinglab-0.1.2}/README.md +2 -2
- {gratinglab-0.1.1 → gratinglab-0.1.2}/pyproject.toml +8 -1
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/__init__.py +1 -1
- {gratinglab-0.1.1 → gratinglab-0.1.2/src/gratinglab.egg-info}/PKG-INFO +3 -3
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_result.py +25 -7
- {gratinglab-0.1.1 → gratinglab-0.1.2}/LICENSE +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/setup.cfg +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/checks.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/compare.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/convergence.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/geometry.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/app.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/diagram.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/diagram3d.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/docs.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/icon.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/integral_options.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/mathtext.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/orders.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/provenance.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/geometry_panel.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/geometry_tab.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/integral_tab.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/main_window.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/profile_plot_panel.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/scalar_tab.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/scene3d_panel.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/setup_tab.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/sizing.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/theory_viewer.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/qt/worker.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/richtext.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/scalar_options.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/gui/state.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/illumination.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/io/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/io/efficiency_table.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/io/ggp.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/materials/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/materials/data/SOURCES.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/materials/fresnel.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/materials/optical.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/materials/refractiveindex.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/analyzer.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/boundary/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/boundary/average.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/boundary/pipeline.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/cli.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/config.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/core/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/core/analysis.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/core/image_flatten.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/core/processing.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/core/tip.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/data/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/data/aggregation.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/icon.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/app.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/boundary_view.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/canvas.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/efficiency_dialog.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/import_view.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/main_window.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/wiki_view.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/qt/worker.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/gui/state.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/io/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/io/file_io.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/io/metrics.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/io/spm.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/settings.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/stats/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/stats/analysis.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/stats/icc.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/visualization/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/visualization/diagnostics.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/visualization/profiles.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/visualization/statistics.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/facet-fitting.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/file-formats.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/flattening.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/icc-correction.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/overview.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/reading-outputs.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/row-groups.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/wiki/tip-correction.md +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/metrology/workflows.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/problem.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/profiles.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/resolution.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/result.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/base.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/__init__.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_boundary.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_core.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_finite.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_greens.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_kernels.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/integral/_nystrom.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab/solvers/scalar.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab.egg-info/SOURCES.txt +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab.egg-info/dependency_links.txt +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab.egg-info/entry_points.txt +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab.egg-info/requires.txt +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/src/gratinglab.egg-info/top_level.txt +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_checks.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_compare.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_convergence.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_cross_method.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_efficiency_table.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_fresnel.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_geometry.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_ggp.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_diagram.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_diagram3d.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_docs.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_integral_options.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_mathtext.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_orders.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_provenance.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_qt.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_richtext.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_scalar_options.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_gui_state.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_illumination.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_core.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_corpus.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_finite.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_greens.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_kernels.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_operators.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_integral_solver.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_materials.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_perturbation.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_profiles.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_refractiveindex.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_resolution.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_scalar.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_solver_conformance.py +0 -0
- {gratinglab-0.1.1 → gratinglab-0.1.2}/tests/test_solver_progress.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gratinglab
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Open platform for diffraction grating groove metrology and efficiency analysis
|
|
5
5
|
Author: Jake McCoy
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -39,8 +39,8 @@ Dynamic: license-file
|
|
|
39
39
|
|
|
40
40
|
# gratinglab
|
|
41
41
|
|
|
42
|
-
[](https://pypi.org/project/gratinglab/)
|
|
43
|
-
[](https://pypi.org/project/gratinglab/)
|
|
42
|
+
[](https://pypi.org/project/gratinglab/)
|
|
43
|
+
[](https://pypi.org/project/gratinglab/)
|
|
44
44
|
[](https://github.com/jamccoy/gratinglab/actions/workflows/test.yml)
|
|
45
45
|
[](https://github.com/jamccoy/gratinglab/blob/master/LICENSE)
|
|
46
46
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# gratinglab
|
|
2
2
|
|
|
3
|
-
[](https://pypi.org/project/gratinglab/)
|
|
4
|
-
[](https://pypi.org/project/gratinglab/)
|
|
3
|
+
[](https://pypi.org/project/gratinglab/)
|
|
4
|
+
[](https://pypi.org/project/gratinglab/)
|
|
5
5
|
[](https://github.com/jamccoy/gratinglab/actions/workflows/test.yml)
|
|
6
6
|
[](https://github.com/jamccoy/gratinglab/blob/master/LICENSE)
|
|
7
7
|
|
|
@@ -4,7 +4,11 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gratinglab"
|
|
7
|
-
|
|
7
|
+
# Read from `gratinglab.__version__`, the way endstation does, so a release
|
|
8
|
+
# bumps one literal. Everything else (provenance, the GUI's About box, the
|
|
9
|
+
# release workflow's tag check) already reads `__version__`, and
|
|
10
|
+
# tests/test_result.py holds CITATION.cff to it.
|
|
11
|
+
dynamic = ["version"]
|
|
8
12
|
description = "Open platform for diffraction grating groove metrology and efficiency analysis"
|
|
9
13
|
readme = "README.md"
|
|
10
14
|
requires-python = ">=3.11"
|
|
@@ -76,6 +80,9 @@ Homepage = "https://github.com/jamccoy/gratinglab"
|
|
|
76
80
|
# Solver backends register here. A backend may live in its own distribution.
|
|
77
81
|
[project.entry-points."gratinglab.solvers"]
|
|
78
82
|
|
|
83
|
+
[tool.setuptools.dynamic]
|
|
84
|
+
version = { attr = "gratinglab.__version__" }
|
|
85
|
+
|
|
79
86
|
[tool.setuptools.packages.find]
|
|
80
87
|
where = ["src"]
|
|
81
88
|
|
|
@@ -21,7 +21,7 @@ from .illumination import Illumination, Polarization
|
|
|
21
21
|
from .resolution import ResolvingPower, resolving_power
|
|
22
22
|
from .result import EfficiencyScan, OrderEfficiency, Provenance
|
|
23
23
|
|
|
24
|
-
__version__ = "0.1.
|
|
24
|
+
__version__ = "0.1.2"
|
|
25
25
|
|
|
26
26
|
__all__ = [
|
|
27
27
|
"Illumination",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gratinglab
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Open platform for diffraction grating groove metrology and efficiency analysis
|
|
5
5
|
Author: Jake McCoy
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -39,8 +39,8 @@ Dynamic: license-file
|
|
|
39
39
|
|
|
40
40
|
# gratinglab
|
|
41
41
|
|
|
42
|
-
[](https://pypi.org/project/gratinglab/)
|
|
43
|
-
[](https://pypi.org/project/gratinglab/)
|
|
42
|
+
[](https://pypi.org/project/gratinglab/)
|
|
43
|
+
[](https://pypi.org/project/gratinglab/)
|
|
44
44
|
[](https://github.com/jamccoy/gratinglab/actions/workflows/test.yml)
|
|
45
45
|
[](https://github.com/jamccoy/gratinglab/blob/master/LICENSE)
|
|
46
46
|
|
|
@@ -192,14 +192,32 @@ class TestPublicAPI:
|
|
|
192
192
|
assert hasattr(gratinglab, name)
|
|
193
193
|
|
|
194
194
|
|
|
195
|
-
def
|
|
196
|
-
"""`__version__` is
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
def test_the_package_version_is_read_from_version():
|
|
196
|
+
"""`__version__` is the one written version: it is stamped on every
|
|
197
|
+
result's provenance, and pyproject.toml reads it rather than restating it.
|
|
198
|
+
A second literal there could drift and label results with a version
|
|
199
|
+
nobody can install."""
|
|
199
200
|
import tomllib
|
|
200
201
|
|
|
201
|
-
from gratinglab import __version__
|
|
202
|
-
|
|
203
202
|
pyproject = Path(__file__).resolve().parents[1] / "pyproject.toml"
|
|
204
203
|
with pyproject.open("rb") as f:
|
|
205
|
-
|
|
204
|
+
config = tomllib.load(f)
|
|
205
|
+
assert "version" not in config["project"]
|
|
206
|
+
assert "version" in config["project"]["dynamic"]
|
|
207
|
+
assert config["tool"]["setuptools"]["dynamic"]["version"] == {
|
|
208
|
+
"attr": "gratinglab.__version__"
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def test_the_citation_names_the_version_being_shipped():
|
|
213
|
+
"""CITATION.cff is the one copy setuptools cannot read for us, so a release
|
|
214
|
+
that bumps `__version__` and forgets it fails here instead of shipping a
|
|
215
|
+
citation for the previous release."""
|
|
216
|
+
import re
|
|
217
|
+
|
|
218
|
+
from gratinglab import __version__
|
|
219
|
+
|
|
220
|
+
citation = Path(__file__).resolve().parents[1] / "CITATION.cff"
|
|
221
|
+
found = re.search(r"^version: (\S+)$", citation.read_text(encoding="utf-8"), re.M)
|
|
222
|
+
assert found is not None, "CITATION.cff has no version line"
|
|
223
|
+
assert found.group(1) == __version__
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|