$npx skillfedfor your agent

jplephem

Use a JPL ephemeris to predict planet positions.

With conditionsPyPI AstronomyReleased Jan 2026819.2K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — jplephem-2.24-py3-none-any.whl
v2.24 · released 2026-01-23 · 1 runtime deps: numpy

Yes, if you need raw JPL ephemeris data in Python and are comfortable managing external SPK files. The package is stable, has no known vulnerabilities, and installs with minimal friction. However, most astronomy workflows will benefit from using a higher-level library like Skyfield instead, which wraps jplephem and provides more intuitive coordinate transformations.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a JPL SPK ephemeris file (e.g., de421.bsp) downloaded separately from NASA JPL; file format and availability depend on external sources.
  • Low friction: pure Python wheel with only numpy as a runtime dependency.
  • Repository is actively maintained with recent commits; classifiers indicate stable production status, though the package is aging relative to its initial 2012 release.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.

last release 2026-01-23 (203 days) · last repo commit 2026-02-01 · 126 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 819,201 downloads/mo, #4,977 on PyPI

Verify before relying

from jplephem.spk import SPK
from jplephem.calendar import compute_julian_date

kernel = SPK.open('de421.bsp')
jd = compute_julian_date(2015, 2, 8)
position = kernel[0, 4].compute(jd)  # Solar System barycenter to Mars
  • Whether the package supports Python versions beyond 3.8 despite classifiers listing only up to 3.8.
  • Current performance characteristics when working with very large ephemeris files or high-frequency queries.
  • Compatibility with modern numpy versions and any breaking changes in recent releases.
Same gist for agents: .md · .json

What it is and what it does

jplephem is a low-level library for reading and querying binary Satellite Planet Kernel (SPK) files produced by NASA's Jet Propulsion Laboratory. It loads ephemeris data—precomputed positions and velocities of planets, moons, and other Solar System bodies—and allows you to compute their coordinates at any Julian date within the file's coverage range. The package supports three SPK data types: Chebyshev polynomial representations (Types 2 and 3) and discrete position/velocity pairs with linear interpolation (Type 9).

The library is designed for astronomers and space mission planners who need raw three-dimensional vectors in the Solar System's reference frame. It includes command-line tools to inspect ephemeris file contents, extract date ranges, and filter by target body codes. Most users working in Python astronomy will want to layer this with a higher-level package like Skyfield, which converts the raw vectors into traditional astronomical measurements such as right ascension and declination.

Use it for

  • Compute heliocentric or geocentric positions of planets for mission planning or trajectory analysis.
  • Extract a subset of a large ephemeris file covering only a specific date range to reduce download size.
  • Inspect the contents and metadata of an SPK file from the command line without writing code.
  • Build custom astronomical calculations that require raw Solar System body coordinates in kilometers.
  • Fetch ephemeris data on-demand from remote JPL servers, downloading only the blocks needed for your date range.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need raw JPL ephemeris data in Python and are comfortable managing external SPK files.

The package is stable, has no known vulnerabilities, and installs with minimal friction. However, most astronomy workflows will benefit from using a higher-level library like Skyfield instead, which wraps jplephem and provides more intuitive coordinate transformations.

Install

jplephem on PyPI

Before you install

Low friction: pure Python wheel with only numpy as a runtime dependency. Repository is actively maintained with recent commits; classifiers indicate stable production status, though the package is aging relative to its initial 2012 release.

Requires a JPL SPK ephemeris file (e.g., de421.bsp) downloaded separately from NASA JPL; file format and availability depend on external sources.

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.

Quickstart

from jplephem.spk import SPK
from jplephem.calendar import compute_julian_date

kernel = SPK.open('de421.bsp')
jd = compute_julian_date(2015, 2, 8)
position = kernel[0, 4].compute(jd)  # Solar System barycenter to Mars

Verify before relying

  • Whether the package supports Python versions beyond 3.8 despite classifiers listing only up to 3.8.
  • Current performance characteristics when working with very large ephemeris files or high-frequency queries.
  • Compatibility with modern numpy versions and any breaking changes in recent releases.

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
numpy
MaintenanceAging 203 days since the last release
Last repo commit
First released
Downloads819,201 / month, #4,977 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Scientific/Engineering :: Astronomy

Evidence: jplephem-2.24-py3-none-any.whl

Tags

Capabilities
JPL ephemeris readerplanet position predictionSPK file parsersolar system body coordinatesephemeris computationcelestial mechanics dataorbital position calculator
Topics
astronomyephemerisorbital-mechanics

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “JPL ephemeris reader”

  • jplephemLoads and queries JPL ephemeris files (SPK format) to compute…
  • skyfield-dataProvides pre-packaged astronomical data files (ephemerides and Earth…
  • spiceypySpiceyPy wraps the NAIF C SPICE Toolkit to compute Solar System…

Give your agent the search over MCP, or paste the wish link into any chat.

More Astronomy packages

albumentations Worth it
PyPI · Libraries · released May 2025

Albumentations applies image transformations to training data, supporting classification, segmentation, object detection, and pose estimation with a unified API for images, masks, bounding boxes, and keypoints.

Install it if you need a unified, production-grade augmentation API for computer vision tasks.

MITpure Python · 3.9+aging
5.5Mdownloads / mo
convertdate With conditions
PyPI · Astronomy · released Feb 2026

Converts dates between the Gregorian calendar and 15+ alternative calendar systems including Hebrew, Islamic, Julian, French Republican, Mayan, and others, plus calculates holidays across North American, Jewish, and other traditions.

Install only if you actually need multi-calendar support; the single pymeeus dependency is manageable.

MITpure Pythonaging
4.4Mdownloads / mo
jdcal With conditions
PyPI · Astronomy · released Apr 2019

Converts between Julian dates and Gregorian or Julian calendar dates, storing Julian dates as pairs of floating-point numbers for maximum precision.

However, be aware that it will not receive bug fixes or updates—verify that its behavior matches your requirements before committing to it in a production system.

BSD-3-Clausepure Pythonabandoned
3.8Mdownloads / mo
pyerfa Worth it
PyPI · Physics · released Nov 2024

PyERFA wraps the ERFA C library (Essential Routines for Fundamental Astronomy) as NumPy universal functions, exposing key astronomy algorithms for scalar or array inputs.

Install it if you need fundamental astronomy calculations or if another package depends on it.

BSD-3-Clausecompiled wheel · 3.9+
3.4Mdownloads / mo
PyMeeus With conditions
PyPI · Astronomy · released Dec 2022

PyMeeus implements astronomical algorithms from Jean Meeus's classical reference, providing Python classes for computing celestial positions, lunar phases, planetary phenomena, and time conversions with minimal dependencies.

However, verify Python version compatibility first and consider whether other libraries better suit production-grade use cases.

LGPL-3.0-onlybuilds from source
2.8Mdownloads / mo
ephem Worth it
PyPI · Astronomy · released Feb 2026

PyEphem computes high-precision positions of planets, moons, stars, comets, and asteroids in the sky for any observer location and date, using C-based numeric routines from the XEphem astronomy application.

MITcompiled wheel
1.6Mdownloads / mo

See also spiceypy · sgp4 · skyfield-data · skyfield · kerykeion · pyorbital