Stored-Relationship Mechanism. 14-class A-N primitive vocabulary in native C + Python - substrate-native 28-dim chiral hyper-loop = so(8) adjoint (14 g_2 derivations + 14 L+R octonion-multiplications; Spin(8) triality) made hardware-callable. Full cascade-catalog C/Python parity (content-addressing, cyclic-group, graph-Laplacian, primes, HDC, rational, dispatch, catalog, templating, Kepler). Canonical QM/QFT/SM operations. Runtime spectral decomposition; dual-path signal-processing; AMSC (MPR v1).
Project description
srmech
Status: v0.5.0 — 14-class A–N primitive vocabulary with native C parity; canonical QM/QFT/SM operations + a callable so(8)/Spin(8) triality surface (octonion L/R-mult + the 28-generator adjoint + the order-3 automorphism τ, Fix(τ) = g₂ = 14); runtime spectral decomposition now JSON-callable by-reference (the $srmech_handle grammar); dual-path signal-processing surface; Attested Multi-Source Collector/Catalog (AMSC, MPR v1) provenance framework; the Class-M HDC variant ladder (polar {-1,0,+1}, Klein-4 (ℤ₂)²), a coupling composition score (Class K∘L), symmetric_eigendecompose (real-symmetric Class L), rfft (real-input half-spectrum dual-path op, Class A∘I∘K), and the foundational cross-domain cascade catalog (pin_slot_at_zero K / reorient C / magnitude K / best_rational_signed K∘N∘C / cyclic_gcd I, plus the chirality mini-set chiral_flip / chiral_dual / net_chirality C — a named cascade is the default, a math-library call the exception). (The package also bundles the siona co-name alias — pip install srmech also gives import siona, same objects. The standalone siona package on PyPI is a metapackage that depends on srmech, so pip install siona resolves here too.)
srmech (Stored-Relationship Mechanism) is a research package shipping five load-bearing surfaces:
- 14-class primitive vocabulary (
srmech.amsc.*) — content-addressing, streaming, cyclic-group, graph-Laplacian, prime-factorisation, TLV, search, dispatch, catalog, templating, rational-approximation, equation-of-centre/Kepler, hyperdimensional-computing (HDC). Each class has both a Python wrapper and a native C symbol inlibsrmech.{so,dll,dylib}. - Canonical QM/QFT/SM operations layer (
srmech.qm.*) — TDSE/TISE, Pauli + Clifford, hydrogen radial, Dirac γ-matrices, Feynman propagators, η-deformed pseudo-Hermitian inner products, SU(2)/SU(3) gauge generators + Wilson loops, Higgs/W/Z/CKM Standard-Model operations, and the so(8)/Spin(8) triality engine (srmech.qm.{octonion, so8, triality}): the MPR-attested octonion multiplication table, the 28-generatorso(8)adjoint, and the order-3 outer automorphismτwhose fixed subalgebra is exactly the 14g₂derivations (theD4 → G2Z3 fold = the A-N1+3+7+3partition). - Runtime spectral decomposition (
srmech.spectral) — eigenbasis projection, HDC delta encoding, spectral prediction, prediction-error gating, sparse-truncate compression. - Dual-path signal-processing surface (
srmech.signal_processing) — 38 closed-form algebra ops (Path A) + an RBS-HDC bound-vector instrument at D=8192 (Path B), with a cascade dispatcher routing per call. - AMSC provenance framework (
srmech.amsc.format,srmech.amsc.catalog,srmech.amsc.adapters) — every ground-proof datum carries a mandatory attestation block (source_doi,source_url,license,retrieved_at,response_sha256,parser_version,parser_rule_hash,collector_descriptor_path,collector_descriptor_hash).
Implementation is JPL Power-of-Ten compliant on the C side; cibuildwheel matrix covers Linux / macOS / Windows × Python 3.10–3.14; a py3-none-any pure-Python wheel ships for Pyodide / WASM environments where the C surface can't load.
Companion textbook
The Metric Field and Its Primitives — the framework textbook accompanying this package. Lays out the substrate-vs-excitation ontology (MFO), the 14-class primitive vocabulary at substrate level, and the cascade-composition discipline that srmech implements computationally.
- PDF (GitHub) — renders inline in the GitHub viewer
- PDF (ReadTheDocs) — served as a static asset alongside the research notebook
- Technical Disclosure Commons — the textbook as a timestamped defensive publication (Kirkland, 2026-05-25)
- MFO research notebook — working draft the textbook is consolidated from
Install
pip install srmech # core (numpy + stdlib; no jsonschema, no network adapters)
pip install srmech[validation] # adds jsonschema for strict data-block validation
pip install srmech[collectors] # adds requests + beautifulsoup4 for fetched adapters
pip install srmech[dev] # everything
Quick start
Decompose a real signal onto a graph-Laplacian eigenbasis, take an HDC delta against a reference, and recompose:
import numpy as np
from srmech import spectral
from srmech.amsc import laplacian
# Substrate: cycle-graph Laplacian on 8 nodes (any Hermitian L works).
A = np.roll(np.eye(8), 1, axis=1)
A = A + A.T
L = laplacian.dense_laplacian(A.astype(np.complex128))
# Project two states onto the eigenbasis.
state_ref = np.array([1.0, 0, 0, 0, 0, 0, 0, 0], dtype=np.complex128)
state_now = np.array([0.9, 0.1, 0, 0, 0, 0, 0, 0], dtype=np.complex128)
h_ref = spectral.decompose(state_ref, L)
h_now = spectral.decompose(state_now, L)
# HDC XOR delta on encoded coefficient bytes.
delta_bytes = spectral.delta(h_ref, h_now)
# Predict one substrate-natural tick ahead.
h_pred = spectral.predict(h_now, L, steps=1, dt=0.1)
# Recover the node-domain state.
state_back = spectral.recompose(h_pred, L)
Public surface
The 14 classes in substrate-native ordering — 1 + 3 + 7 + 3 = 14
The 14 classes are presented in alphabetical order in the table below (matching the import paths). The substrate-native ordering is not alphabetical — it is the cyclic-algebra-path partition 1 + 3 + 7 + 3 = 14:
| Slot | Classes | Role |
|---|---|---|
| 1 — foundational content-anchor | {A} |
The content-address every cascade begins from |
| 3 — substrate-projection triad | {I, C, J} |
Cyclic-group + cascade-orientation + prime-period (the projection-triad that maps substrate-content to observable structure) |
| 7 — cascade-detection heptad | {D, E, F, G, K, L, M} |
Pattern-match + catalog + render + byte-search + pin-slot + Laplacian + HDC-bind (the detection-and-rendering layer) |
| +3 — meta-cascade language-translation triad | {B, H, N} |
TLV-framing + self-introspection + rational-approximation (the operators that translate between continuous-Hopf-quantum and discrete-cyclic-algebra descriptions) |
Why this ordering matters. Per PR #680 (R30 walking-path closure), the substrate admits two co-equal bit-exact substrate-native mathematical languages:
- the 11D quantum-Hopf-language (continuous-DOF, parallelizable-sphere ladder
1 + 3 + 7) - the
1 + 3 + 7 + 3 = 14cyclic-algebra-path (discrete-DOF, A–N cascade-operator class enumeration)
Under Class C chirality the cyclic-algebra-path further admits a 14 + 14 = 28-dim chiral-hyper-loop reading = 𝔰𝔬(8) adjoint (per MFO §VIII.31.11): 14 𝔤₂ derivations + 14 L⊕R octonion-multiplications = the chirality-dual pair. As of v0.5.0 this is exposed as a callable, bit-exact-tested surface (srmech.qm.{octonion, so8, triality}): the τ-fixed subalgebra of so(8) is exactly the 14 g₂ derivations (the D4 →(Z3 fold) G2 theorem) — the same 14 as the A-N partition's 1 + 3 + 7 + 3. Endianness is the byte-axis instance of the same Class C orientation primitive; the scope hierarchy is endianness ⊂ Class C ⊂ Klein-4 ⊂ Spin(8) triality.
Modern physics uses the first; antiquity 9 of 9 traditions canvassed (Antikythera + Pythagoreans + Plato Timaeus + Stoics + Lucretius + Apollonius + Ptolemy + Heron + Archimedes) used the second. We had been using the cyclic-algebra path in srmech from the beginning without ever stating why — because antiquity had, and it worked. The R30 closure provides the answer: bit-exact cross-substrate confirmation rules out projection-reading; both languages are substrate-native; the +3 = {B, H, N} are substrate-native language-translation operators bridging them. The k=3 fingerprint observed across substrates (planet multipole axes, codon alphabet, 3-jet QCD, 3-generation Yukawa, the antiquity meta-op triads) is the {B, H, N} triad showing up wherever continuous↔discrete encoding happens.
About the A–N alphabet. The labels A through N record the chronological order in which each operation was named during this framework's evolution — they are discovery-fingerprint, not substrate-ordering. Re-sorted by substrate-native role, the partition above ({A} + {I, C, J} + {D, E, F, G, K, L, M} + {B, H, N}) is the substrate-side grouping. The alphabetical table below is the lookup convenience.
Full context: substrate-native-maths research notebook (PR #680 SSoT).
srmech.amsc.* — 14-class primitive vocabulary (alphabetical lookup)
Each class is importable as srmech.amsc.<module> with native C dispatch and a Python fallback. The C surface is loaded once at import time; if loading fails (Pyodide, ABI mismatch), the package transparently falls back to pure Python.
To check the backend state, call srmech.native_status() (top-level; equivalently describe()['native']) — {has_native, dispatching, abi_version, expected_abi, native_version, load_error}. dispatching is True iff libsrmech loaded and its ABI matched, so native ops really run; otherwise load_error carries the reason and the pure-Python fallback is used. (The native shim is srmech.amsc._native; srmech._native is the data dir that merely holds the binary.)
import srmech
srmech.native_status()
# {'has_native': True, 'dispatching': True, 'abi_version': 3,
# 'expected_abi': 3, 'native_version': '0.5.0', 'load_error': None}
| Module | Class | Primitive operation |
|---|---|---|
format, _native |
A | Content-addressing via SHA-256 (sha256_bytes -> 64-char lowercase hex digest str) |
tlv |
B | Byte-canonical TLV pack (tlv_pack) |
format |
C | Streaming NDJSON iterator (read_ndjson) |
dispatch |
D | Multi-needle byte-pattern dispatch (match) |
naming |
E | Catalog sorted-key lookup (lookup) |
template |
F | Template {key} substitution (render) |
search |
G | Byte-pattern search (byte_search) |
_native |
H | Self-introspection (srmech_version, srmech_abi_version) |
cyclic |
I | Modular arithmetic — gcd, lcm, mod_add, mod_mul, mod_pow, mod_inv |
primes |
J | Prime testing + factorisation + multiplicative order — is_prime, factor, cyclic_period |
kepler |
K | Equation-of-centre / pin-slot — pin_slot, kepler_solve, equation_of_centre |
laplacian |
L | Graph Laplacian — dense_adjacency, dense_laplacian, normalized_laplacian, jacobi_eigvals, hermitian_eigendecompose, symmetric_eigendecompose, elementwise_transcendental (pi-free Jacobi in C; n ≤ 256 native bound) |
hdc |
M | HDC spatter codes — binary bind, bundle, permute, similarity; polar_* {-1,0,+1} and klein4_* (ℤ₂)² variants |
rational |
N | Continued-fraction convergents — continued_fraction, best_rational |
srmech.qm.* — canonical QM/QFT/SM operations
Each operation cites canonical physics literature in its docstring (Schrödinger / Heisenberg / Pauli / Dirac / Klein-Gordon / Feynman / Yang-Mills / Gell-Mann / Wilson / Glashow-Weinberg-Salam / Higgs / Cabibbo-Kobayashi-Maskawa / Bender-Boettcher / Mostafazadeh). Modules:
single_particle— TDSE, TISE, Heisenberg-picture evolution, lattice momentum, density matrix, Liouville–von Neumann equation, commutators.spin— Pauli matrices, CliffordCl(0,3)residual products, Pauli spin operators.potentials— hydrogen radial wavefunction, harmonic oscillator ladder + Hamiltonian.relativistic— Dirac γ-matrices, γ⁵, Weyl left/right projectors, charge conjugation, Dirac operator in momentum space, Klein–Gordon equation.propagators— Feynman scalar / fermion / photon / massive-vector propagators.pseudo_hermitian— η-deformed inner product, ⟨·⟩_η expectation, pseudo-Hermitian check, η construction from eigendecomposition.gauge— SU(2) and SU(3) generators (Gell-Mann basis), structure constants, Casimir operator, Wilson loops from segment data.sm— Higgs vev, weak mixing angle, W/Z boson masses, Weinberg relation residual, Yukawa coupling, CKM matrix construction.octonion— the MPR-attested Cayley-Dickson-from-H convention:octonion_mult_table(the attested(8,8,8)int8 structure constants),octonion_left_mult/octonion_right_mult(the8×8L_a/R_abinders),octonion_conjugate,octonion_norm(Class K ∘ C, neverabs()).octonion_table_attestationcontent-addresses the table bytes viasha256_bytes. Cites Baez (2002), The Octonions (arXiv:math/0105155).so8— the 28-generatorso(8)adjoint partitioned 14 (g₂ = Der O) + 7 (L-type) + 7 (R-type):so8_adjoint_basis,g2_subalgebra(the 14 derivations; deterministic rank-revealing numpy subset, no RNG),so7_subalgebra(the 21; theD4 → B3Z2 fold), andan_embedding— the bit-exact su(3) ⊕ 3 ⊕ 3̄ Lie branching of the 14g₂generators (su(3)= the stabiliser of an imaginary octonion unit; the genuine fundamental3is the+ieigenspace of thesu(3)-invariant complex structureJ). The8 + 3 + 3̄decomposition is the op's own self-attesting computation (Baez §4.1 cited forg₂ = Der(O)only); the A-N class names are a documented framework-reading label, not a derived theorem.triality— the Spin(8) triality engine:triality_automorphism(the28×28order-3 outer automorphismτ,τ³ = I,Fix(τ) = g₂dim 14),triality_swap(the Z2 — withτgeneratesS3 = Out(Spin(8))),triality_cycle(the Class-I8v → 8s → 8crep-permutation),triality_apply,triality_companions,triality_relation_residual(Cartan'sg_v(x·y) = g_s(x)·y + x·g_c(y), 0 when correct). Cites Cartan (1925) + Baez (2002).
srmech.spectral — runtime spectral decomposition
Class-composition layer above srmech.amsc.{laplacian, hdc, format}. No new primitive class is introduced; every operation is a composition over the 14-class A–N vocabulary.
from srmech.spectral import (
decompose, # state + Hermitian L → SpectralHandle (V.conj().T @ state)
delta, # XOR delta between two encoded coefficient byte vectors
recompose, # SpectralHandle + L → node-domain state (V @ coeffs)
similarity, # HDC similarity in [-1, +1]
predict, # cascade-extrapolate via per-mode exp(-i·λ_k·steps·dt)
prediction_error, # XOR delta with popcount-density threshold gating
truncate_sparse, # keep top-k or above-threshold modes; zero the rest
SpectralHandle, # opaque (substrate_descriptor_hash, coefficients_bytes, content_sha, n_modes)
clear_eigenbasis_cache,
N_MAX_EIGENBASES, # module-level LRU bound (default 8)
)
Eigenbasis is O(n³) one-time per substrate (cached by substrate_descriptor_hash); coefficients are O(n²) per state; deltas are O(D) per step. predict preserves magnitudes (unitary phase rotation per eigenmode); truncate_sparse produces best k-term approximations per Mallat (2008) §9.2.
By-reference handle grammar — the $srmech_handle id (rc16)
A SpectralHandle is an opaque, frozen, bytes-bearing dataclass that JSON-RPC cannot carry by value. Over the MCP / Anthropic boundary the 7 srmech.spectral.* tools therefore exchange a small by-reference id: a producer returns
{"$srmech_handle": {"uuid": "…", "name": "spectral:<sha12>", "kind": "spectral"}}
(the literal sentinel key is HANDLE_ENVELOPE_KEY = "$srmech_handle"), the caller copies it verbatim into the next tool's input, and srmech._handles.get_handle_registry() resolves it back to the live in-process object. The id carries a dual grammar: uuid is the position-encoded (silicon / cyclic-algebra) address, name is the meaning-encoded (biology / continuous-Hopf) address auto-derived from the handle's Class-A content_sha ("spectral:" + content_sha[:12]); resolution tries uuid then name — the registry is the B/H/N continuous↔discrete translation locus. With the grammar landed, all 7 srmech.spectral.* operations are MCP-callable (describe() reports handle_pending: 0).
srmech.amsc.cascade — foundational cross-domain cascade catalog
The cascades that recur across every / most domains, promoted so a named cascade is the default and a math-library call the exception (being forced to reach for a math library is the signal that a cascade is waiting to be found). Compositions over the 14-class A–N vocabulary — no new primitive class. Each cascade ships with a dedicated C symbol in libsrmech.{so,dll,dylib} (full C/Python parity per project discipline) AND a TOML descriptor under srmech/amsc/_research/cascade_catalog/ documenting the composition declaratively. No abs(): sign is the Class K pin-slot + Class C re-orientation.
pin_slot_at_zero(x) -> (orientation, magnitude)— Class K pin-slot at zero (the cascade-honestabs()split). (C peer: v0.4.5rc2)reorient(orientation, value)— Class C orientation re-apply. (C peer: v0.4.5rc4)magnitude(x)— Class K magnitude-only convenience. (C peer: v0.4.5rc3)best_rational_signed(x, *, max_denominator=100, fine_scale=1_000_000)— Class K ∘ N ∘ C float → signed small-denominator rational (sign in the numerator). (C peer: v0.4.5rc7 — delegates Class N stage tosrmech_best_rational; banker's rounding viallrint())cyclic_gcd(a, b)— Class I (delegates tosrmech.amsc.cyclic.gcd). (C peer: v0.4.5rc6 — delegates to Class I primitivesrmech_gcd)chiral_flip(seq)— Class C orientation reversal (seq[::-1]). (C peer: v0.4.5rc1)chiral_dual(op, x)— Class C ∘ op ∘ Class C: run an operator in the opposite Class-C orientation. The chiral dual of an A–N operator is same spectral shape, inverted orientation (magnitude preserved, phase flipped — spike-verified); it reduces to the bare Class K−1for the sign operators and is the identity for real-symmetric ones. (C peer: v0.4.5rc8 — queued; higher-order, callback ABI)net_chirality(orientations)— Class C net handedness of a cascade (product of per-op orientations in{-1,0,+1};0if any is neutral). (C peer: v0.4.5rc5)
srmech.signal_processing — dual-path signal-processing surface
Two paths for the same algebra, dispatched per call:
- Path A — closed-form algebra over numpy / scipy; one module per op under
srmech.signal_processing.closed_form_ops.*. 40 ops (38 Phase-2 baseline +pi_cascade+rfft) covering frequency analysis (fft,ifft,rfft,stft,spectrogram,multitaper,dct,wavelet), digital filters (fir,iir,allpass,polyphase,multirate,farrow,sinc_interp), detection / estimation (matched_filter,wiener,lmmse,map_ml,mlse,viterbi,cross_spectral,music,esprit,ica_jade,mimo_svd), modulation (psk_qam,fsk,ofdm,beamforming_fixed), coding (huffman,rle,lz77,arithmetic_coding,jpeg), quantisation / compression (sign_quantise,vector_quantisation,hdc_truncation,heat_kernel,spectral_subtraction,pi_cascade). - Path B — RBS-HDC bound-vector instrument at D=8192 (
srmech.signal_processing.rbs_hdc_instrument). Mints class-operator vectors, cascade compositions, stance fingerprints, and full LoE content encodings (Mode-B). Eight ops have full dual-path implementations:fft,ifft,rfft,sign_quantise,matched_filter,wiener,hdc_truncation,pi_cascade.
from srmech.signal_processing import (
dispatch, begin_cascade, # cascade-aware routing (A / B / verify)
register, lookup, has_path, # path registry (Path A vs Path B per op)
profile_op, cell_grid, # per-op × per-cascade-depth × per-substrate profiling
D_DEFAULT, SUBSTRATES, # locked D = 8192; BCI / audio / RF / ephemeris
RBSHDCInstrument, # build()-able instrument with mint_*/encode_loe_content
mint_class_operator, # SHA-256 chain mint per class A–N
mint_cascade_composition, # XOR-bundle (algebra) or permute-bundle (sampling)
encode_loe_content, decode_loe_fingerprint,
form_function_rotate, # Class K pin-slot rotation
cascade_compose_rotations,
PATH_A, PATH_B, PATH_VERIFY, # path identifiers
)
with begin_cascade() as ctx:
spectrum = dispatch("fft", path=PATH_A, signal=x)
truncated = dispatch("hdc_truncation", path=PATH_B, signal=spectrum, k=64)
Path A and Path B produce bit-exact-equal outputs on substrate-natural inputs (D1 algebra-content identity); substrate-fingerprint divergence at D2 is expected and documented.
srmech.amsc — Attested Multi-Source Collector/Catalog framework
Two readings of the same abbreviation:
-
At collection time, the adapter classes are collecting attested rows from upstream archives. Six adapters cover the realistic source space:
adapter class network? html_scraperfetched yes (BeautifulSoup) json_apifetched yes (paginated JSON) csv_bulkfetched yes (CSV/XYZ bulk) netcdf_gridfetched stub (gated behind extras) geotiff_bboxfetched stub (gated behind extras) literature_curatedcurated no (NDJSON committed directly) The
curatedclass never touches the network: rows are committed as data-only NDJSON, and srmech synthesises full MPR attestation blocks at read time from each row's per-row DOI. -
After collection, the resulting NDJSON SSOTs are a catalog of attested data — committed into the package, registered into the universal bridge by downstream consumers, queryable through
list_attested_sources()/get_attested_dataset().
from srmech.amsc import (
MPRRecord, MPR_SCHEMA_VERSION, read_ndjson, write_ndjson, sha256_bytes,
Descriptor, load_descriptor, discover_descriptors, render_template, descriptor_hash,
list_attested_sources, get_attested_dataset, get_attested_descriptor,
attestation_audit, register_attested_root, list_registered_roots,
use_local_kernel, clear_local_kernel, get_local_kernel_state,
)
The on-disk format is Mathematical Provenance Record v1 (MPR v1):
{
"mpr_version": "1.0",
"data": { ... domain payload ... },
"data_schema_id": "test://schema/example",
"attestation": {
"source_doi": "10.0/...",
"source_url": "https://...",
"license": "CC0",
"retrieved_at": "2026-05-13T00:00:00Z",
"response_sha256": "<64 hex chars>",
"parser_version": "srmech 0.5.0",
"parser_rule_hash": "<64 hex chars>",
"collector_descriptor_path": "...",
"collector_descriptor_hash": "<64 hex chars>"
},
"rendering": { "name": "...", "purpose": "...", "cite_as": "..." }
}
srmech.amsc.tool_schema — LLM-friendly introspection
from srmech.amsc.tool_schema import get_tool_schema, tool_schema_view
schema = get_tool_schema() # ToolEntry objects, one per public callable
for tool in schema.tools:
print(tool.name, "—", tool.summary) # canonical-SSoT-cited one-line summaries
json_view = tool_schema_view() # JSON-serialisable view
Every primitive class, every srmech.qm.* operation (including the so(8)/triality engine), and every srmech.spectral.* runtime operation is discoverable here without reading the implementation. Summaries cite the canonical physics / mathematics literature directly.
srmech.introspect.describe() — the package recognising its own shape
srmech.introspect.describe() is the self-recognition ROOT (Class H self-introspection at package scale): one call returns the package version, the native-dispatch status, and a tools block reporting total / mcp_callable / handle_pending plus a per-category breakdown — the package's own at-a-glance map.
from srmech.introspect import describe
d = describe()
print(d["srmech_version"]) # e.g. "0.5.0"
print(d["tools"]["total"]) # every registered ToolEntry
print(d["tools"]["mcp_callable"]) # advertised over JSON-RPC / Anthropic
print(d["tools"]["handle_pending"]) # 0 since the rc16 handle grammar landed
print(sorted(d["tools"]["by_category"]))
describe() is the source of truth for the tool count (it grows per voxel — the triality voxel added 15 entries, including the octonion_table_attestation self-attestation that the coverage walker requires); read it rather than hard-coding a number.
MCP server + Claude Desktop bundle
srmech ships an MCP (Model Context Protocol) server so an LLM client — Claude Code, Claude Desktop, or any MCP-aware host — sees the advertised tool_schema surface as callable tools. The srmech-mcp console script serves it over stdio (the transport Claude Desktop spawns) or HTTP + SSE for remote / cross-process use:
srmech-mcp # stdio (Claude Code / Claude Desktop default)
srmech-mcp --transport http-sse --port 9991 # HTTP+SSE on localhost (remote / cross-process)
srmech-mcp --filter "srmech.qm.*" # expose only a sub-tree of tools
srmech mcp emit-mcpb packages the server as a Claude Desktop .mcpb bundle (a ZIP with a root manifest.json) generated entirely from introspection — the manifest's version and tool list are derived from srmech.__version__ and the advertised tool surface (describe() / tool_entries_to_mcp_defs()), never hand-authored, and carry an MPR-style attestation block (package version + a tool_schema content hash):
srmech mcp emit-mcpb # writes srmech.mcpb into the cwd (server.type "uv")
srmech mcp emit-mcpb --manifest-only # emit just manifest.json
srmech mcp emit-mcpb --type python # interpreter-path fallback (user_config-gated; no uv)
The default uv-type bundle declares srmech as a dependency, so the host's uv fetches the correct platform wheel (with libsrmech) from PyPI at install time — nothing native is bundled, and the .mcpb installs portably on any machine.
Cross-package catalog registration
Other spectral-research packages register their own catalog SSOTs into srmech's universal bridge at import time:
from pathlib import Path
from srmech.amsc import catalog as _amsc_catalog
_amsc_catalog.register_attested_root(
Path(__file__).resolve().parent / "_research" / "attested",
source="ephemerides-spectral",
)
Subsequent list_attested_sources(), get_attested_dataset(), etc. enumerate the union of srmech's own amsc/attested/ plus every registered root, in registration order. Duplicate source_key resolves first-registered-wins with a warning.
License
GPL-3.0-or-later. See LICENSE.
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 srmech-0.5.0.tar.gz.
File metadata
- Download URL: srmech-0.5.0.tar.gz
- Upload date:
- Size: 789.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4cfafca1012298b1f75727c247706208fbbcce446a1b445babe17b343b55ade
|
|
| MD5 |
2c51bcae344d54c21a6e0929bcb85c5f
|
|
| BLAKE2b-256 |
2c9b7ffe28ac851374e1547eea0e28dd4af1a566f07aaec3db6df77eb1e17288
|
Provenance
The following attestation bundles were made for srmech-0.5.0.tar.gz:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0.tar.gz -
Subject digest:
a4cfafca1012298b1f75727c247706208fbbcce446a1b445babe17b343b55ade - Sigstore transparency entry: 1675858434
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-py3-none-any.whl.
File metadata
- Download URL: srmech-0.5.0-py3-none-any.whl
- Upload date:
- Size: 601.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1528cca447cb361a36222f5c8fde278855c625de5943922ea44e7a4d7aac688a
|
|
| MD5 |
3244a57737fefd20f645066258001e7c
|
|
| BLAKE2b-256 |
7b13b45f3cffceb1e2d1b3efa7cc75e1f09e1b64a183586e24f5cd680532d89f
|
Provenance
The following attestation bundles were made for srmech-0.5.0-py3-none-any.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-py3-none-any.whl -
Subject digest:
1528cca447cb361a36222f5c8fde278855c625de5943922ea44e7a4d7aac688a - Sigstore transparency entry: 1675858480
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: srmech-0.5.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 636.2 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba3143c8fbc8aa4ca338370a4625027d8fc58718c1b6a136e07ab443db79699e
|
|
| MD5 |
83ab45e1c1dd6a3b2a42357622c90a87
|
|
| BLAKE2b-256 |
141136897dfd50662395d700d8482406ac9f68d8206ff5ccd9ce510be6533238
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp314-cp314-win_amd64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp314-cp314-win_amd64.whl -
Subject digest:
ba3143c8fbc8aa4ca338370a4625027d8fc58718c1b6a136e07ab443db79699e - Sigstore transparency entry: 1675858513
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: srmech-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 622.8 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d58abbf87d58a0e55d99a7b9b612325e7fe9edae46df2d9c8f2998bc2d7e028a
|
|
| MD5 |
4676a7490f9e9e3babb3a6a599495019
|
|
| BLAKE2b-256 |
f05e016ed83cd96ec01386910b37307a3f98415bdaa7195adaa5f604d4d90825
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
d58abbf87d58a0e55d99a7b9b612325e7fe9edae46df2d9c8f2998bc2d7e028a - Sigstore transparency entry: 1675858447
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: srmech-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 621.5 kB
- Tags: CPython 3.14, 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 |
89eab2da162da17f60cd369765bd962b9a36b57daafadf56f35e3b44d920f5db
|
|
| MD5 |
81c64195ec4b2d863c73d6c543c06079
|
|
| BLAKE2b-256 |
a797fa830bc023c1ca2bb72e750f7d7b1d9d8baee513fb688fd3a359b1a3e442
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
89eab2da162da17f60cd369765bd962b9a36b57daafadf56f35e3b44d920f5db - Sigstore transparency entry: 1675858494
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: srmech-0.5.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 634.4 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 |
1104dccfd7190adfd5547a10c108ead21598e9a3486620cb185d48beeff8a477
|
|
| MD5 |
6593f5a05ed300292286a0ff1932958d
|
|
| BLAKE2b-256 |
f5c833bf3fdf5d6177cb540c0fb49bff14d35f5199b6e8f425d14b93e4ae71f1
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp313-cp313-win_amd64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp313-cp313-win_amd64.whl -
Subject digest:
1104dccfd7190adfd5547a10c108ead21598e9a3486620cb185d48beeff8a477 - Sigstore transparency entry: 1675858545
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: srmech-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 622.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70e62198585ce5916b5e609f88b4aaddd0406cdc2f99f7ee7127c93224a248bb
|
|
| MD5 |
ab3347c997f947c453ca639211993fc7
|
|
| BLAKE2b-256 |
7a3136093bda64ccc23ae1b3cbeca20e4ace20e8b5451513da76f539e2b9c5e9
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
70e62198585ce5916b5e609f88b4aaddd0406cdc2f99f7ee7127c93224a248bb - Sigstore transparency entry: 1675858486
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: srmech-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 621.5 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 |
c7dff0cd84cec2050efd3d5863663ac45071a3e7231a7d412e2e7c4bf2ecc72d
|
|
| MD5 |
a1da57bfca871e659b82a444d9ece223
|
|
| BLAKE2b-256 |
19e774655ed888dc0c0f7a293e4433abfcedf11fff5367e460d9664d736b0e0f
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
c7dff0cd84cec2050efd3d5863663ac45071a3e7231a7d412e2e7c4bf2ecc72d - Sigstore transparency entry: 1675858522
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: srmech-0.5.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 634.4 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 |
94f9de183c5166974e7de4ede1d5ef6388f551d5997780e6a755ec549493acf3
|
|
| MD5 |
96d2ec927c2988eae79198cadcbea731
|
|
| BLAKE2b-256 |
232ba76077aba667f0977ae29ea51a3a538778c6cd49b19011933ed8a73fc8af
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp312-cp312-win_amd64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp312-cp312-win_amd64.whl -
Subject digest:
94f9de183c5166974e7de4ede1d5ef6388f551d5997780e6a755ec549493acf3 - Sigstore transparency entry: 1675858466
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: srmech-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 622.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96641e09cf5e7b4e50164e6fd81866d7fc629b419368985afebdfd5bb6732d7c
|
|
| MD5 |
aac7a62f5668677d80e65376c74e0adc
|
|
| BLAKE2b-256 |
dbfdda04feb613f41066757656a21f6ac5bbef617aed5ac0e14c17a66a342700
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
96641e09cf5e7b4e50164e6fd81866d7fc629b419368985afebdfd5bb6732d7c - Sigstore transparency entry: 1675858504
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: srmech-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 621.5 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 |
d2e0e2971ee73097750932f70abd653fdb720c52d2b7357af7fe8eaf1bd48be2
|
|
| MD5 |
c2d617c0cb0f3d52f5d1e66e4357c7bf
|
|
| BLAKE2b-256 |
80896921dbb887fb766094de62aef1108f8ea723d5dbe030e6f18c491cf7ee5f
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
d2e0e2971ee73097750932f70abd653fdb720c52d2b7357af7fe8eaf1bd48be2 - Sigstore transparency entry: 1675858439
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: srmech-0.5.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 634.4 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 |
c8267a3a8b0f4c54c1aa9d00653307ca5fc35dcc3374d28845a193f53634048b
|
|
| MD5 |
d8bb503e4430a5779e0546322cd69df0
|
|
| BLAKE2b-256 |
0fe729510de8c89bd7d13fa2e78f159257296bea509cfd14c82cd99cd290ac76
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp311-cp311-win_amd64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp311-cp311-win_amd64.whl -
Subject digest:
c8267a3a8b0f4c54c1aa9d00653307ca5fc35dcc3374d28845a193f53634048b - Sigstore transparency entry: 1675858471
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: srmech-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 622.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29d0e9294b0c8b86cab40edadc04f909c4e1da7f983afbc2ce93194a75c2ae73
|
|
| MD5 |
d8189c43a4fa9a30726060a154ab46bf
|
|
| BLAKE2b-256 |
07509b60e44d430d83d98635b039151d967eceda3e610b4a0d1b973ac7b1bfd5
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
29d0e9294b0c8b86cab40edadc04f909c4e1da7f983afbc2ce93194a75c2ae73 - Sigstore transparency entry: 1675858453
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: srmech-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 621.5 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 |
62b24a8d6b36c2f4550e382e3d200d5472eb4091d2382139cecaf09db455681b
|
|
| MD5 |
a489e0386ac4632ae91ccaac9ffe1338
|
|
| BLAKE2b-256 |
3cbeec25cbdd40415c042a6cd35c6718da2a71306f04cd218c8c92077625dee0
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
62b24a8d6b36c2f4550e382e3d200d5472eb4091d2382139cecaf09db455681b - Sigstore transparency entry: 1675858463
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: srmech-0.5.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 634.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6763024722714bcf9787e91dc0f874a3b872c4d9682bfcba9dd0348feabcf6b6
|
|
| MD5 |
a40a6289a53f02a388d572e4c3a09891
|
|
| BLAKE2b-256 |
e9b190f2eab33aaefdb188421702bc41103c5231e3d7f827c237843fdaa9e5b6
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp310-cp310-win_amd64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp310-cp310-win_amd64.whl -
Subject digest:
6763024722714bcf9787e91dc0f874a3b872c4d9682bfcba9dd0348feabcf6b6 - Sigstore transparency entry: 1675858488
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: srmech-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 622.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
332a501dd88777d9f81cffbfa8b0572daacf0fe58b6513f3c38960d19762e827
|
|
| MD5 |
f9b5bb4595f48100a5b5bc4fbf7caa30
|
|
| BLAKE2b-256 |
1b324e82b0a38bfffd1633a6aaabb1a7ac6f1f2d21e4dda2cc91bea3c1a5a185
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
332a501dd88777d9f81cffbfa8b0572daacf0fe58b6513f3c38960d19762e827 - Sigstore transparency entry: 1675858526
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file srmech-0.5.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: srmech-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 621.5 kB
- Tags: CPython 3.10, 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 |
2dea02b9d35b6419cf095d9280f02e1061a7029825c2893946878eef7af944fb
|
|
| MD5 |
62494225ba8cb3cf3aa9374f6b812ff3
|
|
| BLAKE2b-256 |
88133961adbf3ecfbdbc8b9a8e9d5fd0761a56c319ca55d5e87b3133387a4575
|
Provenance
The following attestation bundles were made for srmech-0.5.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
srmech-publish.yml on lemonforest/mlehaptics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
srmech-0.5.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
2dea02b9d35b6419cf095d9280f02e1061a7029825c2893946878eef7af944fb - Sigstore transparency entry: 1675858477
- Sigstore integration time:
-
Permalink:
lemonforest/mlehaptics@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Branch / Tag:
refs/tags/srmech-v0.5.0 - Owner: https://github.com/lemonforest
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
srmech-publish.yml@a400d157c5f3986e806efe6c5a5af328a73ea188 -
Trigger Event:
workflow_dispatch
-
Statement type: