Skip to main content

EML-tree representations of Clifford algebras, octonions, exceptional algebras (E7/E8/Freudenthal), named GR metrics, lattices, and Lorentz-invariant ops. Built on eml-math.

Project description

EML-Spectral

v1.3.0 · The physics-and-algebra companion to eml-math. Pure Python core, zero required dependencies, optional Rust acceleration and C API.

Python 3.11+ License: MIT

EML-tree representations of:

  • Clifford algebras Cl(p, q) with the geometric product, rotors, and the sandwich product
  • Octonions — 8-component non-associative normed division algebra (Fano-plane multiplication)
  • Exceptional algebrasFreudenthalTripleSystem (J₃(𝕆), 27D), E7_56 (56D rep), E8_248 (adjoint), E8xE8 (heterotic)
  • Lorentz-invariant operations on EMLPoints (functional spacetime namespace)
  • Named GR metricsMetricTensor.flat / schwarzschild / flrw / ads5_x_s5 / calabi_yau_3 / klebanov_strassler / heterotic_e8x8 / g2_holonomy
  • Lattices — E₈ root lattice, Leech lattice, Planck-scale discrete helpers
  • Spectral flow — the discrete Φ operator, racetrack fixed points, the (b₃/24)·χ_eff topological invariant

Install

pip install eml-spectral

This pulls in eml-math >= 1.3.0 automatically. Zero other required deps.

Optional extras:

pip install eml-spectral[ext]        # + numpy, sympy
pip install eml-spectral[precision]  # + mpmath
pip install eml-spectral[rust]       # + maturin (to build the Rust extension)
pip install eml-spectral[dev]        # + pytest, ruff, mypy, maturin

Quickstart

from eml_math import EMLPoint
from eml_spectral import (
    EMLPair, EMLMultivector, Octonion, basis_octonion,
    FreudenthalTripleSystem, E7_56, E8_248, E8xE8,
    MetricTensor, EMLNDVector, MinkowskiFourVector, FourMomentum,
    spectral_flow, racetrack_fixed_point, topology_invariant,
)
from eml_spectral import spacetime

# Lorentz-invariant Minkowski interval (preserved under boost)
p = EMLPoint(1.0, 2.718)
print(spacetime.minkowski_delta(p))
p2 = spacetime.boost(p, 0.693)
print(abs(spacetime.minkowski_delta(p) - spacetime.minkowski_delta(p2)))   # ≈ 0

# Discrete spectral flow Φ — racetrack fixed points
traj = spectral_flow(EMLPoint(1.0, 1.0), steps=10)
print(traj[-1].x, traj[-1].y)

# Schwarzschild metric — analytic Christoffel symbols
g = MetricTensor.schwarzschild(rs=2.0)
print(g.is_curved(EMLPoint(3.0, 1.0)))                                    # True

# Octonion multiplication via the Fano plane
e1, e2, e4 = basis_octonion(1), basis_octonion(2), basis_octonion(4)
print((e1 * e2).norm())                                                   # 1.0  (= e4)

# Clifford algebra rotor — preserves quadratic form
mv = EMLMultivector([EMLPoint(1, 1)] * 4, signature=(1, -1))
R = mv.rotor(angle=0.5, plane=(0, 1))
print(abs(mv.rotate(R).quadratic() - mv.quadratic()))                      # ≈ 0

# E₈ × E₈ heterotic gauge group — analytic Cabibbo proxy
ee = E8xE8()
print(ee.portal_coupling())                                                # 1/√6
print(ee.racetrack_potential()["lambda_eff"])                              # exp(−2π/24)

What's new in v1.3.0

Layer What's added
Datasheet Get() API Uniform with eml_math.Get() / metaphysica.Get() / future periodica.Get(). eml_spectral.Get('E8_dim') returns a JSON-serialisable dict for any spectral or math constant. 167 total constants reachable via one entry point (31 spectral + 136 math, delegated).
Rust acceleration eml_spectral_core PyO3+Rayon module: octonion_mul_n, octonion_norm_n, spectral_flow_n, spectral_flow_batch, geometric_product_n, e8_norms_squared_n. Pure-Python fallback always present.
C / C++ API c_api/eml_spectral.h plus libeml_spectral.{dll,so,a} — 14 exported functions covering spectral flow, octonions, Lorentz boosts, Schwarzschild Christoffels, Clifford geometric product, lattice norms. Zero deps.
Documentation Static-HTML site under docs/ — index, API reference, user guide, mathematical concepts. Mirrors eml-math's docs style.
Tests 1166 tests (was 873) — full coverage of exceptional/, spectral flow, functional spacetime, axiom invariants, frame-shift safety, datasheet API.
Polish Versions kept in sync with eml-math v1.3.0; _HAS_RUST flag exported; pyproject classified as Production/Stable.

Datasheet API

from eml_spectral import Get, list_constants

Get('E8_dim')          # {value: 248, kind: 'dimension', source: 'eml-spectral', ...}
Get('alpha_leak')      # {value: 1/√6, formula: '1/√6', kind: 'heterotic', ...}
Get('lambda_eff')      # racetrack-stabilised modulus exp(-2π/24)
Get('leech_kissing')   # 196560 — kissing number of the Leech lattice
Get('topology_invariant')  # 144 — the conserved Φ-flow Noether charge

Get('pi')              # delegated to eml-math: math.pi with EML derivation

list_constants()       # 167 total names (spectral + math, deduplicated)

Categories surfaced via the spectral catalogue:

  • Algebra dimensions: g2_dim, f4_dim, e6_dim, e7_dim, e8_dim, e7_56, j3o_dim, octonion_dim, quaternion_dim, spacetime_dim, leech_dim
  • Lattice constants: e8_min_norm, e8_min_norm_sq, e8_kissing (240), leech_min_norm, leech_min_norm_sq, leech_kissing (196560), d4_kissing (24)
  • Topology: b3 (24), chi_eff (144), topology_invariant
  • Heterotic / racetrack: alpha_leak (= portal_coupling), lambda_eff, cabibbo_proxy, n1_flux, n2_flux
  • Spectral / G₂ seeds: edof, g2_seed_t_re, g2_seed_lambda
  • Discrete / Planck: planck_d

Optional Rust acceleration

When the wheel ships with the prebuilt extension (or you build it yourself with maturin develop --release), batch operations dispatch to Rayon-parallel Rust:

from eml_spectral import _HAS_RUST, eml_spectral_core as core

print("Rust available:", _HAS_RUST)
print(core.spectral_flow_step(1.0, 1.0))                          # → (1.0, e)
print(core.octonion_norm_n([[1, 0, 0, 0, 0, 0, 0, 0]] * 1000))     # parallel batch
print(core.e8_min_norm_squared())                                  # 2.0

To build from source:

$env:PYO3_PYTHON = "C:\path\to\python.exe"   # Windows
cargo build --release -p eml_spectral_core
# the .pyd / .so lands in target/release; copy into src/eml_spectral/

Listed via dir(eml_spectral_core):

Function Purpose
octonion_mul, octonion_mul_n, octonion_norm_n Fano-plane multiplication, batched
spectral_flow_step, spectral_flow_n, spectral_flow_batch Φ iteration, batched starts
geometric_product_n Clifford geometric product for Cl(p, q), Rayon-parallel
e8_norms_squared_n, e8_min_norm_squared, leech_min_norm_squared Lattice norms
add_n Element-wise addition (sanity check / template)

Optional C API

A standalone C shared library — no Python needed — lives under c_api/. Build:

cargo build --release -p eml_spectral_c_api

Outputs (in target/release/):

  • eml_spectral.dll (Windows) · libeml_spectral.so (Linux) · libeml_spectral.a (static)
  • c_api/eml_spectral.h — full header with extern "C" guards

Exports 14 extern "C" functions:

Topic Functions
Spectral flow els_spectral_flow_step, els_spectral_flow, els_spectral_flow_batch
Octonion els_octonion_mul, els_octonion_norm, els_octonion_mul_batch
Lorentz els_minkowski_delta, els_rapidity, els_boost, els_boost_batch
Schwarzschild els_schwarzschild_christoffel
Clifford els_geometric_product (any Cl(p, q))
Lattice els_e8_norm_squared, els_leech_norm_squared

Minimal C example (c_api/example.c):

#include <stdio.h>
#include "eml_spectral.h"

int main(void) {
    double x, y;
    els_spectral_flow_step(1.0, 1.0, &x, &y);
    printf("Phi(1, 1) = (%g, %g)\n", x, y);   /* (1.0, 2.71828) */
    return 0;
}

Build the example (Linux/macOS):

gcc example.c -L./target/release -leml_spectral -lm -o example

Documentation

docs/ contains a static-HTML site (no build step, open files directly):

  • docs/index.html — landing page with quickstart
  • docs/api.html — full API reference (every public name in __all__)
  • docs/guide.html — 11-section user guide
  • docs/concepts.html — mathematical / physics primer
  • docs/style.css — shared with eml-math for visual parity

API surface

Major exports from eml_spectral:

# Algebras
EMLPair, EMLMultivector, Octonion, basis_octonion,
FreudenthalTripleSystem, E7_56, E8_248, E8xE8

# Spacetime  (functional namespace + class wrappers)
spacetime,                         # spacetime.minkowski_delta(p), boost(p, phi), …
MinkowskiFourVector, FourMomentum

# Spectral dynamics
spectral_flow, racetrack_fixed_point, topology_invariant, G2_SEEDS,
EMLState, simulate_pulses, simulate_flips, quantized_trajectory,
verify_conservation, frame_shift_count, find_resonance_bands

# Metrics  (factories: flat / schwarzschild / flrw / ads5_x_s5 / calabi_yau_3 /
#           klebanov_strassler / heterotic_e8x8 / g2_holonomy)
MetricTensor

# Lattices
EMLNDVector, e8_lattice_points, leech_lattice_points,
planck_delta, lattice_distance, is_lattice_neighbor

# Optional Rust flag
_HAS_RUST                          # True when eml_spectral_core is importable

Why a separate package?

eml-math is the universal-math toolkit (operator, expression trees, symbolic regression, flow rendering). It stays small and physics-agnostic.

eml-spectral houses every EML-tree construction that's domain-specific to physics or exceptional algebra. Splitting them lets casual users of eml-math install the core without pulling in the algebra/physics weight, while researchers add pip install eml-spectral for the full toolkit.


Project layout

eml-spectral/
├─ src/eml_spectral/          # Python sources (pure stdlib core)
│  ├─ pair.py                 # EMLPair (two-real complex)
│  ├─ geometric_algebra.py    # EMLMultivector — Clifford Cl(p, q)
│  ├─ octonion.py             # Octonion — Fano-plane product
│  ├─ exceptional/            # FreudenthalTripleSystem, E7_56, E8_248, E8xE8
│  ├─ metric.py               # MetricTensor + 8 factories
│  ├─ ndim.py                 # EMLNDVector + E₈ / Leech lattice generators
│  ├─ discrete.py             # Planck-scale lattice helpers
│  ├─ spacetime.py            # Functional Lorentz operations
│  ├─ momentum.py             # FourMomentum
│  ├─ fourvector.py           # MinkowskiFourVector
│  ├─ state.py                # EMLState
│  ├─ simulation.py           # simulate_pulses, verify_conservation, …
│  └─ spectral_flow.py        # Φ operator + topology_invariant + racetrack
├─ rust/eml_spectral_core/    # Optional PyO3+Rayon Rust extension
├─ c_api/                     # C/C++/Rust shared library
├─ docs/                      # Static-HTML documentation
├─ tests/                     # 1116 pytest tests
└─ examples/

License

MIT — © Andrew K Watts. Based on the EML Sheffer operator established by Andrzej Odrzywolek (arXiv:2603.21852v2, CC BY 4.0).

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

eml_spectral-2.0.0a0.tar.gz (51.0 kB view details)

Uploaded Source

Built Distributions

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

eml_spectral-2.0.0a0-cp313-cp313-win_amd64.whl (219.0 kB view details)

Uploaded CPython 3.13Windows x86-64

eml_spectral-2.0.0a0-cp313-cp313-musllinux_1_2_x86_64.whl (424.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

eml_spectral-2.0.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (369.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

eml_spectral-2.0.0a0-cp313-cp313-macosx_11_0_arm64.whl (318.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

eml_spectral-2.0.0a0-cp312-cp312-win_amd64.whl (219.1 kB view details)

Uploaded CPython 3.12Windows x86-64

eml_spectral-2.0.0a0-cp312-cp312-musllinux_1_2_x86_64.whl (424.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

eml_spectral-2.0.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (369.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

eml_spectral-2.0.0a0-cp312-cp312-macosx_11_0_arm64.whl (318.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

eml_spectral-2.0.0a0-cp311-cp311-win_amd64.whl (219.7 kB view details)

Uploaded CPython 3.11Windows x86-64

eml_spectral-2.0.0a0-cp311-cp311-musllinux_1_2_x86_64.whl (425.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

eml_spectral-2.0.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

eml_spectral-2.0.0a0-cp311-cp311-macosx_11_0_arm64.whl (319.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file eml_spectral-2.0.0a0.tar.gz.

File metadata

  • Download URL: eml_spectral-2.0.0a0.tar.gz
  • Upload date:
  • Size: 51.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eml_spectral-2.0.0a0.tar.gz
Algorithm Hash digest
SHA256 8aba043a26c6d87786a56545326ec7204c82e41ca933d0bd71824cd27c47416d
MD5 a861d9ebe215c69a27a795df57b6e5b0
BLAKE2b-256 ede9d1a3cfc98bf32dd3c9a219e0544b5b237c4839dac886f7909c0603ee4ecb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0.tar.gz:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 62115d43e8c5826bbde7277694ccba84377c74c2d7cb4fbf7163ba7a25b6869b
MD5 a39218b1bf2dd32c36f337ba750078b0
BLAKE2b-256 607705ad5abbc48426350f6013366f9bc5e9c0dc6794bfe1c7bfc8669c10604b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp313-cp313-win_amd64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bd8959048ad036ddaa4917894cd99439660b711d1f982a844edab134a793f968
MD5 61706c33dead6917522ae8b9ddc00c20
BLAKE2b-256 a99e127306f5ebf2cf5c63fd2a4b3a848db52389ec23dfa59c38cade8d5ba196

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b6ee86090065835d9968718acf04d46556f77ef6a57f97e8ec69b383b111cd1
MD5 bce389b54e81b3f8bacfdb7466b3e50e
BLAKE2b-256 8a6c3a8664b31272da71992bba60c15ab198ec5c644ec5643c3539fe34d83382

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed2b8764ae496093e15071158b373291fd11ec1389f31203a5408f0532a86e01
MD5 3f77c7ce0b346b61d43e4b5c0a5c0fb6
BLAKE2b-256 fe5116fb156a1a4541006bca19a4ded8e8e9031320bed92d42c6ee3e88a8106f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 85df0d3a898d0963251be96a8797d6a06a1ecfcb17f2ebd1e452d3d3357c9c90
MD5 9a0332c299cd7063fb59591f220613a7
BLAKE2b-256 31699bb4b6151e4cf30d5a304f4c82ec2f25101358d0435800784b15a05bd01c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp312-cp312-win_amd64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a24187dc7156a31233ddcd2604f7a2eef190e2c1e561fb9e7423e771a53656e8
MD5 dcdee420f5a269a244d07fb866ac55a0
BLAKE2b-256 b8d73a09484040016c3d04660fc950e4af3040599a4a2abf75a1355452029c17

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c74d031e62bfcd6e9e0c947cc62360c1d7a65f7749c54754e3f39453dbc47989
MD5 b8142327f1c3bfef968173dabf874a30
BLAKE2b-256 9f5ba27236d8ff34345f51ec49ee62c427e760b30638d30434fd0ec041f48270

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc8575505a016ea508ad2ae6d6010fac6a1c8c828b2ea4da27cd4b8892403d36
MD5 6c0b29217eb3aa9b627ad5258a8205d0
BLAKE2b-256 a77f7e71bb6737ef785b00038633f6a8796c4e665556ed815c4439aeb0f637a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2b4d416833672b3f7f869a3eca82363ce69ae19aef97e8c3b1303fe950bc56f6
MD5 eb8548d5b8c5ac96d43d91d40140ca9a
BLAKE2b-256 be7351e0e47d19e16e9174106ccb1efce827a27fb60e83149ba803fb41931bf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp311-cp311-win_amd64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0dfddc85059172499a7232439213bee97956eb89ef4b2e4947ec2593d596f1a9
MD5 81de1342cfba6abe3a5c3713a2a8b3cf
BLAKE2b-256 5624052607c7339722026a13a0442499c0a7a7182c384ac9525203e53f36df78

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1788c5eea00562399938c49f309e6115236a75dd6715d46ead5f9516d25e5a5c
MD5 1632203934482e5c568f43ce458b30c1
BLAKE2b-256 42274c8f09abe28e6b0a20f5b29b8896bafceaeef69c790a64d8beed13cd6a1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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

File details

Details for the file eml_spectral-2.0.0a0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eml_spectral-2.0.0a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 129a64ac642b2b8622c5feea653dba3f00d369e1c287ca8213752407f6048797
MD5 a713375c92502c28ac28b80d222a0585
BLAKE2b-256 a7260362e3a697d240229558ab62eac18bd312ecdbf040b23ee1d0fff2fae622

See more details on using hashes here.

Provenance

The following attestation bundles were made for eml_spectral-2.0.0a0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: workflow.yml on andrewkwatts-maker/EML-Spectral

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