Full Changelog¶
2.0.1.7 (unreleased)¶
Let multi-output functions now return a
namedtupleso that the various results can be accessed by attribute. [gh-176]pyerfanow requires Python 3.10 or later. [gh-185]The
erfa.tpors()anderfa.tporv()functions no longer raise an unavoidableKeyError. [gh-234]erfa.cal2jd()no longer raises an unexpectedTypeErrorinstead of anErfaErrororErfaWarningif all its inputs are scalars. [gh-235]pyerfanow requiresnumpy1.24 or later. [gh-250]
2.0.1.6 (2025-01-27)¶
Update the way setuptools_scm is set up, to avoid problems with
compilation of packages that have pyerfa as a dependency.
2.0.1.5 (2024-11-11)¶
Ensure that pyerfa is only built with the limited API if the environment
variable Py_GIL_DISABLED is not set.
2.0.1.4 (2024-04-12)¶
Reintroduces a work-around such that pyerfa can also be built on older numpy.
2.0.1.3 (2024-04-05)¶
No new features, but wheels that are compatible with numpy 2.0 as well as older supported versions of numpy 1.x.
2.0.1.2 (2024-04-04)¶
Failed attempt to create wheels compatible with numpy 2.0. Yanked from pypi.
2.0.1.1 (2023-10-19)¶
Ensured pyerfa works on PyPy too with the Python limited API. [gh-120]
Ensure any non-contigous multi-dimensional inputs are recognized properly, so that, e.g., a non-contiguous matrix is copied as needed before input to the erfa functions. [gh-124]
2.0.1 (2023-10-13)¶
Bundled liberfa version update to v2.0.1, which is derived from SOFA version 19 (20231011), which has a few bug fixes. [gh-118]
Fix dangling pointer leading to unexpected behavior with
-O3. [gh-104]PyERFA now only uses the Python limited API. [gh-94]
Ensure things work under python 3.12 and recent setuptools-scm. [gh-113]
2.0.0.3 (2023-03-22)¶
Ensure minimum numpy version of 1.17 continues to work (for astropy LTS).
2.0.0.2 (2023-03-19)¶
Fix compatibility with numpy v1.24.
Ensure documentation is correct also for functions without parameters.
CI configuration updated.
Switch building of wheels to GitHub Actions.
Min
setuptools_scmupdated.Min numpy version in
tox.iniupdated to fix CI issues.
2.0.0.1 (2021-11-02)¶
The underlying universal functions in
erfa.ufuncnow work with anoutargument also if the required output is a structured array. [gh-76]
2.0.0 (2021-05-17)¶
Bundled liberfa version update to v2.0.0. This includes new functionality, and hence pyerfa 2.0.0 cannot run with previous versions of liberfa.
erfa.dt_eraLDBODYhas been corrected to ensure that the ‘pv’ entry is now of typeerfa.dt_pv, so that cross-assignments with that dtype work correctly. [gh-74]erfa_generatornow also generates atest_ufunc.pyfile that runs all the C code tests on the ufuncs, thus verifying the code wrapping worked correctly. As part of that, the ability to give specific output file names has been removed, as it was not used. (Note: these changes have no effect on use of PyERFA.) [gh-71]
1.7.3 (2021-04-25)¶
Bundled liberfa version update to v1.7.3.
Fixed a bug that caused the output of
rx,ry, andrzto be boolean rather than float for some compilers/OS. [gh-72]
1.7.2 (2021-01-25)¶
Bundled liberfa version update to v1.7.2.
The classproperty decorator is now thread-safe (backport https://github.com/astropy/astropy/pull/11224).
1.7.1.1 (2020-11-18)¶
Fix incorrect
__version__value [gh-60].
1.7.1 (2020-11-16)¶
Bundled liberfa version update to v1.7.1.
Now it is possible to build against system liberfa [gh-39].
Improved the setup machinery to ensure a proper configuration of the embedded liberfa [gh-53] (see also https://github.com/liberfa/erfa/pull/73).
Improve version testing [gh-53] (see issue gh-52 for rationale).
Reworked version management [gh-57].
Make pyerfa build reproducible [gh-46] (see issue gh-45 for rationale).
Improved docstring titles [gh-47].
Most of the CI has been moved to GitHub Actions.
1.7 (2020-05-31)¶
Initial release, based on ERFA version 1.7.0, which in turn is based on SOFA version 20190722.
PyERFA repository import from Astropy¶
- copyright:
2020 Antonio Valentino
Python wrapper for ERFA, Essential Routines for Fundamental Astronomy.
The project is a split of the astropy._erfa sub-module, developed in the
context of Astropy project, into a standalone package.
See also https://github.com/astropy/astropy/issues/9802.
The code has been imported form the git revision 60ab27c.
The following import script has been used:
#!/bin/sh
set -e
if [ ! -d astropy ]
then
git clone https://github.com/astropy/astropy.git
fi
if [ ! -d pyerfa ]
then
git init pyerfa
fi
if [ ! -d git-filter-repo ]
then
git clone https://github.com/newren/git-filter-repo.git
fi
export PATH=${PATH}:${PWD}/git-filter-repo
# if [ ! -d astropy/.git/filter-repo ]
# then
# cd astropy
# git-filter-repo --analyze
# cd -
# fi
git-filter-repo \
--source astropy \
--target pyerfa \
--path astropy/erfa \
--path astropy/_erfa \
--path .gitignore \
--path licenses/ERFA.rst \
--path licenses/LICENSE.rst \
--path licenses/README.rst \
--path-glob 'LICENSE*' \
--path-rename astropy/_erfa:erfa \
--path-rename astropy/erfa:erfa \
--tag-rename v:astropy-v \
--message-callback '
return message.replace(b"pull request #", b"pull request astropy/astropy#")
'
The full list of re-used files is the following:
Astropy |
PyERFA |
|---|---|
astropy/_erfa/* |
erfa/* |
astropy/_erfa/setup_package.py |
setup.py |
astropy/_erfa/erfa_generator.py |
erfa_generator.py |
astropy/tests/helpers.py |
erfa/tests/helpers.py |
licenses/ERFA.rst |
licenses/ERFA.rst |
licenses/README.rst |
licenses/README.rst |
MANIFEST.in |
MANIFEST.in |
pyproject.toml |
pyproject.toml |
setup.cfg |
setup.cfg |
Please note that some of the files have been slightly modified (e.g. import statements have been updated) to allow the code to work properly as a standalone package totally independent from Astropy.
The erfa.tests.helpers module is duplicated form the original Astropy
project, but all the code not strictly necessary to the PyERFA
package has been removed.
In addition:
the
ErfaErrorandErfaWarningclasses have been copied formastropy/utils/exceptions.pyintoerfa/core.py.templ.the
classpropertyhas been copied formastropy/utils/decorators.pyintoerfa/helpers.py.