[ANN] Ephemerides.jl - A pure Julia binary ephemeris reader

Hello everyone,

I’m happy to present you Ephemerides.jl, a package that provides fast, thread-safe and allocation-free access to binary JPL SPK and PCK ephemeris files. Completely written in Julia, it enables Automatic-Differentiation (AD) via ForwardDiff across all of its function calls.

Once you have the desired kernels on your PC, you can easily load them:

# Load a single SPK kernel 
eph = EphemerisProvider("de440.bsp")

and then compute all the desired positions, angles and their higher-order derivatives (up to the jerk):

# TDB seconds at 2000-01-01T12:00:00 (J2000)
time = 0.0

# Compute the position of point 399 with respect to 3 at J2000
pos = ephem_vector3(eph, 3, 399, time)

It also beats both SPICE and CALCEPH in terms of execution speed, as you can see from some of the benchmarks we performed.