nomogram 0.1.1__tar.gz → 0.3.0__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.
Files changed (31) hide show
  1. {nomogram-0.1.1 → nomogram-0.3.0}/PKG-INFO +17 -3
  2. {nomogram-0.1.1 → nomogram-0.3.0}/README.md +16 -2
  3. {nomogram-0.1.1 → nomogram-0.3.0}/pyproject.toml +1 -1
  4. {nomogram-0.1.1 → nomogram-0.3.0}/pyproject.toml.orig +1 -1
  5. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/__init__.py +2 -2
  6. nomogram-0.3.0/src/nomogram/catalog.py +2262 -0
  7. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/comparison.py +37 -5
  8. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/data/NOTICE.md +6 -3
  9. nomogram-0.3.0/src/nomogram/data/catalog/core.toml +184 -0
  10. nomogram-0.3.0/src/nomogram/data/catalog/humidity.toml +12 -0
  11. nomogram-0.3.0/src/nomogram/data/catalog/moist-air.toml +323 -0
  12. nomogram-0.3.0/src/nomogram/data/catalog/radio.toml +325 -0
  13. nomogram-0.3.0/src/nomogram/data/catalog/sea-water.toml +656 -0
  14. nomogram-0.3.0/src/nomogram/data/catalog/verifications.json +133 -0
  15. nomogram-0.3.0/src/nomogram/data/catalog/water-vapour.toml +854 -0
  16. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/data/semantics.json +372 -20
  17. nomogram-0.3.0/src/nomogram/dimensions.py +544 -0
  18. nomogram-0.3.0/src/nomogram/display.py +728 -0
  19. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/expression.py +160 -8
  20. nomogram-0.3.0/src/nomogram/inversion.py +585 -0
  21. nomogram-0.3.0/src/nomogram/model.py +1218 -0
  22. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/plot.py +79 -18
  23. nomogram-0.3.0/src/nomogram/relations.py +986 -0
  24. nomogram-0.3.0/src/nomogram/search.py +792 -0
  25. nomogram-0.1.1/src/nomogram/catalog.py +0 -533
  26. nomogram-0.1.1/src/nomogram/data/catalog/humidity.toml +0 -534
  27. nomogram-0.1.1/src/nomogram/model.py +0 -594
  28. {nomogram-0.1.1 → nomogram-0.3.0}/LICENSE +0 -0
  29. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/py.typed +0 -0
  30. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/semantics.py +0 -0
  31. {nomogram-0.1.1 → nomogram-0.3.0}/src/nomogram/units.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nomogram
3
- Version: 0.1.1
3
+ Version: 0.3.0
4
4
  Summary: Repository of scientific formulas: notations, units, validity domains
5
5
  Keywords: scientific computing,formulas,units,dimensional analysis,physics,thermodynamics,geoscience,atmospheric science,meteorology,hydrology,psychrometrics
6
6
  Author: miki4ia
@@ -41,6 +41,7 @@ Description-Content-Type: text/markdown
41
41
  [![codecov](https://codecov.io/gh/miki4iaml/nomogram/graph/badge.svg?branch=develop)](https://codecov.io/gh/miki4iaml/nomogram)
42
42
  [![Python](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmiki4iaml%2Fnomogram%2Fdevelop%2Fpyproject.toml)](pyproject.toml)
43
43
  [![License](https://img.shields.io/github/license/miki4iaml/nomogram)](LICENSE)
44
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23373134.svg)](https://doi.org/10.5281/zenodo.23373134)
44
45
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
45
46
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
46
47
  [![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)
@@ -94,7 +95,7 @@ table = compare(formulations, reference, {"ThermodynamicTemperature": temperatur
94
95
  plot_deviations(table)
95
96
  ```
96
97
 
97
- ![Deviation of saturation vapour pressure formulations from IAPWS](https://raw.githubusercontent.com/miki4iaml/nomogram/v0.1.0/docs/images/saturation-vapour-pressure.png)
98
+ ![Deviation of saturation vapour pressure formulations from IAPWS](https://raw.githubusercontent.com/miki4iaml/nomogram/v0.3.0/docs/images/saturation-vapour-pressure.png)
98
99
 
99
100
  ## Usage
100
101
 
@@ -110,8 +111,21 @@ ha = compose(catalog().formulations["mass_concentration_ideal_gas"], {"e_s": ref
110
111
  ha.evaluate(RH=Q_(100, "percent"), T=Q_(20, "degC")).to("g/m^3") # 17.29
111
112
  ```
112
113
 
114
+ Formulations are found by words, wildcards and fields, whatever their
115
+ notation ([Finding formulations](docs/search.md)):
116
+
117
+ ```python
118
+ catalog().search(variable="rho*") # ρ in every notation
119
+ catalog().search(kind="VapourPressure", source="buck*")
120
+ ```
121
+
113
122
  Each formulation keeps its units, validity domain, temperature scale and
114
- references. The vocabulary is mapped in [docs/rosetta.md](docs/rosetta.md).
123
+ references. The vocabulary is mapped in [docs/rosetta.md](docs/rosetta.md);
124
+ [How nomogram earns trust](docs/approach.md) explains what is checked and
125
+ how, and [Displaying formulas](docs/display.md) shows formulas in notebooks,
126
+ Markdown and plots. [Sea water](docs/sea-water.md) shows the salinity
127
+ scales and the vapour pressure of sea water, and what its 2 % lowering
128
+ changes at the sea surface.
115
129
 
116
130
  ## Contributing
117
131
 
@@ -7,6 +7,7 @@
7
7
  [![codecov](https://codecov.io/gh/miki4iaml/nomogram/graph/badge.svg?branch=develop)](https://codecov.io/gh/miki4iaml/nomogram)
8
8
  [![Python](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmiki4iaml%2Fnomogram%2Fdevelop%2Fpyproject.toml)](pyproject.toml)
9
9
  [![License](https://img.shields.io/github/license/miki4iaml/nomogram)](LICENSE)
10
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23373134.svg)](https://doi.org/10.5281/zenodo.23373134)
10
11
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
11
12
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
12
13
  [![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)
@@ -60,7 +61,7 @@ table = compare(formulations, reference, {"ThermodynamicTemperature": temperatur
60
61
  plot_deviations(table)
61
62
  ```
62
63
 
63
- ![Deviation of saturation vapour pressure formulations from IAPWS](https://raw.githubusercontent.com/miki4iaml/nomogram/v0.1.0/docs/images/saturation-vapour-pressure.png)
64
+ ![Deviation of saturation vapour pressure formulations from IAPWS](https://raw.githubusercontent.com/miki4iaml/nomogram/v0.3.0/docs/images/saturation-vapour-pressure.png)
64
65
 
65
66
  ## Usage
66
67
 
@@ -76,8 +77,21 @@ ha = compose(catalog().formulations["mass_concentration_ideal_gas"], {"e_s": ref
76
77
  ha.evaluate(RH=Q_(100, "percent"), T=Q_(20, "degC")).to("g/m^3") # 17.29
77
78
  ```
78
79
 
80
+ Formulations are found by words, wildcards and fields, whatever their
81
+ notation ([Finding formulations](docs/search.md)):
82
+
83
+ ```python
84
+ catalog().search(variable="rho*") # ρ in every notation
85
+ catalog().search(kind="VapourPressure", source="buck*")
86
+ ```
87
+
79
88
  Each formulation keeps its units, validity domain, temperature scale and
80
- references. The vocabulary is mapped in [docs/rosetta.md](docs/rosetta.md).
89
+ references. The vocabulary is mapped in [docs/rosetta.md](docs/rosetta.md);
90
+ [How nomogram earns trust](docs/approach.md) explains what is checked and
91
+ how, and [Displaying formulas](docs/display.md) shows formulas in notebooks,
92
+ Markdown and plots. [Sea water](docs/sea-water.md) shows the salinity
93
+ scales and the vapour pressure of sea water, and what its 2 % lowering
94
+ changes at the sea surface.
81
95
 
82
96
  ## Contributing
83
97
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nomogram"
3
- version = "0.1.1"
3
+ version = "0.3.0"
4
4
  description = "Repository of scientific formulas: notations, units, validity domains"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nomogram"
3
- version = "0.1.1"
3
+ version = "0.3.0"
4
4
  description = "Repository of scientific formulas: notations, units, validity domains"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -6,8 +6,8 @@
6
6
  Submodules are imported on demand, so that ``import nomogram`` stays
7
7
  light: :mod:`nomogram.units` (pint), :mod:`nomogram.expression`
8
8
  (SymPy), :mod:`nomogram.semantics` (bundled QUDT and CF subsets),
9
- :mod:`nomogram.model` and :mod:`nomogram.catalog` (formulations), and
10
- :mod:`nomogram.comparison`.
9
+ :mod:`nomogram.model` and :mod:`nomogram.catalog` (formulations),
10
+ :mod:`nomogram.comparison`, :mod:`nomogram.inversion` and :mod:`nomogram.plot`.
11
11
  """
12
12
 
13
13
  from importlib.metadata import version