Skip to main content

nomogram

English | Français

CI CodeQL codecov Python License 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.

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.1.1

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.1.1
File Size Uploaded
nomogram-0.1.1.tar.gz 35.4 kB Details

Built distribution (wheel)

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

Total release size: 76.6 kB

Release files / nomogram-0.1.1.tar.gz

Download URL nomogram-0.1.1.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
53525ce8dae21f4e0d4c2248e26735f3b5e1543fce34209a5c838a7afc2b13a2
BLAKE2b-256 checksum
How to use checksums
cd43df56d5510d1215169ccc1a3626fd060026c3d8570e44a61fce716d21e7e2
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.1.1-py3-none-any.whl

Download URL nomogram-0.1.1-py3-none-any.whl
Size 41.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68a669d53104f3c9d2f891a3cc9c2821700eb7d8b554ba5b8d0284c689ce53b3
BLAKE2b-256 checksum
How to use checksums
70fe32f5b143782cae167a36e9b68458160c6dc821aa2d994319859270adda65
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

0.2.0

2 release files

This release

0.1.1 This release

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