Skip to main content

High-precision HDC reference instrument for the solar system based on JPL DE441 (native C backend + runtime kernel patching overlay)

Project description

ephemerides-spectral

High-precision HDC reference instrument for the Sol Star System.

Overview

ephemerides-spectral is a hyperdimensional-computing instrument that encodes the barycentric state of our star system using high-precision ephemeris data (NASA JPL DE441 / DE442) as resonant phases over a graph Laplacian.

Three interchangeable backends ship with the package:

  • bip (default) — bit-serialised integer ALU in pure Python. Phase composition lives in the cyclic group Z_{2^32}; binding is (φ_1 + φ_2) mod 2^32, which is implicit uint32 overflow — no FPU in the hot path. 305× faster than the FPU reference; 256 KB state at D=65536. Always available.
  • c (v0.3.1+) — native C library (libephemerides_spectral.{so,dll,dylib}) bundled in the platform wheel under _native/, loaded via ctypes. Byte-for-byte identical phase residues to bip; ~1000× speedup on the chunk loop (encode at +20 yr: 46 ms Python → 0.04 ms C). Falls back transparently to bip if the binary isn't loadable (sdist installs without a C toolchain, Pyodide / WASM, the pure-Python fallback wheel).
  • complex128 — FPU reference encoder with unit-norm complex Gaussian bases. Used for the algebraic identities (Syzygy operator, observer binding) and as a regression baseline.

Both backends implement the same algebraic substrate (cyclic-group representation of celestial phase-space, graph-Laplacian eigenbasis); they trade precision for speed.

Companion Project

ephemerides-spectral lives in the same docs/antikythera-maths/ folder as antikythera-spectral because the two share the spectral / cyclic-group framing and the Pyodide bridge contract. They are not consolidated: antikythera-spectral encodes a specific bronze-age mechanism (940-tooth Callippic gear DAG) while ephemerides-spectral encodes the live JPL DE441 ephemeris with phase-dependent (breathing) gravitational couplings. The chess-spectral notebook §20.13–§20.17 calls out the cross-pollination — chess uses Z_{640} (paying an explicit % 640 per op); ephemerides uses Z_{2^32} (free uint32 overflow).

Key Capabilities

  • Graph Laplacian Propagator: Diagonal content = Newtonian mean motions + Mercury 43"/century post-Newtonian correction. Off-diagonal = gravitational fiber couplings (planet-sun, moon-planet, J–S 5:2 resonance, asteroid-Jupiter).
  • Phase 9 "Breathing" Couplings: Off-diagonal weights modulate with the resonant phase difference cos(n_a·φ_a − n_b·φ_b). Formally a state-dependent (non-autonomous) graph Laplacian / adaptive Kuramoto-family network with phase-difference-dependent coupling — see the research notebook §1.4 for the full positioning across spectral-graph-theory / dynamical-systems / DNLS-on-a-graph vocabularies. Implemented end-to-end without FPU using a 1024-entry int32 cosine LUT (Q1.14 amplitude, 4 KB).
  • Sol Star System Roster: 26 bodies — Sun, planets (incl. Pluto), 12 major moons, 4 main-belt asteroids.
  • Observer-Agnostic Views: Unitary binding to generate topocentric "Local View" hypervectors at any (lat, lon) on any body.
  • Spectral Syzygy Detection (point-evaluation, v0.3.0): Inner product with the Syzygy Operator (Sun + Moon + lunar Node) gives an eclipse / conjunction probability at a given JD. Limitation: this is the encode-then-check pattern — the wrong way to use the encoder for searching syzygies in a window. The HDC-native pattern uses the natural cyclic-group decomposition (Saros / Metonic / synodic month) to enumerate candidate JDs without per-JD encoding, then confirms via spectral projection. v0.4+ ROADMAP item: replace the point-evaluation surface with a window search.

Resolution Scaling

Temporal resolution of a residue shift scales inversely with hypervector dimension D:

D Earth resolution Use case
2^16 ~8 minutes default; long-term mapping
2^19 ~1 minute medium-cadence events
2^25 ~1 second high-cadence local readout

Installation

pip install ephemerides-spectral

For full ephemeris support (skyfield + JPL DE-kernels):

pip install "ephemerides-spectral[ephemeris]"

CLI Usage

The package ships a rich ephemerides-spectral console script. Use --help on the top-level or any sub-command:

ephemerides-spectral --help
ephemerides-spectral encode --help
ephemerides-spectral breathing --help

Sub-command Cheat-Sheet

# Package version + frozen-data manifest
ephemerides-spectral version

# All 26 bodies in the Sol Star System Laplacian
ephemerides-spectral bodies

# Earth temporal resolution at the default D=65536
ephemerides-spectral resolution --body earth

# Encode J2000 with the integer ALU backend (default)
ephemerides-spectral encode --jd 2451545.0

# Same JD with the FPU complex128 reference encoder
ephemerides-spectral encode --jd 2451545.0 --backend complex128

# Topocentric view from London at J2000
ephemerides-spectral local-view --jd 2451545.0 --body earth --lat 51.5 --lon -0.1

# Syzygy alignment probability AT a JD (point evaluation; encode-then-check)
# v0.4+ ROADMAP: window search via the natural cyclic-group decomposition
ephemerides-spectral eclipse --jd 2451545.0

# Off-diagonal couplings (Laplacian fiber bundle)
ephemerides-spectral couplings

# Phase 9 breathing modulation (Jupiter-Saturn 5:2 by default)
ephemerides-spectral breathing --jd 2458850.0

# Override resonance: 3:2 Neptune-Pluto
ephemerides-spectral breathing --jd 2451545.0 \
    --pair-a neptune --pair-b pluto --n-a 3 --n-b 2

# Mars Sol Date / Mars Coordinated Time at a JD (v0.3.0)
ephemerides-spectral time-mars --jd 2451549.5     # → MSD ≈ 44795.99
ephemerides-spectral time-mars --msd 50000        # invert: MSD → JD_UTC

# Mean lunar synodic + sidereal age/phase at a JD (v0.3.0)
ephemerides-spectral time-lunar --jd 2451545.0

# Lunar-time kernel metadata (LTE440 + LTC status; v0.3.0)
ephemerides-spectral lunar-kernels

# Resonance-derived natural cyclic group (v0.3.0)
ephemerides-spectral natural-group     # → Z_30 = Z_2 × Z_3 × Z_5

# Spectral-native syzygy window search (v0.3.1+)
# Replaces the v0.3.0 point-evaluation `eclipse --jd` for window queries.
# ~1000× faster than encode-then-check; uses the closed-form Saros /
# Metonic / synodic / draconic-month enumeration.
ephemerides-spectral find-syzygies --from-jd 2460311 --to-jd 2460676

# Diagnosed-fiber runtime kernel patching (v0.4.0+)
# Patches sit beside the published kernel as DATA, not code edits, and
# contribute per-body residue deltas at encode time. The kernel's
# published bytes never change. Three patches in the bundled CATALOG
# authored from v0.3.1's de441_error_spectrum FFT (Mars 7.96 yr,
# Mercury 10.69 yr, Jupiter–Saturn 9.56 yr coupled).
ephemerides-spectral patches catalog
ephemerides-spectral patches apply --name jupiter-saturn-9.56yr-coupled
ephemerides-spectral patches active
ephemerides-spectral patches clear

All sub-commands emit JSON to stdout; pass --no-pretty (top-level flag, before the sub-command) for compact single-line output suitable for piping into jq or downstream tooling. Every response carries an ok field; ok: false returns exit code 1 with an error message.

Python API

from ephemerides_spectral import default_encode, bridge

# One-liner: encode a JD as a system state under the default backend.
state = default_encode(jd=2451545.0)            # uint32[26] residues (BIP)
state = default_encode(jd=2451545.0, backend="complex128")  # complex128[D]

# JSON-friendly bridge surface (Pyodide / web frontend)
bridge.get_version()                             # version + manifest
bridge.list_bodies()                             # 26-body roster
bridge.get_resolution(body="mars", D=65536)      # sec/residue
bridge.get_system_state(jd_tdb=2451545.0)        # encode + per-body residues
bridge.get_local_view(jd_tdb=2451545.0, body="earth", lat=51.5, lon=-0.1)
bridge.get_eclipse_probability(jd_tdb=2451545.0)
bridge.list_couplings()                          # Laplacian fibers
bridge.get_breathing_modulation(jd_tdb=2451545.0)  # Phase 9 LUT inspector

# v0.3.0 surface
bridge.jd_to_mars_time(jd_utc=2451549.5)         # MSD + MTC (Allison & McEwen 2000)
bridge.mars_time_to_jd(msd=50000)                # MSD → JD_UTC inverse
bridge.get_lunar_phase(jd_tdb=2451545.0)         # mean synodic + sidereal phase
bridge.list_lunar_kernels()                      # LTE440 metadata + LTC status
bridge.get_natural_resonance_group()             # Z_30 = Z_2 × Z_3 × Z_5

# v0.4.0 surface — runtime kernel patching (overlay on the spectral kernel)
bridge.list_catalog_patches()                    # bundled CATALOG (3 patches)
bridge.apply_patch("mars-7.96yr-diagonal")       # load from CATALOG
bridge.apply_custom_patch(name="my-patch", kind="sinusoid",
                          body="earth", amplitude_deg=0.93,
                          period_days=1940.2)    # FFT-diagnosed custom patch
bridge.list_active_patches()                     # what's currently overlaid
bridge.clear_patches()                           # wipe back to byte-exact baseline

Every bridge method returns a Pyodide-JSON-serialisable dict with ok: True/False. Caller-side errors return {ok: False, error: "..."} rather than raising — designed for crossing the Python/JS boundary cleanly.

Performance & Footprint

ephemerides-spectral is designed for high-performance galactic mapping on edge devices where large SPICE kernels (the 3.3 GB DE441) are prohibitive.

Memory Footprint

Component Format RAM / Flash Description
State (BIP) uint32[D] 256 KB At D=65536; pure cyclic-group residues.
State (complex128) complex128 1.0 MB At D=65536; FPU reference encoder.
Channel Bases mixed ~26 MB Full 26-body roster; pageable from Flash.
Laplacian (L) complex128 < 15 KB 26 × 26 interaction matrix.
Cosine LUT (Phase 9) int32[1024] 4 KB Off-diagonal breathing modulation.
DE441 Truth BSP 3,300 MB Original JPL source (calibration only).

Compression vs DE441: > 100:1. Once calibrated, the HDC instrument functions as standalone algebraic truth — no kernel needed for propagation, local-view extraction, or syzygy detection.

Microcontroller Compatibility

The BIP backend is the natural production target for embedded use:

  • ESP32-S3 / ESP32-C6 (8 MB+ PSRAM): full 26-body BIP state in PSRAM, microsecond-latency phase updates via uint32 adds.
  • ARM Cortex-M7 (Teensy 4.1, etc.): integer multiply-accumulate suits the omega * delta_t step path natively; cosine LUT fits in tightly-coupled memory.
  • RISC-V / Edge AI accelerators: (φ_1 + φ_2) mod 2^32 is a single uint32 add — directly mappable to vector-extension lanes.

Instead of searching 3.3 GB of Chebyshev coefficients, these devices evolve the entire Sol Star System phase-space using integer additions and a 4 KB cosine table.

Honest accuracy: DE441 full-epoch sweep (v0.3.0)

research/de441_sweep.py runs the BIP integer-ALU encoder at 15 sample points spanning J2000 ± 14,000 yr (just inside DE441's ~30,000-yr coverage window) and compares per-body ecliptic-longitude residues against DE441 ground truth. Results — sorted by max error, descending:

Body n median (rad) p95 (rad) max (rad) max (deg)
jupiter 15 1.357 2.937 3.070 175.92
saturn 15 1.415 2.990 3.062 175.46
neptune 15 0.691 2.748 2.778 159.18
pluto 15 0.791 2.524 2.721 155.92
moon 15 1.084 2.559 2.670 153.00
mercury 15 0.356 1.444 1.461 83.74
mars 15 0.117 0.250 0.253 14.52
uranus 15 0.047 0.120 0.141 8.06
venus 15 0.024 0.114 0.124 7.11
earth 15 0.011 0.104 0.115 6.59

Earth phase error scales roughly linearly with horizon:

Δt (yr) Earth err (deg)
0 0.000
±1 0.001–0.004
±10 0.006–0.008
±100 0.065–0.069
±1000 0.65–0.68
±5000 2.93–3.31
±10000 4.70–5.71
±14000 5.48–6.59

Three regimes, honestly named

  • Sub-10° at multi-millennium horizons (Earth, Venus, Uranus): bodies whose mean motion + small eccentricity + the static gravitational fiber couplings approximate the actual orbit well. Earth benefits from being the calibration body for Mercury's PN diagonal.
  • Tens of degrees (Mars 14.5°, Mercury 83.7°): dynamics include eccentricity + long-period perturbations the Phase-9 model captures only partially. Mars has no resonance entry; Mercury's PN diagonal is linear whereas its actual perihelion precession at multi-millennium scales has higher-order terms.
  • Phase-scrambled (Jupiter, Saturn, Neptune, Pluto, Moon all hit >150°): bodies whose secular drift is dominated by resonant perturbations the Phase-9 model approximates phenomenologically. The α = 0.1 modulation depth is the right order of magnitude but wrong-in-detail; over ±14,000 yr that wrong-detail accumulates to a ~3 rad phase deficit.

This measures how much of multi-millennium ephemeris our v0.3.0 model captures, not how accurate the BIP encoder is at its design horizon. v0.3.0 is calibrated for the ±20-yr horizon (0.0002 rad ≈ 0.012° Earth phase floor); the multi-millennium errors are the cost of running a model trained for short-horizon dynamics far past its design point. The v0.4+ first-principles per-resonance α derivation is the planned fix — see ROADMAP.

Encoding timings (BIP integer-ALU path, default D = 65536)

Δt (yr) encode wall time
0 0.2 ms
±1 0.7–1.3 ms
±10 4.2–6.8 ms
±100 44.7–45.8 ms
±1000 447–483 ms
±5000 2.38–2.44 s
±10000 4.34–4.44 s
±14000 6.18–6.37 s

Linear in |Δt| — one 30-day chunk per integration step. At the v0.1.0 design horizon (±20 yr, ~243 chunks) the encode is ~1.85 ms; at ±14,000 yr (~170k chunks) it's ~6.4 s. Median across the sweep: 447 ms; max: 6.4 s.

Status

  • v0.3.0 (current) — Mars Sol Date / Mars Coordinated Time, mean lunar primitives, LTE440 awareness, DE441 full-epoch sweep, natural-resonance gear group. See CHANGELOG.md for the full v0.3.0 entry.
  • v0.2.0 — Phase 9 coverage extension to four resonance pairs (J–S 5:2, N–P 3:2, Io–Europa 2:1, Europa–Ganymede 2:1).
  • v0.1.0 — first PyPI release. 26-body Sol Star System Laplacian + Phase 9 breathing couplings + ALU-native BIP encoder.

Roadmap

  • v0.4+ first-principles per-resonance α — replaces phenomenological α = 0.1 with values derived from a Hamilton/Delaunay-variable Lagrangian (Lie-series perturbation theory around each resonance). The DE441 sweep above is the empirical motivation: bodies inside the resonance set phase-scramble at multi-millennium horizons because their α values are wrong-in-detail.
  • v0.4+ DE441 vs DE442 spectral error signature (experiment) — build two BIP instruments, one calibrated only from DE441, one only from DE442; encode the same JD on both; project the per-body residue deltas onto the encoder's eigenbasis. If the deltas have a coherent spectral signature, DE442's corrections to DE441 live in a specific eigenmode subspace — which means we could predict where ephemeris error correction is structurally needed without needing the corrected kernel.
  • v0.4+ spectral syzygy window search — replaces the v0.3.0 point-evaluation eclipse --jd (encode-then-check) with a find-syzygies --from-jd ... --to-jd ... window search that uses the encoder's natural cyclic-group decomposition (Saros 6585.32 d, Metonic 19 yr, synodic month 29.53 d, lunar nodes 18.6 yr). The bronze antikythera's Saros dial doesn't encode-and-check either — it just turns gears whose ratios are the Saros cycle. The HDC-native pattern is to enumerate window-multiples of the slow modes in closed form from the Q-format omega values, then confirm each candidate by spectral projection. This reduces the cost from O(window_days × encode_cost) to O(n_syzygies × confirmation_cost).
  • v0.5+ CORDIC topocentric rendering — the cosine LUT is half a CORDIC kernel; the rotation half can subsume the topocentric lat / lon observer-bind, taking that path off the FPU entirely.
  • v0.5+ LTC (Lunar Coordinated Time) — pending NASA + international space-agency standardisation (target ~2026–2028 per April 2024 White House directive). LTE440 (Lin et al. 2025) ships the underlying SPICE-format conversion ephemeris with 0.15 ns accuracy through 2050; the bridge gains an LTC namespace mirroring MarsTime once the LTC epoch + day-length convention are formalised.
  • Phase 10 resonance coverage — Jupiter–Uranus 7:1, Saturn–Uranus 3:1, Saros / Metonic / Earth–Moon precession entries. Each adds a row to the RESONANCES table; the integer-LUT machinery is shared.
  • Bit-serial hardware port (Verilog/SystemC) — the cosine LUT becomes block RAM, the omega * step becomes a fixed-precision multiplier.

License

GPL-3.0-or-later.

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

ephemerides_spectral-0.4.1.tar.gz (79.8 kB view details)

Uploaded Source

Built Distributions

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

ephemerides_spectral-0.4.1-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

ephemerides_spectral-0.4.1-cp314-cp314-win_amd64.whl (82.5 kB view details)

Uploaded CPython 3.14Windows x86-64

ephemerides_spectral-0.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

ephemerides_spectral-0.4.1-cp314-cp314-macosx_11_0_arm64.whl (77.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ephemerides_spectral-0.4.1-cp313-cp313-win_amd64.whl (81.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ephemerides_spectral-0.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.6 kB view details)

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

ephemerides_spectral-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (77.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ephemerides_spectral-0.4.1-cp312-cp312-win_amd64.whl (81.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ephemerides_spectral-0.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.6 kB view details)

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

ephemerides_spectral-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (77.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ephemerides_spectral-0.4.1-cp311-cp311-win_amd64.whl (81.5 kB view details)

Uploaded CPython 3.11Windows x86-64

ephemerides_spectral-0.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.6 kB view details)

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

ephemerides_spectral-0.4.1-cp311-cp311-macosx_11_0_arm64.whl (77.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ephemerides_spectral-0.4.1-cp310-cp310-win_amd64.whl (81.5 kB view details)

Uploaded CPython 3.10Windows x86-64

ephemerides_spectral-0.4.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.6 kB view details)

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

ephemerides_spectral-0.4.1-cp310-cp310-macosx_11_0_arm64.whl (77.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file ephemerides_spectral-0.4.1.tar.gz.

File metadata

  • Download URL: ephemerides_spectral-0.4.1.tar.gz
  • Upload date:
  • Size: 79.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ephemerides_spectral-0.4.1.tar.gz
Algorithm Hash digest
SHA256 cef7dc33d332d29d9653a2113338b9384151538d3ee8d94db6c49830292b2056
MD5 431db211eec97c50514ab5cf68426a31
BLAKE2b-256 9f247e59e6329c8a329ee944c4f07c5563414cf3538e72857a752737c7511e40

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1.tar.gz:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b14bb2fff81410eebf5f78ce47a6f0ceccdc2de6483a3618a8208403745d46d3
MD5 8b589aba0be18b3f29a417e8127f76af
BLAKE2b-256 619288015943634c17b017299c26fc3b2f213d5cba3f52deb11d5d985b3f5b52

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-py3-none-any.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0eedf348b55f6af5dc01c8c6236b90502d045a1978ab7f9484118fd94b6e020a
MD5 cbaa9241081accf9d8487e79be32121a
BLAKE2b-256 ed9a889d76de785045216f698519553c856105a5bc09bf4f14d4fc60ea80c6b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp314-cp314-win_amd64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 aec0c66bef5bfb63c972e0d30e4d2f7875f891caac90b2d862f4d68eec75c811
MD5 97547d1eae8382ea5a44a996134b07bc
BLAKE2b-256 490bd24ca830803f1b8351177b84e7c4e0170932497abc6da2e080d0f863217e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8cfb6d7b38c36d880c6e44b8ffd7c65051dd9195d7f712735135461a05abc0f
MD5 75c090d9b9a70702247a2d3fb883b557
BLAKE2b-256 a413401b32b861529d066761b1f8c543148b6f2da32ef70b973082bfd495cfc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d687445b2458a433c104d0d5eb2911cf48b8ce9bbcd3fa940d864eac1fce903d
MD5 3bfac61997d712aba797e60cdc7a423a
BLAKE2b-256 771e60d460ff3c4c2c2b98f2d5e07399e21ddb76180e1e03db1acc716033d65c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp313-cp313-win_amd64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c5adf5110e25ad5edc77bb5c1ed93690b6ece097ad5bba843637de426ebcfae5
MD5 e368a98b34bc4d54fff577a245bffa5d
BLAKE2b-256 38a75ef7deb4f0adcbbb2981c786de7a004c3e0ed92069cb1b68b1a5624da9a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37df24d6ad56ed53c00e82d6698e078a0303687ff44023ff00c0b4f65b9e16c9
MD5 f0a4594693dbf8ef11e12a4b311a163e
BLAKE2b-256 aaf4af5be4b5cd55687c59b86c5618527ba9aac8ccdd221384b9a3002a3a52cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 db95c4b21187167b77cdb2d63a976c24b125393768f46a011eb32319c41ff1b4
MD5 d861bb358114f5d79f2b110ccea0c432
BLAKE2b-256 78371143db4452362e6c309068b5c5e3eac15f1ae8dc1333f7ce8159dacd63e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp312-cp312-win_amd64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a3cd4e0c4dbec6c40817eff0ff962ca503f12aee9ffe9526e7ed63841b7a7cea
MD5 798ca40f5efcbf74272d5669ea297aa6
BLAKE2b-256 4005961e141949034109aec8e5441aca534a944b13222c060973e209e4f8a685

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a3017f79e0a1718e8aae5c0720baf18841d7737ea1cac67fcdfff526ffdb40e
MD5 3618609bd3a9773f298f7798260d7d53
BLAKE2b-256 fe8c271c82a9fcc0d3e9a36ed84590d448f9e272558756e0abfd589b756d81de

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 005b97098ce2ce8c82a48386fe6b1f4e2c428def381b63a269f10a9438c42df2
MD5 df97b223facc103029b63e0f9d0e1d27
BLAKE2b-256 fc6cb06fa292a70e30bab17b6d72023339153c6df46ff20da33ed62532101fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp311-cp311-win_amd64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cf35db40d49c1aa790ac283f23a7619177d64488f331c66f50bab1489db1c648
MD5 e79f2c6ac7d8c825ccb500829c7576a9
BLAKE2b-256 c7ef11c77c730762c991e0a50ad5a59e2dd88286bfc95339d66d28259ca8a360

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 105848c6f6c68112f05a6d152f3f407cfe44ffbeba5b013b507013f413dc149f
MD5 04d82cf1d0e8fbcd9766544fb2205242
BLAKE2b-256 35e9736e053ceb2accb997d53f678ee37f36e32b207b0b2d04b53b924edb5aeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 22255b579b0d8ceb9d8b6e4ecf5395daa185fd0c1c97c635055f00872018536e
MD5 0835104be069f07173946154626d8c5d
BLAKE2b-256 b1f97ed78182e04e61aac4578b8ce62f4fb05059f8b46c81a58d3e735cb20919

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp310-cp310-win_amd64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 67c51b26566c41ceb09332c98ee49857935d370fed0af98ce2fef915947f7548
MD5 ea5983875f0b9e88daf126a2c918e9d8
BLAKE2b-256 954100dfc194127f04fdbddb100583b75cc87fd892b116cd979413426aca11fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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

File details

Details for the file ephemerides_spectral-0.4.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9a97317e6e993b7a0a8f11d3a7f21a6300d39da756415f291336bbbf985f337
MD5 9ca8f39d6d7422e759157723897f62d8
BLAKE2b-256 584490496060eee7fea6b33943f20f4a37462da61e9d3457426913bf6d8a4b64

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.4.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: ephemerides-spectral-publish.yml on lemonforest/mlehaptics

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