Exp-Minus-Log Mathematics: the EML Sheffer operator eml(x,y)=exp(x)−ln(y). Slim core: expression trees, symbolic regression, flow-diagram renderer. (Algebras + GR live in the sister package eml-spectral.)
Project description
EML-Math
EML Mathematics — a universal real-valued foundation for elementary mathematics, built from a single binary operator.
Repo: https://github.com/andrewkwatts-maker/EML-Math
Created by Andrew K Watts. Based on the EML Sheffer operator established by Andrzej Odrzywolek: arXiv:2603.21852v2 (CC BY 4.0).
The core idea
A single binary operator generates every elementary function:
eml(x, y) = exp(x) − ln(y)
This is the EML Sheffer operator — the continuous analog of the NAND
gate for Boolean logic. From it the 36 standard elementary functions
(+, −, ×, /, exp, ln, sin, cos, tan, π, e, …) can
all be reconstructed as composed expression trees.
EMLPoint is the operator's computation node — simultaneously a
mathematical state and a composable expression-tree leaf:
from eml_math import EMLPoint
import math
EMLPoint(1, 1).tension() # e = eml(1, 1)
EMLPoint(2, 1).tension() # exp(2)
EMLPoint(1, EMLPoint(EMLPoint(1, math.e), 1)).tension() # ln(e) = 1.0
What's in v1.2.0 — the slim core
eml-math v1.2.0 is the pure-EML universal-math toolkit: the
operator, expression trees, symbolic regression, the elementary-function
operator library, the famous-equations registry, and the flow-diagram
renderer. Nothing else.
| Module | Purpose |
|---|---|
EMLPoint, _VarNode |
The EML node, with variable-leaf support for symbolic work |
tree |
Expression-tree parser, renderer, JSON-array compact form |
operators |
The 36 elementary functions as ready-made EML trees |
evaluator |
Parse and evaluate EML formula strings |
symbols |
Named-symbol registry (e, π, φ, √2, …) |
discover |
compress, recognize, Searcher — symbolic regression |
famous |
Registered classic equations (Pythagoras, Euler, Einstein, …) |
flow + flow_layout |
Legacy SVG / PNG / PDF / HTML flow-diagram renderer |
render |
New abstracted renderer — raw JSON → layout dict → pluggable Renderer (SVGRenderer, HTMLRenderer, PNGRenderer, PDFRenderer, BYO). Three edge styles (straight · curve · spline), Reingold-Tilford tidy-tree layout, MathJax/MathML output via decompress(r, fmt='mathjax'). |
web |
Bundled eml_flow.js UMD bundle for browser-side rendering |
Algebras and physics are now in eml-spectral — the sister package, v1.0.0 release. EML-tree representations of Clifford algebras, octonions, exceptional algebras (E7/E8/Freudenthal), Lorentz-invariant spacetime ops, named GR metrics, and the spectral-flow operator Φ all live there. Same zero-deps philosophy, optional Rust acceleration, optional C API.
pip install eml-spectral # transitively installs eml-math >= 1.2.0
Installation
pip install eml-math # core
pip install eml-math[ext] # + numpy, sympy
pip install eml-math[precision] # + mpmath
pip install eml-math[dev] # + pytest, ruff, mypy
For the algebras / physics layer:
pip install eml-spectral
# transitively pulls in eml-math >= 1.2.0
Quickstart — symbolic regression
Searcher finds an EML expression that matches a target numeric value:
from eml_math import Searcher
s = Searcher(target=2.71828)
result = s.search()
print(result.formula) # 'eml(1, 1)' (i.e. e)
compress and recognize go in the other direction:
from eml_math import compress, recognize
print(recognize(3.14159)) # ('π', 3.141592653589793, 0.0)
print(compress("exp(x) - ln(y)")) # SearchResult: matches the EML primitive itself
Generating equation graphs (SVG / PNG / PDF / HTML)
Every formula in the famous-equations registry can be rendered to SVG / PNG / PDF / HTML directly. The same primitives work on any EML expression you build.
One-liner from a famous equation
from eml_math.famous import get
einstein = get("einstein_e_mc2")
# Bytes → write yourself
open("einstein.svg", "w", encoding="utf-8").write(einstein.flow_svg(width=900, height=600))
open("einstein.png", "wb").write(einstein.flow_png(width=900, height=600))
open("einstein.pdf", "wb").write(einstein.flow_pdf(width=900, height=600))
# Self-contained interactive HTML (UMD bundle inlined)
open("einstein.html", "w", encoding="utf-8").write(einstein.parse().flow_html(width=900, height=600))
Direct from an EML expression
from eml_math import parse_eml_tree
tree = parse_eml_tree(
"EML: ops.sqrt(ops.add(ops.pow(eml_vec('a'), eml_scalar(2.0)), "
"ops.pow(eml_vec('b'), eml_scalar(2.0))))",
pure_eml=True,
)
open("pythagoras.svg", "w", encoding="utf-8").write(tree.flow_svg(width=1200, height=900))
open("pythagoras.png", "wb").write(tree.flow_png(width=1200, height=900))
Render-time options
Useful kwargs accepted by flow_svg / flow_png / flow_pdf:
| Argument | Default | Effect |
|---|---|---|
width, height |
800 × 600 |
SVG / PNG canvas in px |
direction |
"down" |
growth direction: "down" · "up" · "left" · "right" |
auto_height |
True |
grow the canvas vertically for deep trees instead of cropping |
min_layer_height |
38.0 |
minimum vertical gap per tree level |
palette |
built-in | sequence of (r, g, b) colours for variable inputs |
output_label |
"Out" |
label drawn at the root of the tree |
show_output_label |
True |
hide the root label by passing False |
inline_constants |
False |
render small constants (2, 0.5) on the edge instead of as a leaf |
merge_inputs |
False |
combine repeated variable leaves into a single fan-out node |
expand_symbols |
False |
expand named symbols (π, φ, …) to their pure-EML form |
edge_width |
3.0 |
stroke width for edges |
junction_radius |
4.0 |
dot radius at each internal node |
label_font_size / output_font_size |
18 / 22 |
label sizes |
background |
None |
SVG background colour (None = transparent) |
For a different visual style, post-process the layout JSON before rendering — see the next section.
Layout-intermediate JSON pipeline (this is how styles are applied)
For finer control — or to render the same geometry from JavaScript /
post-process it programmatically — go through the layout-intermediate
form. to_layout returns a JSON-serialisable dict; the post-processes
return a transformed copy; render_layout_svg / render_layout_png /
render_layout_pdf produce final output.
The two named styles in the gallery are post-process pipelines applied
to the same to_layout(tree) output:
| Style | Post-process pipeline |
|---|---|
formal |
fit_to_canvas(L) — symmetric, top-down, the default |
organic |
organic_layout(L, branch_angle=24, length_scale=44, length_decay=0.97, min_length=24) → fit_to_canvas — branching, tree-like; min_length floor stops deep leaves clumping |
import json
from eml_math import (
to_layout, render_layout_svg, render_layout_png, render_layout_pdf,
organic_layout, fit_to_canvas,
)
layout = to_layout(tree, width=1200, height=900)
# Apply organic style
layout = organic_layout(layout,
branch_angle=24.0, length_scale=44.0,
length_decay=0.97, min_length=24.0,
branch_jitter=0.12, trunk_pull=0.35,
balance="subtree_size")
layout = fit_to_canvas(layout, margin=20)
# Inspect / save the geometry before rendering
with open("pythagoras_layout.json", "w", encoding="utf-8") as f:
json.dump(layout, f, indent=2)
# Render to whatever you need
open("pythagoras.svg", "w", encoding="utf-8").write(render_layout_svg(layout))
open("pythagoras.png", "wb").write(render_layout_png(layout))
open("pythagoras.pdf", "wb").write(render_layout_pdf(layout))
Knobs on organic_layout worth knowing:
length_decay(default0.97) — how aggressively branches shrink per generation. Closer to1.0keeps deep leaves spaciously apart.min_length(default22) — floor on per-generation branch length. Even afterlength_decayreduces the geometric length, no branch shrinks below this. Set to0for the pure geometric decay look.trunk_pull(default0.35) — how strongly each child's growing direction is pulled back toward the global trunk axis. Prevents long chains from curling into a tight spiral.balance(default"subtree_size") — assigns the larger subtree to the outside of each fork so the tree visually balances.
Compact JSON for the tree itself
The expression tree (independent of layout) round-trips through a tiny JSON-friendly array. Useful for storage, transport, or rendering on the JS side without re-parsing the EML string:
import json
from eml_math import to_compact, from_compact
compact = to_compact(tree) # list of nested arrays
encoded = json.dumps(compact) # plain JSON, ~7× smaller than the dict form
rebuilt = from_compact(json.loads(encoded)) # exact structural round-trip
Browser-side rendering (eml_flow.js)
eml_math.web ships a UMD bundle that renders the same layout JSON in
the browser. Two ways to use it:
from eml_math import flow_html, get_flow_js, FLOW_JS_PATH
# Self-contained HTML (the JS bundle is inlined — open the file, no server needed)
open("einstein.html", "w", encoding="utf-8").write(
tree.flow_html(width=900, height=600)
)
# Or grab the bundle to host yourself
open("static/eml_flow.js", "w", encoding="utf-8").write(get_flow_js())
print("Bundle path on disk:", FLOW_JS_PATH)
In your own page:
<script src="eml_flow.js"></script>
<script>
const layout = /* JSON dumped from to_layout(...) */;
document.body.innerHTML = EMLFlow.renderSVG(layout);
</script>
Batch generation — the famous-equations gallery
To regenerate every equation in the registry across all styles
(produces formal/, gentle/, organic/, tree/ folders with PNG +
PDF for each, plus a self-contained index.html):
python examples/famous_gallery.py [output_dir] # default: ./famous_gallery
Output structure:
famous_gallery/
├── index.html # browse every style of every equation
├── formal/
│ ├── png/einstein_e_mc2.png
│ └── pdf/einstein_e_mc2.pdf
├── organic/ (same layout)
├── gentle/ (same layout)
└── tree/ (same layout)
Famous-equations registry
from eml_math import all_famous_equations, get_famous
print([eq.name for eq in all_famous_equations()])
# ['Pythagoras', 'Euler identity', 'E = mc²', 'Schrödinger', ...]
einstein = get_famous("einstein_e_mc2")
print(einstein.eml_formula) # the EML-tree form
Rust accelerator (optional)
The wheel bundles a Rust extension exposing Rayon-parallel batch
operators (exp_n, ln_n, add_n, mul_n, sin_n, tension_n, …):
from eml_math.eml_core import tension_n
import numpy as np
xs = np.linspace(0, 5, 1_000_000)
ys = np.ones_like(xs)
out = tension_n(xs.tolist(), ys.tolist()) # parallel
A C/C++/Rust shared-library API lives under c_api/ for
embedding the operator into other languages. Build it with:
cargo build --release -p eml_c_api
Project layout
eml-math/ # this repo
├─ src/eml_math/ # Python sources (the slim core)
│ ├─ render/ # Abstracted renderer pipeline
│ │ ├─ layout.py # Reingold-Tilford tidy-tree
│ │ ├─ edges.py # straight / curve / spline path generators
│ │ ├─ palette.py # palette helpers
│ │ └─ renderers/ # SVG, HTML, PNG, PDF — pluggable Renderer protocol
│ └─ ...
├─ rust/eml_core/ # Rust accelerator (PyO3 module)
├─ c_api/ # C/C++/Rust shared-library bindings
├─ docs/ # Static-HTML site (index/api/guide/concepts)
└─ tests/ # pytest suite (2077 tests, 0 required deps)
License
MIT, © Andrew K Watts.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eml_math-1.3.0.tar.gz.
File metadata
- Download URL: eml_math-1.3.0.tar.gz
- Upload date:
- Size: 112.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d77212ec0621ae675d7ce4ba803dab365cb1d272bf46f680c8215c1bf898e3a
|
|
| MD5 |
847163273679ac3a9168c7e857fb22ab
|
|
| BLAKE2b-256 |
77e49cfed94d69122ec14d71e6e0a31280431c1982de05db82030a1608d3df1c
|
Provenance
The following attestation bundles were made for eml_math-1.3.0.tar.gz:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0.tar.gz -
Subject digest:
6d77212ec0621ae675d7ce4ba803dab365cb1d272bf46f680c8215c1bf898e3a - Sigstore transparency entry: 1431407791
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 402.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5f5d545680eb0757aea204a798582b61b747791fa5b04658340a11be3f07beb
|
|
| MD5 |
02a061778e33169f09a69d25e4545499
|
|
| BLAKE2b-256 |
f4a0828611b14f840ebc9a6e27619512578cade9c609d71aa712db6149e67701
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp313-cp313-win_amd64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp313-cp313-win_amd64.whl -
Subject digest:
c5f5d545680eb0757aea204a798582b61b747791fa5b04658340a11be3f07beb - Sigstore transparency entry: 1431408550
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 608.5 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f80efd35619c45ac1ae7b04eb5c7f2b25fc7cb6f270c4b2e55b5bc45b927181d
|
|
| MD5 |
9b763c3a541faf96866dabc353274c5f
|
|
| BLAKE2b-256 |
2a0e3efea3d5801ec793279dcd5e5a531c2fbd01fba54f8905684439075975cc
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
f80efd35619c45ac1ae7b04eb5c7f2b25fc7cb6f270c4b2e55b5bc45b927181d - Sigstore transparency entry: 1431409540
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 551.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c6c91034ac16bc2576767edae609f1b229e541054619897fc9fe129a97f696f
|
|
| MD5 |
565725ddecbac61300dddf62251dcf68
|
|
| BLAKE2b-256 |
9a702aa91d43c3be2ce7085b4a92b7aed6a1633cc5e4e18bf24b70e1e31eefeb
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
6c6c91034ac16bc2576767edae609f1b229e541054619897fc9fe129a97f696f - Sigstore transparency entry: 1431409899
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 486.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb67daa45193e199967fb2302f13076290a4285e2f2e81e0e8165596d172a6b9
|
|
| MD5 |
1c3398aba5f5a9082cad1537e5e92adc
|
|
| BLAKE2b-256 |
daf2b97238b7e64c33a3567e74643eab5f1e9dd899719b5e7ee8e41eb1874366
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
bb67daa45193e199967fb2302f13076290a4285e2f2e81e0e8165596d172a6b9 - Sigstore transparency entry: 1431408413
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 402.7 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cd3bab4459a4bf68e21cd72f94ba86aeb790883b5bbcd89ddb6bb23c1b98863
|
|
| MD5 |
38f57536cd437f13f5f4f9eea743c813
|
|
| BLAKE2b-256 |
0210396714a63b9783bb5dfd11c7f6e9165c6b975f3acb7f77ab1f09c4eb9f93
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp312-cp312-win_amd64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp312-cp312-win_amd64.whl -
Subject digest:
8cd3bab4459a4bf68e21cd72f94ba86aeb790883b5bbcd89ddb6bb23c1b98863 - Sigstore transparency entry: 1431409147
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 609.2 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
469646398154d15e8e968a4a2afdaa68b65efbf5b2ac00374bc90ff1dfc37b83
|
|
| MD5 |
ea80bd3385da59cdd409cd791a1d7175
|
|
| BLAKE2b-256 |
7846a97df995e3633953408952867f9a001290c12fe88a8eb2350ab453e89514
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
469646398154d15e8e968a4a2afdaa68b65efbf5b2ac00374bc90ff1dfc37b83 - Sigstore transparency entry: 1431408762
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 552.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3d92712dc5b7d340225e80a5ca7a7463dd710cb2a360d17d5e77d189e47084
|
|
| MD5 |
1562f9072a74910b13a42ef7b62069f4
|
|
| BLAKE2b-256 |
610868959f6626a73ab846c5267d1f04af6426c691885a4277016beda36fb604
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
de3d92712dc5b7d340225e80a5ca7a7463dd710cb2a360d17d5e77d189e47084 - Sigstore transparency entry: 1431409264
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 487.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
709f84e28fc15119acdc5c81f9d1581b803615224e9712d4c76bf0b15b50d592
|
|
| MD5 |
c7d56b77c5808ae7f7fd0e72d92e0fd2
|
|
| BLAKE2b-256 |
90a955ea31ad808ce23c93bac6f3e95ba648fe780e58f1125000631780f13b23
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
709f84e28fc15119acdc5c81f9d1581b803615224e9712d4c76bf0b15b50d592 - Sigstore transparency entry: 1431410160
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 404.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaf3f567c953e11e57264c2d957cac15513cbe7c48e8851f87a77f15e74d5a0c
|
|
| MD5 |
0fa3864cd506a797567a15873a031811
|
|
| BLAKE2b-256 |
d80045156d1da8db67b5237fc6e9381f4f00af1a9edff83be4cecd06db6e2507
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp311-cp311-win_amd64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp311-cp311-win_amd64.whl -
Subject digest:
eaf3f567c953e11e57264c2d957cac15513cbe7c48e8851f87a77f15e74d5a0c - Sigstore transparency entry: 1431408980
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 610.4 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82a6a6b094adc394f588cbe597ef7c4ca4217d720d1ae20694a867bececdb200
|
|
| MD5 |
46214240a6aa0ae7674d881c21c23e11
|
|
| BLAKE2b-256 |
0a0cfc4c412050797a79bae47f9879d436c176f3349822a437413ee2ea72157e
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
82a6a6b094adc394f588cbe597ef7c4ca4217d720d1ae20694a867bececdb200 - Sigstore transparency entry: 1431409449
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 553.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0cd712e5ee5f67d8b275c7099ef8f2b45eb27437ac4431c91800e55d16fd054
|
|
| MD5 |
54db2a064c8f4f19cc6f02733408e538
|
|
| BLAKE2b-256 |
04f92210fb23116755144dde17fa31d32be82d7af753729009f02d5c04264dd1
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c0cd712e5ee5f67d8b275c7099ef8f2b45eb27437ac4431c91800e55d16fd054 - Sigstore transparency entry: 1431408122
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eml_math-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: eml_math-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 489.4 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bca76d4516b0d03b290a8649bd0ba454485326b411aaed3dbb8adfb1e313d300
|
|
| MD5 |
1108c6ef8662c7c08fab8a46d7d48c46
|
|
| BLAKE2b-256 |
0530ef6e2e0e548fb3a55a65de70c23923c95de9bfea5bcabcba2b75f513b03c
|
Provenance
The following attestation bundles were made for eml_math-1.3.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
workflow.yml on andrewkwatts-maker/EML-Math
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eml_math-1.3.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
bca76d4516b0d03b290a8649bd0ba454485326b411aaed3dbb8adfb1e313d300 - Sigstore transparency entry: 1431409712
- Sigstore integration time:
-
Permalink:
andrewkwatts-maker/EML-Math@923cfd642ad38be6943b07ff722167a75c274f99 -
Branch / Tag:
refs/tags/v1.3.0 - Owner: https://github.com/andrewkwatts-maker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@923cfd642ad38be6943b07ff722167a75c274f99 -
Trigger Event:
release
-
Statement type: