Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Jpl Moshier Ephemeris Php Laravel Package

jayeshmepani/jpl-moshier-ephemeris-php

PHP 8.3+ FFI wrapper for the JPL Moshier Ephemeris C library. Exposes all public jme_* functions and JME_* constants with no output reshaping. Supports AUTO/JPL/MOSHI​ER/VSOP engines and direct JPL/CALCEPH kernel access via shared libs.

View on GitHub
Deep Wiki
Context7
1.0.2

What's Changed

  • Add dynamic resolution logic for loading native ephemeris libraries from specialized OS/environment directories under libs/:
    • Support ubuntu22 and ubuntu24 versions based on system glibc detection.
    • Support macOS arm64 version 14 and 15 based on Darwin kernel version detection.
    • Support Windows MSVC 2022.
  • Refactored array destructuring syntax using Rector rules.
  • Cleaned up formatting with Laravel Pint.
1.0.1

jpl-moshier-ephemeris-php v1.0.1

Patch release focused on strict JPL engine validation and configuration safety.

Fixed

  • Removed silent fallback behavior when JPL is selected but no usable .bsp kernel is available
  • JPL engine selection now fails immediately and explicitly instead of drifting into analytical execution
  • Added early validation for configured JPL kernel path
  • Added clearer runtime error messaging for missing kernel configuration
  • Added kernel download guidance directly in the thrown error path

Behavior Change

If the configured engine is:

  • JPL

then the wrapper now requires a usable readable .bsp kernel at configuration time.

If no kernel is available, the wrapper throws immediately.

There is now no silent fallback from:

  • JPL -> MOSHIER
  • JPL -> VSOP_ELP_MEEUS

Added

  • Config-level validation test coverage for engine usability
  • Better integration of strict engine configuration behavior for downstream consumers

JPL Kernel Download

Download kernels from:

Version

  • Release version: 1.0.1
1.0.0

jpl-moshier-ephemeris-php v1.0.0

Initial stable release of the PHP FFI wrapper for jpl-ephemeris.

Highlights

  • Full PHP FFI wrapper for the native JME C library
  • Public API surface synced with native library
  • 204 public functions exposed
  • 462 public constants exposed
  • No normalization or rounding layer added on top of native outputs
  • Supports engine selection through config:
    • JPL
    • MOSHIER
    • VSOP_ELP_MEEUS
    • AUTO
  • Strict JPL fail-fast behavior
    • if JPL is selected and no usable .bsp kernel is available, the wrapper throws immediately
    • no silent fallback to analytical engines
  • Linux runtime packaging includes libjme and CALCEPH runtime dependency support
  • Laravel-style service provider and convenience service included
  • Test and verification coverage included for wrapper surface and runtime behavior

Included Runtime Scope

This package is a PHP wrapper around the native jpl-ephemeris library.

It is intended to provide direct access to the native JME API from PHP through FFI while keeping output behavior as close to the native layer as possible.

JPL Kernel Note

JPL kernels are not bundled in this release.

If you want to use ENGINE=JPL, download .bsp kernels from:

Then configure JME_EPHEMERIS_PATH to either:

  • a .bsp file, or
  • a directory containing .bsp kernels

Engine Modes

  • JPL
    • strict kernel-backed mode
    • requires readable .bsp kernels
  • MOSHIER
    • analytical mode without JPL kernel dependency
  • VSOP_ELP_MEEUS
    • analytical fallback stack
  • AUTO
    • native default selection behavior

Version

  • Release version: 1.0.0

Notes

This is the first stable tagged release of the PHP wrapper package.

prebuilt-libs

Prebuilt runtime libraries for the PHP FFI wrapper.

Each archive contains:

  • JME shared library: jme.dll, libjme.so, or libjme.dylib
  • CALCEPH runtime library for the same platform

Linux

Asset Runner Notes
jme-linux-x64-ubuntu24.tar.gz ubuntu-24.04 glibc 2.39
jme-linux-x64-ubuntu22.tar.gz ubuntu-22.04 glibc 2.35
jme-linux-arm64-ubuntu24.tar.gz ubuntu-24.04-arm glibc 2.39
jme-linux-arm64-ubuntu22.tar.gz ubuntu-22.04-arm glibc 2.35

macOS

Asset Runner Notes
jme-macos-x64-15.tar.gz macos-15-intel macOS 15, x86_64 (Intel)
jme-macos-arm64-15.tar.gz macos-15 macOS 15, Apple Silicon
jme-macos-arm64-14.tar.gz macos-14 macOS 14, Apple Silicon

Windows

Asset Runner Notes
jme-windows-x64-2022.zip windows-2022 MSVC 2022 runtime

JPL BSP kernels are not included. Download kernels from the native JME kernel release when using the JPL/CALCEPH backend.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codraw/entity-migrator
codraw/doctrine-extra
codraw/aws-tool-kit
codraw/validator
codraw/workflow
codraw/open-api
codraw/cron-job
codraw/process
codraw/log
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony