Skip to main content

nomogram

English | Français

CI CodeQL codecov Python License DOI uv Ruff Checked with mypy Conventional Commits

A repository of scientific formulas: alternative notations across authors and conventions, parameter units (including empirical ones), validity domains, LaTeX rendering and symbolic computation.

Pure Python, built on SymPy, numpy and pint; it works on an offline workstation (no online engine).

Early stage project (alpha).

Installation

pip install nomogram          # core
pip install "nomogram[viz]"   # with plots (matplotlib)

Installation from source

git clone https://github.com/miki4iaml/nomogram.git
cd nomogram
uv sync

Python 3.12 or later. Plots need the viz extra (matplotlib): uv sync --extra viz.

Example

Every saturation vapour pressure formulation of the catalog against the IAPWS reference; curves stop where a formulation leaves its stated validity domain (script):

import numpy as np
from nomogram.catalog import catalog
from nomogram.comparison import compare
from nomogram.plot import plot_deviations  # extra viz
from nomogram.units import Q_

formulations = catalog().formulations_of("SaturationVapourPressureOverWater")
reference = catalog().formulations["iapws_sr1_86"]
temperatures = Q_(np.linspace(-60, 110, 341), "degC")

table = compare(formulations, reference, {"ThermodynamicTemperature": temperatures})
plot_deviations(table)

Deviation of saturation vapour pressure formulations from IAPWS

Usage

The table holds the values and the relative deviations, by formulation; values outside a formulation's validity domain are NaN unless asked otherwise (outside="ignore"). Formulations also chain, for instance the absolute humidity from any saturation vapour pressure formulation:

from nomogram.comparison import compose

ha = compose(catalog().formulations["mass_concentration_ideal_gas"], {"e_s": reference})
ha.evaluate(RH=Q_(100, "percent"), T=Q_(20, "degC")).to("g/m^3")  # 17.29

Each formulation keeps its units, validity domain, temperature scale and references. The vocabulary is mapped in docs/rosetta.md; How nomogram earns trust explains what is checked and how.

Contributing

References to integrate, information or corrections about catalog entries, new formulas and code are all welcome: see the ways to contribute and the catalog guide.

License

BSD-3-Clause.

Metadata

Release files for nomogram 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nomogram 0.2.0
File Size Uploaded
nomogram-0.2.0.tar.gz 43.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nomogram 0.2.0
File Interpreter ABI Platform
nomogram-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 93.4 kB

Release files / nomogram-0.2.0.tar.gz

Download URL nomogram-0.2.0.tar.gz
Size 43.2 kB
Tags Source
SHA-256 checksum
How to use checksums
222a6d2ac859bda8b453fd621e2942c6bb5f260c564e10036ae9cb005b8c78ec
BLAKE2b-256 checksum
How to use checksums
0e562c26939faa4bf4128dc91d7a69cc968de9e1339d1090ce3dd36b80d3d64b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / nomogram-0.2.0-py3-none-any.whl

Download URL nomogram-0.2.0-py3-none-any.whl
Size 50.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbc51a7cd69b9474b2e661eb849e4c40632adcc8272b6afcd88c53d7dc801d3b
BLAKE2b-256 checksum
How to use checksums
fe1b6cc704e7a0ae85e19608c98292c5ab21856794baf6c8f91c459ae012e901
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page