From 18adb340ccb334f56c21d609c518a45505882aa8 Mon Sep 17 00:00:00 2001 From: William O'Mullane Date: Wed, 15 May 2024 17:23:33 +0100 Subject: [PATCH 1/3] encourage astropy.table --- python/astropy.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/astropy.rst b/python/astropy.rst index a1a4f793..b771ff65 100644 --- a/python/astropy.rst +++ b/python/astropy.rst @@ -13,7 +13,7 @@ Integration of Astropy core into the LSST software stack is an ongoing process t This document is not discussing Astropy affiliated packages, use of which must go through the standard :doc:`RFC ` process. Not all Astropy core packages can be used by default. -The following packages can be used internally in packages if they do not leak into public APIs: +The following packages can be used internally in packages: * :mod:`astropy.coordinates` * :mod:`astropy.time` @@ -27,17 +27,20 @@ For reading and writing files in FITS format, both :mod:`astropy.io.fits` and `f These libraries differ in the features available and in performance (with the latter usually surpassing the former). Developers must evaluate which works best for their use case and choose one accordingly. + .. _fitsio: https://github.com/esheldon/fitsio .. warning:: ``lsst.afw.fits`` must not be used in any new Python code, as it is not considered memory safe. +If not interacting with C++ classes the use of ``astropy.table`` is encouraged. The interaction of Astropy with LSST C++ classes providing related functionality should be carefully monitored. If the code is already using ``afw`` it is strongly preferred that ``afw`` equivalents be used until such time as specific ``afw`` interfaces are deprecated. :mod:`astropy.table` views into ``afw.table`` tables can be used if required. -Changing public APIs to use the above Astropy packages requires prior permission and possibly an :doc:`RFC `. +Changing any public APIs requires prior an :doc:`RFC `. +Hence using Astropy in any public PAI must go through RFC. These items have functionality that is similar to that provided in LSST packages: From 0855d6eafd590b3aaabc7764955b4e740f6cf6ca Mon Sep 17 00:00:00 2001 From: William O'Mullane Date: Wed, 15 May 2024 17:41:10 +0100 Subject: [PATCH 2/3] wording --- python/astropy.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/astropy.rst b/python/astropy.rst index b771ff65..539c1f7a 100644 --- a/python/astropy.rst +++ b/python/astropy.rst @@ -39,8 +39,8 @@ The interaction of Astropy with LSST C++ classes providing related functionality If the code is already using ``afw`` it is strongly preferred that ``afw`` equivalents be used until such time as specific ``afw`` interfaces are deprecated. :mod:`astropy.table` views into ``afw.table`` tables can be used if required. -Changing any public APIs requires prior an :doc:`RFC `. -Hence using Astropy in any public PAI must go through RFC. +Changing any public APIs requires an :doc:`RFC `. +Hence using Astropy in any public API must go through an RFC. These items have functionality that is similar to that provided in LSST packages: From d68413a195b39b7e96f36bd79cc36fa36ed1f0e0 Mon Sep 17 00:00:00 2001 From: William O'Mullane Date: Wed, 15 Jan 2025 21:40:57 -0300 Subject: [PATCH 3/3] KT comments --- python/astropy.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/python/astropy.rst b/python/astropy.rst index 539c1f7a..885c6b43 100644 --- a/python/astropy.rst +++ b/python/astropy.rst @@ -35,6 +35,7 @@ Developers must evaluate which works best for their use case and choose one acco ``lsst.afw.fits`` must not be used in any new Python code, as it is not considered memory safe. If not interacting with C++ classes the use of ``astropy.table`` is encouraged. +In particular, the Table class has beneficial properties over Pandas DataFrame. The interaction of Astropy with LSST C++ classes providing related functionality should be carefully monitored. If the code is already using ``afw`` it is strongly preferred that ``afw`` equivalents be used until such time as specific ``afw`` interfaces are deprecated. :mod:`astropy.table` views into ``afw.table`` tables can be used if required.