Skip to main content

High-precision HDC reference instrument for the solar system based on JPL DE441 (native C backend, runtime kernel patching, 38 bodies including all major Jovian + Saturnian moons; SPICE-free runtime)

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, mean-motion resonances, 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 (v0.5.0+): 38 bodies — Sun, 9 planets (incl. Pluto), 24 moons, 4 main-belt asteroids. The moon set covers Earth's Moon, Mars's Phobos / Deimos, all 4 Galileans (Io, Europa, Ganymede, Callisto) plus the 4 inner regulars (Metis, Adrastea, Amalthea, Thebe), the canonical 9 Saturnians (Mimas, Enceladus, Tethys, Dione, Rhea, Titan, Hyperion, Iapetus, Phoebe) plus the Janus / Epimetheus co-orbitals, Uranus's Titania, and Neptune's Triton.
  • Mean-motion resonances (v0.5.0+): 7 entries in RESONANCES — Jupiter–Saturn 5:2, Neptune–Pluto 3:2, Io–Europa 2:1, Europa–Ganymede 2:1, Mimas–Tethys 4:2 (Cassini Division), Enceladus–Dione 2:1 (powers Enceladus tidal heating), Titan–Hyperion 4:3 (Hyperion's chaotic rotation). Natural-resonance gear group: Z_60 = Z_4 × Z_3 × Z_5.
  • Runtime kernel patching (v0.4.0+): Diagnosed-fiber overlay — patches sit beside the published kernel as DATA, not code edits, and contribute per-body residue deltas at encode time. Inspired by Linux ksplice / kpatch; the kernel's published bytes never change. Bridge surface: apply_patch(name) / apply_custom_patch(...) / clear_patches(). Three patches in the bundled CATALOG authored from the v0.3.1 FFT residual analysis. v0.5.1 patch-shrinks-residual benchmark measured the catalog and showed partial vindication: J–S coupled patch shrinks both bodies' residuals by ~77% with phase-recovered authoring (research-side; stays out of the v0.5.x catalog until ≥80% on every body); Mars stays stuck at 3% due to FFT bin leakage. v0.5.2 adds windowed FFT + multi-bin patches for full predictive power.
  • SPICE-free runtime (v0.5.0+): pip install works out of the box — both backends use codegen-baked initial phases shipped in _data/initial_phases.json. No SPICE kernel staging required for basic encoding. Skyfield + jplephem stay as optional [ephemeris] extras for callers who want runtime recalibration against custom kernels.
  • Observer-Agnostic Views: Unitary binding to generate topocentric "Local View" hypervectors at any (lat, lon) on any body.
  • Spectral Syzygy Window Search (v0.3.1+): find-syzygies --from-jd ... --to-jd ... enumerates candidate syzygies in closed form via the natural cyclic-group decomposition (synodic + draconic month), then confirms each by spectral projection. ~1000× faster than the v0.3.0 point-evaluation eclipse --jd pattern for window queries.

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.

v0.4.1+ C native path drops these by ~1000× (encode at +20 yr: 46 ms BIP → 0.04 ms C). The full DE441 FFT-residual sweep (1024 samples) takes ~14 seconds on the C native path versus ~5 minutes on Python BIP — the truth-lookup against skyfield is the new bottleneck.

Patch-shrinks-residual benchmark (v0.5.1)

Earn the right to predict the missing data.

The v0.4.0 catalog patches claim to predict missing physics; the v0.5.1 audit measures whether they actually shrink the residuals they target. Verdict: PARTIAL VINDICATION.

Patch v0.4.0 (mag-only authoring) v0.5.1 (phase-recovered)
mars-7.96yr-diagonal +2.5% +2.7% (FFT bin leakage)
mercury-10.69yr-diagonal −49.9% (peak GREW) +39.6%
jupiter-saturn-9.56yr-coupled +30.9% J / −0.4% S +77.1% J / +76.4% S

Two diagnosable v0.4.0 authoring bugs surfaced: amplitude was off by 2× (used FFT magnitude rather than 2|X[k]|/N real-amplitude) and phase was wrongly assumed 0 (the Mercury patch was reinforcing its target residual). v0.5.1 ships three research scripts (patch_shrinks_residual.py, author_phase_recovered_patches.py, verify_recovered_patches.py) that diagnose, fix, and re-measure. Empirical finding: J–S correlation = +1 (in-phase residuals at 9.56 yr) — the v0.4.0 anti-correlated-libration assumption was wrong.

The v0.4.0 catalog stays unchanged in the wheel (the recovered catalog is research output until it meets ≥80% on every body — currently blocked by FFT bin leakage on Mars). v0.5.2 adds windowed FFT + multi-bin patches and ships CATALOG_V2. See figures/patch_shrinks_residual_v0.5.1.md for the full analysis.

Status

  • v0.5.1 (current) — Patch-shrinks-residual benchmark: PARTIAL vindication of the diagnosed-fiber methodology (J–S 77%, Mercury 40%, Mars stuck on FFT leakage). See CHANGELOG.md.
  • v0.5.0 — All major Jovian + Saturnian moons join the encoder (26 → 38 bodies). Three new resonances (Cassini Division, Enceladus tidal heating, Hyperion chaos). SPICE-free runtime via codegen-baked initial phases.
  • v0.4.1 — C-side runtime kernel patching (ABI v2). 237× speedup on patched encodes vs BIP.
  • v0.4.0 — Diagnosed-fiber runtime overlay (Python side). Patches as data, ksplice/kpatch-style.
  • v0.3.1 — C-in-wheel + spectral syzygy window search + DE441 error-spectrum FFT.
  • v0.3.0 — Mars Sol Date / Mars Coordinated Time, mean lunar primitives, LTE440 awareness, DE441 full-epoch sweep, natural-resonance gear group.
  • 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.5.1.tar.gz (89.0 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.5.1-py3-none-any.whl (75.1 kB view details)

Uploaded Python 3

ephemerides_spectral-0.5.1-cp314-cp314-win_amd64.whl (88.3 kB view details)

Uploaded CPython 3.14Windows x86-64

ephemerides_spectral-0.5.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (83.4 kB view details)

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

ephemerides_spectral-0.5.1-cp314-cp314-macosx_11_0_arm64.whl (82.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ephemerides_spectral-0.5.1-cp313-cp313-win_amd64.whl (87.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ephemerides_spectral-0.5.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (83.4 kB view details)

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

ephemerides_spectral-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (82.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ephemerides_spectral-0.5.1-cp312-cp312-win_amd64.whl (87.3 kB view details)

Uploaded CPython 3.12Windows x86-64

ephemerides_spectral-0.5.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (83.4 kB view details)

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

ephemerides_spectral-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (82.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ephemerides_spectral-0.5.1-cp311-cp311-win_amd64.whl (87.3 kB view details)

Uploaded CPython 3.11Windows x86-64

ephemerides_spectral-0.5.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (83.4 kB view details)

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

ephemerides_spectral-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (82.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ephemerides_spectral-0.5.1-cp310-cp310-win_amd64.whl (87.3 kB view details)

Uploaded CPython 3.10Windows x86-64

ephemerides_spectral-0.5.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (83.4 kB view details)

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

ephemerides_spectral-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (82.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: ephemerides_spectral-0.5.1.tar.gz
  • Upload date:
  • Size: 89.0 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.5.1.tar.gz
Algorithm Hash digest
SHA256 b6461346e250a9b55d3c1250e478d6f47dc10da8ac6f5d180af6e46d6f61153a
MD5 70eb44c9e251985b007d2a780aebe27b
BLAKE2b-256 95f1c916cba0ff1256e58ec0c267121e0c915e36969afd53142a010e51bd4df1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc2b29a2e9408bdaabf2250cd35d2b9e3e1705ff7893de296a36a25db2623d7
MD5 8c28ad5f1524908852ccc2c0a867828e
BLAKE2b-256 79cbd98cfb5d5de797d85beeddccd57d1aa74fe1251cb9cc12b3b4d448be6e81

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 862e018821076092c0578aec8a14e6ad9ef0bb720876c7f055d7a33f17068508
MD5 a4a7b0b045ea7de8a5c2d0fd95b242f2
BLAKE2b-256 7ff0718a8ed1a8bccd5c90061f252fa2355180f1aa0f34869fcc50530f1f5398

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.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.5.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7bd6d5b3ec67f5ea794183cfefdbb376dd11760bc688333694cf7ad65ba99b71
MD5 c2d314aeab7df695a42314ab31361789
BLAKE2b-256 b856a9b7b433ac09ca827c1584b8615d4a839e205f3de6748966580ab8a8a22e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fe7223e51f958f01f15a1f4395aaed42346a92058f00069edee0a1120244a95
MD5 96eb6b5a13997867a9c82068daa9e1a3
BLAKE2b-256 ca3b9c6b214b2e9e7f0fe7634c0402102aacbe78ae14ac8e4db11fca18ef66ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4f1b855b9f28763fdfef458cd5d35aebce1f0b5da9cdd5ad15adc4c0a7d53b76
MD5 2c72aa08fd98b22cc92f229201295d78
BLAKE2b-256 76f835d134ac3794ee7c662e9f25e80eae0d5f7561a5baf830ecb26e78349ca3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.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.5.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3261a77d3cb45a095547471efe662cc337f549b77b3e45ae1e955b8e67a43c62
MD5 89cf1be462559bf3c015411c7817e090
BLAKE2b-256 abb90b0dd150256d3af5f75149e55926f7d80825384fc1e3001c364d3f72a99f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bc1452603fee7f4fac6e3f4b1cb408c1f08b560c555ed10c8960b5a13a3c5e4
MD5 2235418735d4515de08467a23ce4d627
BLAKE2b-256 5c9c2d3a8572cfcff2f7841ab4eb81d8940b0776d9ef72b94da7c90995666fa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e44c06f7f7578a29e04fba5dc8ca5e10aaebfa03fba66dbd168f5e7887475c13
MD5 22545540c0c48cc753bd11a00ff91d2c
BLAKE2b-256 a602f7b4451228daec42c4a44fd95a09b602f9b5b692617d46af23936ff484d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.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.5.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ea944242a97e303c04d1cbb6d015a7d153505b29f3be94b28b6d4ecff6354bc8
MD5 14f7db8a53dc921d1f3d6f7772ece4a8
BLAKE2b-256 2c55cbc8e52299eb3d9b8f9521e954f4a3d27b22e946f45d0f70a641f95f0057

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e4f1d828ed47d1ae606320221434fa44cc126e63eea388863fa51504419728f
MD5 db84fd58a2e9d22a9745debb08cc4675
BLAKE2b-256 2b111f2af308b7628ce9baa2791f62997c0d58d4768b9f9bdd2acfc8c342ef00

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a5cabbfe64b7b11e200adbbb7284b7dafc1c43eb444c0af0758c3224e3459ae3
MD5 5916819197f5e9570825d5af1e8434a7
BLAKE2b-256 c8cbaecb96685e25ead71ae1ae1c97ec61946b041215e71a1997c34ee1698eb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.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.5.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e9d572da7d3f506bf4560c8e8440c8d5f297d24da9fc9695ee364bc7f973389d
MD5 d8d64e28cd365357ac2c8f520911f11b
BLAKE2b-256 cfdc5252d49123b727dd12b0f2a819d07d29c93c3d9616e9de49775b2701040c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d16857543eed8ae2ae6db88c869aabea6a07583afac444bf3329b63605e699d3
MD5 01ae9e1b721f4d04eebb4199e6edf35d
BLAKE2b-256 bbb6b08abc3723a12fa87c072fa40d0c5514a2d63cffafc1679005d630118ce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 32ad832e411cdbc6b4c5859b1b4760f131c56570c945539f4ed3898af95e77bb
MD5 ead88e6aab2b3d70bc96bcaf30846761
BLAKE2b-256 fce73eb4b2791e83d0152cee2fa5fa4981278cdd4b5401d8a18616a4238ce4c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.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.5.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d9c159c59bef3d2895211b607c1fbd281558f1da22e811a7e4c0cacb329f285e
MD5 7137e7dff74efbececba8a354fd83015
BLAKE2b-256 9f33353e43b40455a119718c6c0d4c5ac04a0718f52d55a0e3d121b50f172441

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ephemerides_spectral-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 894899f1fa908e381d052465af96178e860d3a1338410703b39f5ec0b9491aeb
MD5 cf0bd3e47de297004de821efd0a7f601
BLAKE2b-256 a4f245b6fe9cf841f9354e399f87f7277649b9784692f8ec24b96c39c6acc629

See more details on using hashes here.

Provenance

The following attestation bundles were made for ephemerides_spectral-0.5.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