Skip to main content

PRIMAT: precise Big Bang Nucleosynthesis computations, with a fast C backend and a pure-Python fallback

Project description

primat

A precise Big Bang Nucleosynthesis (BBN) solver. It integrates coupled ODEs for the cosmological background (photon/neutrino temperatures, scale factor) and a nuclear reaction network to predict primordial abundances of H, D, He3, He4, Li7, and heavier nuclides.

Installation

For most users:

pip install primat

That's it. The package includes a fast C backend compiled for your platform, with a pure-Python fallback if no compiled binary is available — both give identical results, just different speed.

For development, examples, and notebooks:

Clone the repository and install in editable mode:

git clone <repo-url>
cd PyPRIMAT
pip install -e .

With optional dependencies for best performance:

pip install -e ".[recommended]"
Package Role
numpy, scipy, joblib, plotly Mandatory (installed by pip install primat)
numba Recommended — JIT compilation gives ~5× speedup on rate kernels
vegas Recommended — Monte Carlo integration for thermal weak-rate corrections

For the graphical interface (primat-gui), install the gui extra:

pip install "primat[gui]"
Package Role
streamlit Required for primat-gui — the web app framework
pandas Required for primat-gui — final-abundance table

For the example notebooks, install from source:

pip install -e ".[notebooks]"
Package Role
matplotlib, pandas Plotting and tabular display in the notebooks

Quick start

from primat.backend import run_bbn

result = run_bbn({"Omegabh2": 0.022425})

print(f"YP  (BBN) = {result['YPBBN']:.6f}")  # ~0.246915
print(f"D/H = {result['DoH']:.5e}")          # ~2.43647e-05

run_bbn() is the main entry point and automatically selects the best available backend (fast C engine by default, pure-Python fallback if needed). Pass an optional parameter dict to override defaults; all keys are optional and drawn from primat/config.py's DEFAULT_PARAMS.

Using primat

There are four ways to use primat, all of which produce identical results:

1. Python API (recommended)

from primat.backend import run_bbn

# Automatically selects C backend if available, falls back to pure-Python
result = run_bbn({"Omegabh2": 0.022425, "network": "large"})

To force a specific backend:

result = run_bbn({"network": "small"}, force_backend="c")       # C only
result = run_bbn({"network": "small"}, force_backend="python")  # Python only

2. Command-line interface

primat --Omegabh2 0.02242 --network large --amax 8

Output:

Neff       = 3.04397730
YP (BBN)   = 0.24699808
YP (CMB)   = 0.24567178
D/H        = 2.4365389e-05
He3/H      = 1.0397042e-05
He3/He4    = 1.2677615e-04
Li7/H      = 5.501865e-10
Li6/Li7    = 1.418945e-05
--- running time: 3.67 seconds ---
Flag Description
--Omegabh2 VALUE Baryon density Ω_b h² (default: 0.022425)
--DeltaNeff VALUE Extra relativistic degrees of freedom (default: 0)
--network {small,small_parthenope,large} Nuclear reaction network (default: small)
--amax A Drop reactions involving any nuclide with mass number > A; applies to any network
--numerical_precision RTOL solve_ivp relative tolerance (default: 1e-7)
--backend {auto,c,python} Force a backend (default: auto)
--json Print full results dict as JSON instead of summary
--verbose Enable progress messages (timings, cache hits, ...)

For parameters not exposed as command-line flags, use the Python API.

3. Graphical interface (GUI)

After installing the gui extra:

primat-gui

The browser-based app offers a parameter form, interactive abundance-evolution plot, and final-abundances panel. It uses the pure-Python backend to support custom networks and time-evolution output.

4. Example scripts (development/source-only)

Clone the repo and run from the root:

python runfiles/PyPRIMAT_run.py           # Standard SM run
python runfiles/PyPRIMAT_compare.py       # Network comparison
python runfiles/PyPRIMAT_reference_run.py # High-precision run (~2 min)

Backend selection

run_bbn() automatically picks the best available backend:

  • Default (force_backend=None or "auto"): C engine if available (pre-compiled in wheels), pure-Python fallback otherwise
  • Force C (force_backend="c"): Raises if C backend is unavailable
  • Force Python (force_backend="python"): Useful for development or when using Python-only features

Python-only features (that force fallback to pure-Python even with force_backend="auto"):

  • custom_network (GUI "Create custom network" feature)
  • output_time_evolution=True (write full time series)
  • extra_rho, background= arguments

Key parameters

Parameter Default Description
Omegabh2 0.022425 Baryon density
DeltaNeff 0.0 Extra relativistic degrees of freedom
network "small" "small" (12 reactions) / "small_parthenope" (12, Parthenope 3.0 tables) / "large" (~429), optionally restricted via amax.
numerical_precision 1e-7 ODE solver rtol
sampling_temperature_per_decade 400 Background grid points per decade of T
sampling_nTOp_per_decade 80 n↔p rate grid points per decade of T
weak_rate_cache True If False, never load n↔p rates from data/weak/ (always recompute)
save_nTOp True Save recomputed n↔p rates to data/weak/ with a fingerprint header
thermal_corrections True Include thermal radiative corrections (CCRTh) to the n↔p rates
save_nTOp_thermal True Save recomputed thermal corrections to data/weak/ with a fingerprint header
output_time_evolution False Write time-evolution table to output_file
output_file results/output_tables.tsv Output file path (relative paths resolve against the current working directory)
output_n_points 500 Number of interpolated rows in output file

n↔p weak rate workflow

The n↔p weak rates are the most expensive part of initialisation (~1.8 s). The non-thermal rate (Born+FM+CCR+SD) is cached in data/weak/nTOp_<hash>.txt (forward and backward columns together); the finite-temperature radiative correction (CCRTh) is cached separately in data/weak/nTOp_thermal_<hash>.txt. Each file is tagged with a fingerprint header: a hash of every config field that affects its numeric content (background thermodynamics, sampling_nTOp_per_decade/sampling_nTOp_thermal_per_decade, radiative_corrections, finite_mass_corrections, thermal_corrections, etc. — see primat.weak_rates). At every run:

  • If weak_rate_cache=True (default) and a cache file's fingerprint matches the current configuration, the corresponding rates are loaded directly — initialisation is effectively instantaneous.
  • Otherwise (fingerprint mismatch, missing file, or weak_rate_cache=False), the rates are recomputed from scratch by numerical integration (~1.8 s).
  • save_nTOp and save_nTOp_thermal (both default True) write the (re)computed rates back to data/weak/ with a fresh fingerprint header, so future runs with the same configuration load the cache. The hash is part of the filename, so different configurations coexist without overwriting each other — set either flag to False only to avoid littering data/weak/ during throwaway experiments.

Recomputing the thermal correction (thermal_corrections=True) requires a vegas Monte Carlo integration that can take minutes to hours; the fingerprint mechanism above is what makes this avoidable across runs that share the same configuration.

Typical workflow for a high-precision study:

from primat.backend import run_bbn

# Step 1 – compute and save high-precision rates once (non-default
# sampling_nTOp_per_decade gives a fingerprint that the shipped cache won't
# match, so this recomputes; save_nTOp=True is the default)
result1 = run_bbn({"save_nTOp": True, "sampling_nTOp_per_decade": 160})

# Step 2 – all subsequent runs with the same sampling_nTOp_per_decade reuse the saved tables
result2 = run_bbn({"sampling_nTOp_per_decade": 160})

Custom NEVO tables

The neutrino-decoupling history is read from data/NEVO/. Three optional parameters point at alternative tables instead (filenames resolved relative to data/NEVO/, or absolute paths): nevo_file (6/7-column thermo table), nevo_spectral_file (spectral-distortion table, used only when spectral_distortions=True and analytic_distortions=False), and nevo_grid_file (its y-grid, length must match nevo_spectral_file's spectral-column count). Each defaults to None (the shipped table selected by QED_corrections); a custom file is validated for existence and shape at construction time, and is included in the n↔p weak-rate cache fingerprint so a different table correctly triggers a recompute.

Each nuclear reaction rate has a p_<name> parameter (e.g. p_npTOdg) for uncertainty propagation: setting it to a non-zero float samples the rate at median × exp(p × σ).

Rates overlay (custom networks/tables without editing the install)

user_rates_dir points at a directory with the same nuclear/networks/ and/or nuclear/tables/<name>/ layout as the shipped data/ tree; any network file or per-reaction table found there is used instead of the shipped one, while everything not overridden still falls back to the shipped default (an additive overlay, not a takeover). rates_dir instead fully replaces the shipped tree as the first lookup base (still falling back to the shipped tree as a last resort, so small/large never disappear). Both default to None and are validated as existing directories at construction time.

Output

solve() returns a dict:

Key Description
YPBBN Helium-4 mass fraction (BBN convention)
YPCMB Helium-4 mass fraction (CMB convention)
DoH D/H
He3oH ((He3+T)/H
Li7oH (Li7+Be7)/H
Neff Effective number of neutrino species
Omeganurel Ω_ν h² × 10⁶ (relativistic)
OneOverOmeganunr 1 / (Ω_ν h² × 10⁻⁶) (non-relativistic)

When output_time_evolution=True, a TSV file is written with columns: a, T, t, H, Tnue, Tnumu, Tnutau, [Nheating], [abundances], n_to_p_weak_rate, p_to_n_weak_rate, [nuclear rates]

Nheating is included only for incomplete_decoupling=True (a real NEVO heating table). [abundances] is one Y<species> column per nuclide of the chosen network (8 for small/small_parthenope, ~59 for large, fewer with an amax cutoff). [nuclear rates] (output_rates_time_evolution=True) is available for small/small_parthenope only; it is omitted (with a printed note) for network="large".

Architecture

primat/                    Core Python package
  backend.py             Main entry point: run_bbn() dispatch (C vs pure-Python)
  config.py              PRIMATConfig: all physical constants + run-time flags
  main.py                PRIMAT class: low-level Python implementation
  background.py          Cosmological background (a<->t<->T, weak rates, Neff)
  nuclear_network.py     Nuclear network ODE integration (HT/MT/LT eras)
  plasma.py              Plasma thermodynamics (QED corrections, neutrino bath)
  qed_pressure.py        Analytical QED plasma-pressure corrections
  network_data.py        Nuclear network definition and loading
  network_builder.py     Generic stoichiometry-driven ODE builders (numba kernels)
  weak_rates/            n <-> p weak rate computation (integrands, corrections, cache)
  neutrino_history.py    NEVO non-instantaneous decoupling table I/O
  evolution.py           Unified time-evolution TSV schema
  cli.py                 `primat` command-line entry point
  gui/                   `primat-gui` Streamlit app (optional, source-only)
  data/                  Shipped rate tables and network definitions
  _primat_c/             Compiled C extension bridge (wraps primat-c/)

primat/data/
  nuclear/
    tables/              Per-reaction rate tables (one folder per reaction)
    networks/            Network list files (small.txt, large.txt, custom.txt, etc.)
    csv/                 Reaction catalog (nuclides.csv, detailed_balance.csv, etc.)
  plasma/                Pre-computed QED pressure tables
  weak/                  Cached n↔p forward/backward rates
  NEVO/                  Neutrino-decoupling history tables

primat-c/                Standalone C99 port (independent build via `make`)
                         Also compiled as extension for the Python backend.
                         See primat-c/README.md for details.

generate_rates/          Offline rate-table generator (one-time use)
                         Converts AC2024 compilation to primat format

Backend dispatch

run_bbn() (primat/backend.py) is the single entry point:

  • C backend (default): Precompiled in wheels, ~25× faster, deterministic numerical differences (~1e-8 relative) vs. Python that are budgeted separately
  • Python backend (fallback or explicit): Pure Python, all features, no compilation needed, slightly slower, useful for development

All three interfaces (Python API, CLI, GUI) ultimately call run_bbn() or the pure-Python fallback.

Networks

Two named networks (plus a Parthenope-rates variant of the small one) are available via the network flag; amax (any positive integer) further restricts any of them to reactions whose nuclides all have mass number A ≤ amax:

network Reactions Nuclides Notes
"small" 12 8 the key reactions; fastest
"small_parthenope" 12 8 same reactions, Parthenope 3.0 rate tables (comparison runs)
"large" ~429 ~59 from the AC2024 compilation; LT era only
"large", amax=8 68 12 the old "medium" network's exact equivalent
"large", amax=2 3 3 the old "deuterium" network's equivalent (n↔p + n_p__d_g + p_p_n__d_p)

All networks share the HT (n↔p) and MT eras (the MT era always uses a fixed 18-reaction subset, too stiff to run the full network); only the LT reaction set is filtered by network/amax. The light-element abundances of the full large network match the amax=8 restriction to ≲1e-4; its heavy-nuclide tail (B, C, N, O, …) is approximate. See notebooks/AbundanceEvolution.ipynb for evolution plots.

Custom networks (GUI)

The primat-gui sidebar's "Nuclear reactions" group offers "Create custom network" (a popup to start from any named network, toggle reactions in/out by mass-number category, and substitute or upload alternate rate tables) and "Import custom network" (re-load a previously saved .zip).

Cobaya / MCMC interface

A wrapper for primat is available for use with Cobaya, allowing BBN to be embedded directly in MCMC analyses of CMB or other cosmological data. The wrapper exposes Omegabh2, DeltaNeff, and the nuclear-rate uncertainty parameters as Cobaya theory/likelihood inputs and returns the standard BBN observables (YPBBN, DoH, etc.) for use in a likelihood.

Citation

If you use primat please cite:

Pitrou, Coc, Uzan, Vangioni, Physics Reports 754 (2018) 1–67.
doi:10.1016/j.physrep.2018.04.005

Authors

Cyril Pitrou (pitrou@iap.fr), Julien Froustey

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

primat-0.3.0.tar.gz (3.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

primat-0.3.0-cp313-cp313-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.13Windows x86-64

primat-0.3.0-cp313-cp313-win32.whl (4.1 MB view details)

Uploaded CPython 3.13Windows x86

primat-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

primat-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

primat-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

primat-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

primat-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

primat-0.3.0-cp312-cp312-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.12Windows x86-64

primat-0.3.0-cp312-cp312-win32.whl (4.1 MB view details)

Uploaded CPython 3.12Windows x86

primat-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

primat-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

primat-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

primat-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

primat-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

primat-0.3.0-cp311-cp311-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.11Windows x86-64

primat-0.3.0-cp311-cp311-win32.whl (4.1 MB view details)

Uploaded CPython 3.11Windows x86

primat-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

primat-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

primat-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

primat-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

primat-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

primat-0.3.0-cp310-cp310-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.10Windows x86-64

primat-0.3.0-cp310-cp310-win32.whl (4.1 MB view details)

Uploaded CPython 3.10Windows x86

primat-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

primat-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

primat-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

primat-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

primat-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file primat-0.3.0.tar.gz.

File metadata

  • Download URL: primat-0.3.0.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4ed42974db27f154d57dd087896eff6c43a36e7b08b945e3c7689f5c29aa21b1
MD5 996145bd4a2192e855cc76506229d4ec
BLAKE2b-256 52562469a53124a5e77067b45e0a803b1476588d1ac1f2798d25e2178013b476

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0.tar.gz:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: primat-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a73159b31d0f732aca4fd19855894d3f515f4a708dba75337dd181cda6c7e7ea
MD5 ccab56f1bae02c27930e8f7277e11712
BLAKE2b-256 c708a8fd18ba834dffbdaf9bab09033f4b60437c65b5c537d95f5fb50f97eaa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: primat-0.3.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 d214f5c5535ef048068976df5419f057a6471490d1f5aefbaacf9818f33c6a38
MD5 c327131f6126de73c3e60d1d6ee73e73
BLAKE2b-256 de9eabf84d8fc9f09cacb971e10b7e313f28924a143e4a4b8737619e727c8a0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-win32.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8fa4d4a2e7e36bcd9a06d56cfde15b518fe710281bc59970d37b40d27f06736f
MD5 2431158d4d697c2755b45d1c7570384c
BLAKE2b-256 d2ddf4318653f05d17954e880992e095e03b884e1dda972332935e7ebed4d820

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8857ad2a183f4fcf3effdbfb0c5140c7814ff117c229ddd181b8316837de5452
MD5 0b00d37b7e51f478f874d65b716f3389
BLAKE2b-256 4d00883cb226385dafda36f911137aa39071923d32bae2eaad0860353f3d48a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 40e78ba2a89f7e682e11340e72f5cb06a0b200e63268881c85281d94d6c005f1
MD5 8605f0b7bab21a2a2ffc28848a2717b4
BLAKE2b-256 8f6b52d5bc869e876752a11c136a252067b32b889bc4f5e36b2547c7a85f3b26

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae68491824f7a68d47cd3068b2fb612712e1de6eeb2b86813eac48603998e4c1
MD5 73d55a41a3b6bc6f275a49a8aee994ac
BLAKE2b-256 173cc177fc093839b372f438e3be6ecb4ab0882d6919b71876b8525c8652e138

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 140091be897a913ad568302a13134ec0bb70291dd88e9e71bbe86abac814f7a5
MD5 538386ffbe11739d40cdd4fcf08678fc
BLAKE2b-256 f360d1f627e13415de2968a2308d42723de88243340883573ff8f495c9a0b733

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: primat-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4551a07527c2ba1f3b7137b4a373ee17d75054f878126e8c93f4f12f3d94f9a0
MD5 b4a57a20f453823c1578e3b6caccc82b
BLAKE2b-256 66b360d39100f4bdc5b5bcf86b5201f109f53fd0cccadc250471898cf93bff48

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: primat-0.3.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e52a300cafe714e67bbab349473aa44a0e033e1ad50b4e67554a08f3cda8e301
MD5 7d407d2dbe570e4f784ee6e3e70e15cb
BLAKE2b-256 db6e4cc8bb98787a2aac33a2bc7f1781b45fcbcc1bf1d80108fc18213f7713a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-win32.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b91a25efaa2cf367384e3e3002c3b471c0f7e65a9ec162a509b7d4ca9ece1d99
MD5 0694672e8e3c7e239d74eedb6394ece1
BLAKE2b-256 dfa444f6776b300427112ffa7a00fee145307f8c9e906920982a4cb7fcfbcd3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bfdaf6da60a97a577e6a5161905542c934db622a9b03bc736d692c82d8716f32
MD5 025ec9431c8ede4d8f2d12abd101900b
BLAKE2b-256 1a43a73698e949ad3673fe1de498885fd01ad54f5b3f7fa6b748926b41af57d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b382c02953cfba5cc3c3ed146523f64b24128ab18c2062d3d943a785ab7e7be
MD5 76704bde4bb68bb770bc7b16232a879b
BLAKE2b-256 ea78232dff1d039b8a657c895c22daf921a5e5af2d0c24cfd257562cee848038

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4504aba1b1e09c32aef5b683a6055f817681d8638029372ed80b1748872593ce
MD5 74e0f48b36b37f0dc2e65536d239605a
BLAKE2b-256 d3ff53b1f4965616910d40b31562505bbb33bf3ac26cf5f27959c83c56a14d1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 43d479ff8536c75c4a6681f7ae4218ce5ffe4e799a03fcace9501c2f75e271ab
MD5 b54bb5401e9e1d5ddc2fc13e08a90902
BLAKE2b-256 aa257c75f9ebf5ac2aee12acf7407f603658dbe1105e256ef4d8d8344320e6c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: primat-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80e9d5dca70068a6c32e62ef3ea5e1ca7e699d100d7cf00f08dda6370a37a371
MD5 4cd4f7b1b41354b59b4b0a2968694a2f
BLAKE2b-256 afbeca227273048464c574c10e94f82ebd42d7fb555b45fb038da36d5542b9d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: primat-0.3.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9bcdbafdf1c5c4c8737e20d11a7ead76bfd5c8f65fa5466ae69e34fda20a07d4
MD5 ff7b12dab6950fe09b9eca3efb20c780
BLAKE2b-256 d281ac4aa0986faa04b46920db99637121f3166d0cac63b926ef20e12e4a48a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-win32.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5aeaec21c5307edb3fe4daeebdb2a26d671cf91f442843c078e11f8eac38885f
MD5 1dc5b3028e671d5c4eeb1d3246833d34
BLAKE2b-256 ecc24365009714987781f8724f233db02ef0411912fe17c3100586ab45103bd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fdf31ddc81264dbc32d731af7d7ca1ce76b1fdc5ba3beb22857a022968024166
MD5 745891e84db974496a2522311d93d531
BLAKE2b-256 928fffbf2cb4eb0ebc1517a73f8bd3dfd1fbd80a2684dbdd2b62060d72756b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 930ef6d92f4625e50066b73addb01c7e34ba17e082c23b5d776e931a14fb634e
MD5 5800bbb9dc4e41a4af91b05428df4d1a
BLAKE2b-256 0feb40a7422181b77e838d3cc5de9decc04c45d730db7ec90a7de3a6cc1c1d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d03f4730738f35ba5a1c1f026c4934f1557b972bf46fd63ce386219c7a066470
MD5 b2092d88c8add9b0942ac4fe861d11f6
BLAKE2b-256 ff249d0c621c042836e4bcf2642a9f1c35106b7d6ce0d38541562e7d2b82212e

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2300d1155fc648f9831e3e5fd699ca23fc009c5475e16707339ada70445b7ab8
MD5 35cdc7a26c56370ebefc0cef04831430
BLAKE2b-256 ca7d77ac179dd9608120c4f5436a5b358fb7e057a86343f07a7ca028b023f3cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: primat-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7ac6718dd9695cfe3c74ca128d482d559307f74eb27f46c98cfd97f39a20313f
MD5 d09545dd81ce9fd15c9fb2ad8aee5072
BLAKE2b-256 06d610c38eb58086f886a3c40c4770708225b61a5bb1f2685bef671923903472

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: primat-0.3.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for primat-0.3.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 ad123d8cca110c20ea2be13017437f53af26a5b6e0ae7065f92c92a8bf869a5e
MD5 90102b53120ce6c2850fc014dc581124
BLAKE2b-256 387fc08831babd0d7d31666a0651c7efbd35a004a0a30fe41ebda8b50bdc7c0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-win32.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b7511163a76424eaa2983530c5a53d3ac99476953d5626da1b3c491a73559d0
MD5 c4c20531f2f6618326b83c625a089357
BLAKE2b-256 c88dda8b25b006979e138a1e71c41485b60207b3eddebea638f6c991dd07ac14

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b935bdfa1891b37f76db29c6a39b1eddf1fcda377b3d88d56f65ab83c08cea4
MD5 9193e834cc3d9ae8191ea418739f9a84
BLAKE2b-256 33c834dffc6c2386fcbbd7348cd34c71667beaefbb2488322e718131beaae1a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0ff77713517681efb1d16ac1b093b1cd733f15376dacb2b934efdcbada499691
MD5 04ba24c3f879c8d6c0e6f081c5a32c42
BLAKE2b-256 cc35bafb705ca181c58411fb9f48d2c8a2e855d895ac45251587d0d3e7493879

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d8056e80c2ace3fc1f36599e10b7546813b31e5e0dca70bdbe67254723d8969
MD5 f7b33688dc271cb62772ff29aa56809e
BLAKE2b-256 2cac38a044656a715e424cdb6cec400da249e52492a04a0c997f64506d70351c

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primat-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for primat-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a5ea27087e4abaf17dbabdb112b68359697ec6297332392458d53578e13173fb
MD5 501c41961ee4c1cacb4319b9179ec0e1
BLAKE2b-256 becc24c40f99e1b35a83605f4ac66b2de1c642c764e1edfd659446922aa6be0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for primat-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on CyrilPitrou/primat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page