pyerfa
Python bindings for ERFA
Decision gist · record as of 2026-08-14
Yes. PyERFA is actively maintained, has no known vulnerabilities, and provides the standard Python interface to ERFA algorithms. Install it if you need fundamental astronomy calculations or if another package depends on it. The BSD 3-Clause License poses no restrictions, and prebuilt wheels minimize friction on common platforms.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later and numpy as a runtime dependency.
- Medium install friction due to compiled C extension; prebuilt wheels cover common platforms (CPython 3.9+, PyPy 3.9+, x86_64/ARM64/Windows).
- Repository is active with recent commits.
License · maintenance · safety
BSD 3-Clause License (permissive) — BSD 3-Clause License is permissive; you can use, modify, and distribute pyerfa with minimal restrictions, provided you retain the license notice.
last release 2024-11-11 (641 days) · last repo commit 2026-08-14 · 48 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,420,670 downloads/mo, #2,627 on PyPI
Alternatives
Verify before relying
pip install pyerfa
import pyerfa
result = pyerfa.jd2cal(2460000., [0, 1, 2, 3])- Whether system-provided liberfa (via PYERFA_USE_SYSTEM_LIBERFA=1) offers performance or compatibility benefits.
- Performance characteristics and numerical accuracy compared to other astronomy libraries.
- Specific ERFA algorithms and their use cases beyond the examples in the documentation.
What it is and what it does
PyERFA is a Python wrapper around ERFA, a C library of fundamental astronomy algorithms published by the International Astronomical Union. It exposes ERFA routines as numpy universal functions, allowing them to work seamlessly with both scalar and array inputs. The package originated as a split from Astropy's internal _erfa module and now stands as a standalone dependency for astronomy and astrophysics work.
The library provides access to ERFA's key algorithms—including coordinate transformations, time conversions, and planetary position calculations—along with ERFA constants and structured data types. It handles error and warning states automatically through wrapped Python functions, though direct access to raw ufuncs is also available for lower-level control. Installation requires numpy and targets Python 3.9+, with prebuilt wheels for most common platforms.
Use it for
- Convert Julian dates to calendar dates for astronomical observations and data processing.
- Calculate planetary positions and velocities for mission planning or ephemeris generation.
- Perform time-scale conversions for precise astronomical timing and coordination.
- Access ERFA constants and structured data types used in fundamental astronomy.
- Batch-process large arrays of astronomical data using vectorized universal functions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyERFA is actively maintained, has no known vulnerabilities, and provides the standard Python interface to ERFA algorithms. Install it if you need fundamental astronomy calculations or if another package depends on it. The BSD 3-Clause License poses no restrictions, and prebuilt wheels minimize friction on common platforms.
Install
pyerfa on PyPI
Before you install
Medium install friction due to compiled C extension; prebuilt wheels cover common platforms (CPython 3.9+, PyPy 3.9+, x86_64/ARM64/Windows). Repository is active with recent commits.
Requires Python 3.9 or later and numpy as a runtime dependency.
License in practice
BSD 3-Clause License is permissive; you can use, modify, and distribute pyerfa with minimal restrictions, provided you retain the license notice.
Quickstart
pip install pyerfa
import pyerfa
result = pyerfa.jd2cal(2460000., [0, 1, 2, 3])
Verify before relying
- Whether system-provided liberfa (via PYERFA_USE_SYSTEM_LIBERFA=1) offers performance or compatibility benefits.
- Performance characteristics and numerical accuracy compared to other astronomy libraries.
- Specific ERFA algorithms and their use cases beyond the examples in the documentation.
Package facts
| License | BSD 3-Clause License permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 641 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,420,670 / month, #2,627 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: CProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/Engineering :: AstronomyTopic :: Scientific/Engineering :: Physics |
Evidence: pyerfa-2.0.1.5-cp39-abi3-macosx_10_9_x86_64.whl; pyerfa-2.0.1.5-cp39-abi3-macosx_11_0_arm64.whl; pyerfa-2.0.1.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyerfa-2.0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyerfa-2.0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl; pyerfa-2.0.1.5-cp39-abi3-win32.whl; pyerfa-2.0.1.5-cp39-abi3-win_amd64.whl; pyerfa-2.0.1.5-pp39-pypy39_pp73-macosx_10_15_x86_64.whl; pyerfa-2.0.1.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyerfa-2.0.1.5-pp39-pypy39_pp73-win_amd64.whl
Tags
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 › “astronomy coordinate transformations”
- pyerfaPyERFA wraps the ERFA C library (Essential Routines for Fundamental…
- gwcsGWCS provides tools for managing World Coordinate System…
- astropy-healpixProvides HEALPix spherical pixelization for astronomy and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Physics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
Pydicom reads, modifies, and writes DICOM medical imaging files in pure Python, with optional NumPy support for pixel data as arrays.
Install it if you work with medical imaging data, DICOM files, or healthcare IT systems.
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.
CoolProp provides thermodynamic and transport property calculations for fluids and fluid mixtures, offering open-source functionality similar to REFPROP.
Provides quaternion representation, manipulation, and rotation operations for 3D geometry and animation, with support for smooth interpolation between orientations.
See also ephem · fitsio · regions · reproject · array-api-extra · numpy-quaternion · transforms3d · astroquery · jdcal · numpy