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

Built distribution (wheel)

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

Total release size: 76.6 kB

Release files / nomogram-0.1.0.tar.gz

Download URL nomogram-0.1.0.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
06e3fb0f44f26339478bc2c21e34f3d4885493cabea15829a9c242bec4b16b87
BLAKE2b-256 checksum
How to use checksums
d7fcfc7dd85f29939b3e59f6fa8b98031889837767b53032ed39084b64507acd
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.0-py3-none-any.whl

Download URL nomogram-0.1.0-py3-none-any.whl
Size 41.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3245c3d07f28ccad9070cabcfe4c9e8780ca0832965f1581a6c528f7b491f40e
BLAKE2b-256 checksum
How to use checksums
dd2df450411731bb9e83c625b6b93711ad3cc9fd104ad16ad5c22681958c9f47
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

0.1.1

2 release files

This release

0.1.0 This release

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