From 707a3eff42d00c30b16f17897773477ea1ed43c4ab7b7442914f0384c9cb8a16 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 9 Aug 2024 06:55:59 +0000 Subject: [PATCH] - update to 6.1.2: * When reading CDS and MRT files, only interpret a line as a section delimiter if it contains exclusively dashes or equal signs. This enables rows starting with dashes. * Fix a spurious exception when reading integer compressed images with blanks. * Fixed a crash that occurred for files opened via fits.open(..., mode='update'), on Windows, and with numpy 2.0 installed. A warning is now emitted in cases most likely to escalate into undefined behavior (e.g., segfaults), i.e., when a closed memory map object is still referenced by external code. Please report any regression found. * Fixed a bug that caused models returned by non-linear fitters to have sync_constraints set to False, which caused constraints accessed through, e.g., Model.fixed to not be in sync with the fixed attribute of the parameters. * Fixed a bug that caused CompoundModel.without_units_for_data to return an incorrectly constructed model when the compound model contained a * or / operation, and which also caused fitting to not work correctly with compound models that contained * or / operations. * The OGIP parser is now less restrictive with strings that represent a unit that includes the sqrt function. For example, u.Unit("sqrt(m)**3", format="ogip") no longer causes a ValueError. * Fixed an edge-case bug in overlap_slices where the function could return an empty slice for non-overlapping slices. * Fixed a WCSAxes bug when overlaying a frame with default units that are not degrees. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=131 --- .gitattributes | 23 + .gitignore | 1 + _multibuild | 3 + astropy-6.1.1.tar.gz | 3 + astropy-6.1.2.tar.gz | 3 + python-astropy-rpmlintrc | 3 + python-astropy.changes | 5948 ++++++++++++++++++++++++++++++++++++++ python-astropy.spec | 246 ++ 8 files changed, 6230 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 astropy-6.1.1.tar.gz create mode 100644 astropy-6.1.2.tar.gz create mode 100644 python-astropy-rpmlintrc create mode 100644 python-astropy.changes create mode 100644 python-astropy.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/astropy-6.1.1.tar.gz b/astropy-6.1.1.tar.gz new file mode 100644 index 0000000..7b0f7b3 --- /dev/null +++ b/astropy-6.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5c6f45d911c30acb8d556c7f8ed994aec71b108e61eee5067f00af1e4e36138 +size 7050022 diff --git a/astropy-6.1.2.tar.gz b/astropy-6.1.2.tar.gz new file mode 100644 index 0000000..3330d45 --- /dev/null +++ b/astropy-6.1.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2103d4e24e90389a820cfcdaaf4ca2d1ab22e5fd72978d147ff5cace54f1d3a +size 7055575 diff --git a/python-astropy-rpmlintrc b/python-astropy-rpmlintrc new file mode 100644 index 0000000..21948b4 --- /dev/null +++ b/python-astropy-rpmlintrc @@ -0,0 +1,3 @@ +addFilter('devel-file-in-non-devel-package') +addFilter('hidden-file-or-dir .*/tests/data') +addFilter('zero-length .*/tests/data') diff --git a/python-astropy.changes b/python-astropy.changes new file mode 100644 index 0000000..ec77532 --- /dev/null +++ b/python-astropy.changes @@ -0,0 +1,5948 @@ +------------------------------------------------------------------- +Fri Aug 9 06:55:41 UTC 2024 - Dirk Müller + +- update to 6.1.2: + * When reading CDS and MRT files, only interpret a line as a + section delimiter if it contains exclusively dashes or equal + signs. This enables rows starting with dashes. + * Fix a spurious exception when reading integer compressed + images with blanks. + * Fixed a crash that occurred for files opened via + fits.open(..., mode='update'), on Windows, and with numpy 2.0 + installed. A warning is now emitted in cases most likely to + escalate into undefined behavior (e.g., segfaults), i.e., + when a closed memory map object is still referenced by + external code. Please report any regression found. + * Fixed a bug that caused models returned by non-linear fitters + to have sync_constraints set to False, which caused + constraints accessed through, e.g., Model.fixed to not be in + sync with the fixed attribute of the parameters. + * Fixed a bug that caused CompoundModel.without_units_for_data + to return an incorrectly constructed model when the compound + model contained a * or / operation, and which also caused + fitting to not work correctly with compound models that + contained * or / operations. + * The OGIP parser is now less restrictive with strings that + represent a unit that includes the sqrt function. For + example, u.Unit("sqrt(m)**3", format="ogip") no longer causes + a ValueError. + * Fixed an edge-case bug in overlap_slices where the function + could return an empty slice for non-overlapping slices. + * Fixed a WCSAxes bug when overlaying a frame with default + units that are not degrees. + +------------------------------------------------------------------- +Thu Jul 11 07:42:10 UTC 2024 - Ben Greiner + +- Revert numpy restriction. + +------------------------------------------------------------------- +Thu Jul 11 05:35:22 UTC 2024 - Steve Kowalik + +- Restrict numpy to < 2. + +------------------------------------------------------------------- +Tue Jun 25 06:14:33 UTC 2024 - Steve Kowalik + +- Update to 6.1.1: + * Let fitsdiff compare files with lower case HIERARCH keywords + * Fix writing a ``HDUList`` to file when numpy 2 is installed and at least + some of the data is represented as dask arrays. + * Fix display of diff reports with numpy 2. + * Ensure that also zero-length tables preserve whether integer data are + signed or unsigned. + * Fix YAML table serialization compatibility with numpy 2. + * Fix bugs in io.votable related to numpy 2's representation of scalars. + * Ensure that return types from ``sigma_clip`` ``cenfunc`` and ``stdfunc`` + are np.float64 for scalar values. + * Ensure structured ``MaskedColumn`` are serialized correctly, including + the mask. + * Fix problems converting Pandas Series to ``Table`` with numpy >=2.0. + * Ensure Time in ymdhms format can also be serialized to files as part of a + table if it is masked. + * Ensure Masked versions of ``np.recarray`` will show the correct class + name of ``MaskedRecarray`` in their ``repr``, and that they will be + serialized correctly if part of a table. + * Fix bugs with how masked structured arrays were represented with numpy 2. + * ``MaskedQuantity`` now works properly with ``np.block``. + * Fix a bug where ``WCSAxes`` could be missing negative signs on axis + labels when using matplotlib's ``usetex`` mode. + * Fix compilation with gcc 14, avoid implicit pointer conversions. +- Drop patch 16450.patch, included upstream. +- Remove upper bound on pytest, no longer required. + +------------------------------------------------------------------- +Mon May 27 09:49:39 UTC 2024 - John Paul Adrian Glaubitz + +- Cherry-pick upstream patch to fix build with GCC 14 + * https://github.com/astropy/astropy/pull/16450.patch + +------------------------------------------------------------------- +Sun May 5 09:45:35 UTC 2024 - Ben Greiner + +- Update to 6.1.0 + ## Highlights + * Updated minimum Python version to 3.10 + * Order-dependent angular separations now come with warnings + * io.ascii uses 64-integers by default for integer columns + * Changes to semantics of copy= keyword arguments + * Cosmology is now a dataclass() + ## New Features + ### astropy.coordinates + * BaseCoordinateFrame now has a position_angle() method, which is + the same as the position_angle method of SkyCoord instances. + [#15737] + * By default the SkyCoord and BaseCoordinateFrame separation() + methods now emit a warning if they have to perform a coordinate + transformation that is not a pure rotation to inform the user + that the angular separation can depend on the direction of the + transformation. It is possible to modify this behaviour with + the new optional keyword-only origin_mismatch argument. + Specifying origin_mismatch="ignore" allows any transformation + to succeed without warning, which has been the behaviour so + far. origin_mismatch="error" forbids all transformations that + are not pure rotations. [#16246] + ### astropy.io.ascii + * Clearer error message in reading ASCII tables when there is a + mismatch between converter type and column type. [#15991] + ### astropy.io.registry + * The module astropy.io.typing has been added to provide type + annotations for I/O-related functionality. [#15916] + ### astropy.samp + * SAMP web profile CORS HTTP server implements Private Network + Access proposal. [#16193] + ### astropy.table + * Table now has a setdefault() method, analogous to + dict.setdefault(). [#16188] + ### astropy.units + * Added a new module astropy.units.typing that provides support + for type annotations related to astropy.units. [#15860] + * Added a new CGS unit Oersted. [#15962] + * Added “surface brightness”, “surface brightness wav”, “photon + surface brightness”, and “photon surface brightness wav” to + recognized physical types. [#16032] + * Added magnetic helicity as a physical type. [#16101] + ### astropy.utils + * For gufuncs on Masked instances, add support for the axes + argument. [#16121] + * Masked instances now support the various numpy array set + operations, such as np.unique and np.isin. [#16224] + ### astropy.wcs + * Added support for slicing WCS objects containing cpdis or + det2im distortions, which previously were ignored. [#16163] + ## API Changes + ### astropy.coordinates + * The astropy.coordinates.transformations module has been + refactored into a module. There should be no user-visible + changes, but if you notice any, please open an Issue. [#15895] + * Changed the default value of the copy argument in + astropy.coordinates.representation.CylindricalDifferential.__init__ + from False to True, which is the intended behaviour for all + subclasses of + astropy.coordinates.representation.BaseDifferential. [#16198] + ### astropy.cosmology + * Cosmology and its subclasses are now frozen dataclass objects. + [#15484] + * The argument verbose in the function z_at_value is now + keyword-only. [#15855] + ### astropy.io.ascii + * The io.ascii Python and C table readers were updated to use a + 64-bit integer field by default when reading a column of + integer numeric data. This changes the default behavior on + Windows and potentially 32-bit architectures. Previously on + those platforms, table columns with any long integers which + overflowed the 32-bit integer would be returned as string + columns. The new default behavior is consistent with numpy v2 + and pandas. [#16005] + * The parallel fast-reader parser for reading ASCII files has + been removed. Since astropy v4.0.4 requesting this option has + issued a warning that this option is broken and that the serial + parser will be used. The parallel key in the fast_reader + argument for reading ASCII tables is no longer available. + [#16103] + ### astropy.table + * show_in_notebook is deprecated and it is recommended to use + dedicated tools in the Jupyter ecosystem to create interactive + plots in notebooks. [#15905] + * A warning is now emitted when Quantity values are inserted into + empty Column objects via Table.insert_row or Table.add_row. + [#16038] + * show_in_browser is deprecated (pending feedback from the + community). Please use astropy/astropy#16067 if you are + actively using the function. [#16068] + * TableColumns.setdefault() and TableColumns.update() methods + (which would typically be called as Table.columns.setdefault() + and Table.columns.update()) have been deprecated because they + can easily corrupt the Table instance the TableColumns instance + is attached to. The Table.setdefault() and Table.update() + methods are safe. [#16154] + ### astropy.time + * TIME_FORMATS and TIME_DELTA_FORMATS in astropy.time.formats are + changed from OrderedDict to Python dict. [#15491] + * A FutureWarning is now emitted when mutating Time.location + post-initialization. [#16063] + * Following the removal of np.ndarray.ptp in Numpy v2, Time.ptp + is now deprecated in favor of np.ptp. [#16212] + ### astropy.units + * If any iterable such as a list of tuple was input to Quantity, + a check was done to see if they contained only quantities, and, + if so, the quantities were concatenated. This makes sense for + list and tuple, but is not necessarily logical for all + iterables and indeed was broken for those that do not have a + length (such as array_api array instances). Hence, the check + will now be done only for values where it makes sense, i.e., + instances of list and tuple. [#15752] + * Units now exposes get_converter which returns a function that + will convert a scalar or array from one unit to another. This + can be useful to speed up code that converts many quantities + with the same unit to another one, especially if the quantity + has not many elements, so that the overhead of creating a + conversion function is relatively large. [#16139] + ### astropy.utils + * Deprecate importing ErfaError and ErfaWarning from + astropy.utils.exceptions. They should be imported directly from + erfa instead. [#15777] + * introspection.isinstancemethod() and + introspection.find_mod_objs() are deprecated. [#15934] + * astropy.utils.console.terminal_size is now deprecated in favour + of shutil.get_terminal_size from the standard library. [#16045] + * indent() is deprecated. Use textwrap.indent() from Python + standard library instead. [#16223] + * Unmasked Masked scalar instances are now considered hashable, + to match the implicit behaviour of regular arrays, where if an + operation leads to a scalar, a hashable array scalar is + returned. [#16224] + ### astropy.visualization + * Renamed the min_cut and max_cut keywords in simple_norm and + fits2bitmap to vmin and vmax. The old names are deprecated. + [#15621] + * If vmin == vmax, the ImageNormalize class now maps the input + data to 0. If vmin > vmax, the ImageNormalize class now raises + a ValueError. [#15622] + ## Bug Fixes + ### astropy.convolution + * Avoid a segfault when calling astropy.convolution.convolve on + an empty array. An exception is now raised instead. [#15840] + ### astropy.coordinates + * Previously passing a SkyCoord instance to the + BaseCoordinateFrame separation() or separation_3d() methods + could produce wrong results, depending on what additional frame + attributes were defined on the SkyCoord, but now SkyCoord input + can be used safely. [#15659] + * Distance now accepts as parallax any angle-like value. This + includes types like Column which have a unit but are not + Quantity subclasses. [#15712] + * The new default for the class method SkyCoord.from_name() is to + look for coordinates first in SIMBAD, then in NED, and then in + VizieR, instead of having no specific order. [#16046] + * Fix Angle.to_string() for angles in degrees represented in + ‘hms’ and angles in hours represented in ‘dms’. [#16085] + * Fix a bug where SkyCoord.spherical_offsets_by would crash when + a wrap was needed. [#16241] + * search_around_3d() now always raises a UnitConversionError if + the units of the distances in coord1 and coord2 and the unit of + distlimit do not agree. Previously the error was not raised if + at least one of the coordinates was empty. [#16280] + ### astropy.cosmology + * Fixed a bug where the attribute ParametersAttribute.attr_name + could be None instead of a string. [#15882] + ### astropy.io.ascii + * Reading of CDS header files with multi-line descriptions where + the continued line started with a number was broken. This is + now fixed. [#15617] + * Ensure that the names of mixin columns are properly propagated + as labels for the MRT format. [#15848] + * Fixed reading IPAC tables for long column type on some + platforms, e.g., Windows. [#16005] + ### astropy.io.fits + * Avoid WinError 1455 in opening some large files with memory + mapping on windows. [#15388] + * Fix TDISP parsing for floating numbers. [#16007] + * Fix a crash when calling FITS writeto methods with stdout as + the output stream. [#16008] + * Fix TDISP parsing for floating numbers in formats ES / EN. + [#16015] + * Fix conversion of Table to BinTableHDU with + character_as_bytes=True. [#16358] + * Improved error message when instantiating a fits table with an + ill-formed array. [#16363] + ### astropy.io.misc + * Reading an empty table stored in parquet format now creates an + empty table instead of raising an unexpected error. [#16237] + ### astropy.io.votable + * When reading a VOTable, if some user-requested columns were not + present then the resulting error message previously listed all + the requested column names. Now only columns that are actually + missing are shown. [#15956] + ### astropy.stats + * Fix a spurious warning when calling sigma_clipped_stats on a + MaskedColumn. [#15844] + ### astropy.table + * Fix a Table bug when setting items (via slice or index list) in + a bytes type MaskedColumn would cause the column mask to be set + to all False. A common way to trigger this bug was reading a + FITS file with masked string data and then sorting the table. + [#15669] + * Fix slicing logic for Row. Previously, slicing a + astropy.table.row.Row object would incorrectly return a column, + now it correctly returns a list of values from that row. + [#15733] + * Fix a ValueError raised by table.join when fed with large + tables. This would typically happen in situations when the + result joined table would be too large to fit in memory. In + those situations, the error message is now much more clearly + about the necessary memory size. [#15734] + * Fix an unintended exception being raised when attempting to + compare two unequal Table instances. [#15845] + * Ensure that if a Column is initialized with a Quantity it will + use by default a possible name defined on the quantity’s .info. + [#15848] + * Fix a bug where columns with dtype=object wouldn’t be properly + deep-copied using copy.deepcopy. [#15871] + * Fix hasattr(Table, "iloc") raising an exception, preventing use + of tables e.g. with scikit-learn. [#15913] + * Calling Table.group_by on an empty table no longer raises an + exception. [#16093] + * The unit conversion convert_unit_to with MaskedColumn was + broken as it was storing the old unit in a dictionary attached + to underlying np.ma.MaskedArray. This fixes it by overwriting + the old unit after unit conversion. [#16118] + * astropy.table.vstack will no longer modify the input list even + when it contains non-Table objects like astropy.table.Row. + [#16130] + * Update old dataTables.js version. This should not affect the + end user. [#16315] + ### astropy.time + * Fix comparing NaN Quantity with TimeDelta object. [#15830] + * Scalar Time instances are now hashable if they are not masked, + also if one uses Masked internally, matching the behaviour + prior to astropy 6.0 (and the current behaviour when masking + using np.ma.MaskedArray). [#16224] + ### astropy.units + * Fix rare signature incompatibilities between helper and helped + array functions. Most involve cases where the corresponding + numpy function has had its arguments renamed between numpy + versions. Since all those generally changed the first + arguments, which are typically passed as positional arguments, + this should not affect user code. Affected functions: - + numpy.array_str - numpy.choose - numpy.convolve - + numpy.correlate - numpy.histogram - numpy.histogramdd - + numpy.histogram2d - numpy.isin - numpy.inner - numpy.nanmedian + - numpy.unique - numpy.matrix_rank - numpy.unwrap - numpy.vdot + - numpy.lib.recfunctions.unstructured_to_structured [#15710] + * Fix an issue with unicode string representations of units shown + as superscripts (like degree) when raised to some power. Like + for LaTeX representations, now the superscript unicode + character is replaced by the literal short name before adding + the power. [#15755] + * Fix a missing Sun unit in the list of VOUnits simple_units. + [#15832] + * Fix an unhelpful TypeError when attempting truediv, lshift (<<) + or mul (*) or truediv (/) with a Unit for right operand and a + numpy array with non-numerical dtype for left operand. [#15883] + * Fix write/read roundtrips with empty Table dumped to ECSV. + [#15885] + * Fix a bug where LaTeX formatter would return empty strings for + unity (1) input. [#15923] + * Fix extraneous space in LaTeX repr for Quantity objects with + superscript units (e.g. angles or temperatures in degree + Celsius). [#16043] + * Ensure powers of units are consistently as simple as possible. + So, an integer if possible, otherwise a float, or a fraction if + the float is really close to that. This also ensures the hash + of a unit is unique for any given unit (previously, the same + power could be represented as float, int or fraction, which + made the hash different). [#16058] + * Ensure that find_equivalent_units only returns actual units, + not units that raised to some power match the requested one. + With this fix, (u.m**-3).find_equivalent_units() properly finds + nothing, rather than all units of length. [#16127] + * Using a dimensionless Quantity as an exponent works anew. In + astropy 6.0.1 an exception was erroneously raised. [#16261] + ### astropy.utils + * Fix rare signature incompatibilities between helper and helped + array functions. These typically cover corner cases and should + not affect user code. Some arguments weren’t being re-exposed + correctly or at all, depending on numpy’s version. Affected + functions: - numpy.broadcast_arrays - numpy.median - + numpy.quantile - numpy.empty_like - numpy.ones_like - + numpy.zeros_like - numpy.full_like [#16025] + * Fix a bug where astropy.utils.console.Spinner would leak + newlines for messages longer than terminal width. [#16040] + * Update report_diff_values so the diff no longer depends on the + console terminal size. [#16065] + * Fix support in Masked for generalized ufuncs with more than a + single core dimension (such as erfa.rxp). [#16120] + * Masked array instances now deal more properly with structured + dtypes, combining field masks to get element masks for + generalized ufuncs, and allowing .view() any time the mask can + be viewed as well. This allows a larger number of erfa routines + to work with masked data. [#16125] + ### astropy.visualization + * WCSAxes will correctly set certain defaults when + wcs.world_axis_physical_types contains custom: prefixes. + [#15626] + * Fix an edge case where quantity_support would produce duplicate + tick labels for small data ranges. [#15841] + * Fix a bug where AngleFormatterLocator and + ScalarFormatterLocator wouldn’t respect matplotlib.rc’s + axes.unicode_minus parameter. [#15902] + * Fixed a bug in CoordinateHelper.grid method to properly handle + draw_grid=False and draw_grid=None, ensuring grid lines are + controlled correctly even when not explicitly called. [#15985] + ### astropy.wcs + * Updated bundled WCSLIB version to 8.2.2. This update fixes + character buffer overflows in the comment string for the + longitude and latitude axes triggered by some projections in + wcshdo(), and also the formatting for generic coordinate + systems. For a full list of changes - see + http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or + astropy/cextern/wcslib/CHANGES [#15795] + * Fixed a bug in fit_wcs_from_points that does not set the + default value of the cdelt of the returned WCS object. [#16027] + * Fixed a bug in DistortionLookupTable (which implements cpdis + and det2im projection corrections to a WCS) in which image + pixels received an incorrect distortion value, from a location + in the lookup table incorrectly offset by about 1 table pixel. + [#16163] + ## Other Changes and Additions + * Update minimum supported Python version to 3.10 [#15603] + * The minimum required NumPy version is now 1.23 and the minimum + required SciPy version is 1.8. [#15706] + * Fix loading parser tabs on pyc-only installations. + * Fix a bug in the wrappers for the lex and yacc wrappers that + are used for parsing Astropy units so that they work on + pyc-only installations. + * According to the Python module loading flow chart, when + evaluating import foo and foo.py is not found, Python then + reads foo.pyc. + * One can take advantage of this fact to strip source files and + leave only Python bytecode files for deployment + inspace-constrained execution environments such as AWS Lambda. + Astropy is now compatible with pyc-only deployments. [#16159] + * Change the default value of copy arguments in public APIs from + False to None if Numpy 2.0 or newer is installed. For details, + see the “Copy semantics” section on the What’s New page for + Astropy 6.1 . [#16181] + +------------------------------------------------------------------- +Fri Mar 29 16:51:14 UTC 2024 - Ben Greiner + +- Update to 6.0.1 + ## Bug Fixes + ### astropy.coordinates + * Previously passing a SkyCoord instance to the + BaseCoordinateFrame separation() or separation_3d() methods + could produce wrong results, depending on what additional frame + attributes were defined on the SkyCoord, but now SkyCoord input + can be used safely. [#15659] + * Distance now accepts as parallax any angle-like value. This + includes types like Column which have a unit but are not + Quantity subclasses. [#15712] + * The new default for the class method SkyCoord.from_name() is to + look for coordinates first in SIMBAD, then in NED, and then in + VizieR, instead of having no specific order. [#16046] + ### astropy.io.ascii + * Reading of CDS header files with multi-line descriptions where + the continued line started with a number was broken. This is + now fixed. [#15617] + * Ensure that the names of mixin columns are properly propagated + as labels for the MRT format. [#15848] + * Fixed reading IPAC tables for long column type on some + platforms, e.g., Windows. [#15992] + ### astropy.io.fits + * Fix TDISP parsing for floating numbers. [#16007] + * Fix a crash when calling FITS writeto methods with stdout as + the output stream. [#16008] + * Fix TDISP parsing for floating numbers in formats ES / EN. + [#16015] + ### astropy.stats + * Fix a spurious warning when calling sigma_clipped_stats on a + MaskedColumn. [#15844] + ### astropy.table + * Fix a Table bug when setting items (via slice or index list) in + a bytes type MaskedColumn would cause the column mask to be set + to all False. A common way to trigger this bug was reading a + FITS file with masked string data and then sorting the table. + [#15669] + * Fix slicing logic for Row. Previously, slicing a + astropy.table.row.Row object would incorrectly return a column, + now it correctly returns a list of values from that row. + [#15733] + * Fix a ValueError raised by table.join when fed with large + tables. This would typically happen in situations when the + result joined table would be too large to fit in memory. In + those situations, the error message is now much more clearly + about the necessary memory size. [#15734] + * Fix an unintended exception being raised when attempting to + compare two unequal Table instances. [#15845] + * Ensure that if a Column is initialized with a Quantity it will + use by default a possible name defined on the quantity’s .info. + [#15848] + * The unit conversion convert_unit_to with MaskedColumn was + broken as it was storing the old unit in a dictionary attached + to underlying np.ma.MaskedArray. This fixes it by overwriting + the old unit after unit conversion. [#16118] + * astropy.table.vstack will no longer modify the input list even + when it contains non-Table objects like astropy.table.Row. + [#16130] + ### astropy.units + * Fix an issue with unicode string representations of units shown + as superscripts (like degree) when raised to some power. Like + for LaTeX representations, now the superscript unicode + character is replaced by the literal short name before adding + the power. [#15755] + * Fix a missing Sun unit in the list of VOUnits simple_units. + [#15832] + * Fix write/read roundtrips with empty Table dumped to ECSV. + [#15885] + * Fix a bug where LaTeX formatter would return empty strings for + unity (1) input. [#15923] + * Ensure powers of units are consistently as simple as possible. + So, an integer if possible, otherwise a float, or a fraction if + the float is really close to that. This also ensures the hash + of a unit is unique for any given unit (previously, the same + power could be represented as float, int or fraction, which + made the hash different). [#16058] + * Ensure that find_equivalent_units only returns actual units, + not units that raised to some power match the requested one. + With this fix, (u.m**-3).find_equivalent_units() properly finds + nothing, rather than all units of length. [#16127] + ### astropy.utils + * Fix a bug where astropy.utils.console.Spinner would leak + newlines for messages longer than terminal width. [#16040] + * Update report_diff_values so the diff no longer depends on the + console terminal size. [#16065] + * Fix support in Masked for generalized ufuncs with more than a + single core dimension (such as erfa.rxp). [#16120] + ### astropy.visualization + * Fix an edge case where quantity_support would produce duplicate + tick labels for small data ranges. [#15841] + ### astropy.wcs + * Updated bundled WCSLIB version to 8.2.2. This update fixes + character buffer overflows in the comment string for the + longitude and latitude axes triggered by some projections in + wcshdo(), and also the formatting for generic coordinate + systems. For a full list of changes - see + http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or + astropy/cextern/wcslib/CHANGES [#15795] + * Fixed a bug in fit_wcs_from_points that does not set the + default value of the cdelt of the returned WCS object. [#16027] + ## Other Changes and Additions + * Given the potential breaking changes with the upcoming Numpy + 2.0 release, this release pins Numpy<2.0 and support for Numpy + 2.0 will be added in the v6.1.0 release. + +------------------------------------------------------------------- +Tue Mar 19 10:51:28 UTC 2024 - Ben Greiner + +- Enable SLE15 python module for python311 + * Old version <=5.3.2 would be vulnerable boo#1221661 + CVE-2023-41334 + +------------------------------------------------------------------- +Thu Mar 7 10:42:18 UTC 2024 - Ben Greiner + +- Don't test with python39-ipython: not available anymore + +------------------------------------------------------------------- +Sat Dec 9 18:08:42 UTC 2023 - Ben Greiner + +- Update to 6.0.0 + ## New Features + ### astropy.config + * The new ConfigNamespace.help() method provides a convenient way + to get information about configuration items. [#13499] + ### astropy.coordinates + * Support has been added to create geodetic representations not + just for existing ellipsoids from ERFA, but also with + explicitly provided values, by defining a subclass of + BaseGeodeticRepresentation with the equatorial radius and + flattening assigned to _equatorial_radius and _flattening + attributes. [#14763] + * Add BaseBodycentricRepresentation, a new spheroidal + representation for bodycentric latitudes and longitudes. + [#14851] + * Support Numpy broadcasting over frame data and attributes. + [#15121] + ### astropy.cosmology + * Registered a latex writer for exporting a Cosmology object to a + LaTex table. [#14701] + * Added argument rename to Cosmology’s I/O, allowing for input + and output symbols to be renamed. [#14780] + * All non-abstract Cosmology subclasses are now automatically + registered to work with Astropy’s YAML serialization. [#14979] + * Cosmology I/O now auto-identifies the ‘.tex’ suffix with the + ‘ascii.latex’ format. [#15088] + * The Cosmology class now has a new property to access the + parameters of the cosmology: .parameters. This property return + a read-only dictionary of all the non-derived parameter values + on the cosmology object. When accessed from the class (not an + instance) the dictionary contains Parameter instances, not the + values. [#15168] + * The field default has been added to Parameter. This can be used + to introspect the default value of a parameter on a cosmology + class e.g. LambdaCDM.H0.default. [#15400] + ### astropy.io.fits + * Add new option decompress_in_memory to fits.open, to decompress + the whole file in memory at once, instead of decompressing the + file progressively as data is needed. Default behavior is + better for memory usage but sometimes slow, especially for + files with many small HDUs. [#15501] + ### astropy.io.votable + * Add support for Parquet serialization of VOTables. Writing of + this serialization is available with using the new + 'votable.parquet' format. [#15281] + * Added MIVOT feature through the MivotBlock class that allows + model annotations reading and writing in VOTable. [#15390] + ### astropy.modeling + * Added a GeneralSersic2D model that can have “boxy” or “disky” + isophotes. [#15545] + ### astropy.nddata + * A more flexible and/or compact string representation is now + available for NDData objects which visually indicates masked + entries, and provides for better for dask array support. + [#14438] + ### astropy.table + * The new Row.get() method, analogous to dict.get(), returns the + value of the specified column from the row if the column + present, otherwise it returns a fallback value, which by + default is None. [#14878] + ### astropy.time + * Masked Time instances now use astropy’s own Masked class + internally. This means that Masked input is now properly + recognized, and that masks get propagated also to Quantity + output (such as from a TimeDelta converted to a unit of time), + creating MaskedQuantity instances. [#15231] + * Added a TimeDelta format quantity_str that represents the time + delta as a string with one or more Quantity components. This + format provides a human-readable multi-scale string + representation of a time delta. The default output sub-format + is not considered stable in this release, please see + astropy/astropy#15485 for more information. [#15264] + ### astropy.uncertainty + * Uncertainty Distribution now support structured data types, and + as a result it now works also with EarthLocation. [#15304] + * Uncertainty Distribution can now be used inside + representations, which also allows basic support in SkyCoord. + While most calculations work, there are remaining issues. For + instance, the repr does not show that the coordinates are + distributions. [#15395] + ### astropy.units + * Add support for gc2gde and gd2gce erfa functions to allow + geodetic representations using equatorial radius and + flattening. [#14729] + ### astropy.utils + * The astropy.utils.metadata.MetaData default dictionary can now + be set with the default_factory keyword argument. [#15265] + * astropy.utils.decorators.deprecated now adds the __deprecated__ + attribute to the objects it wraps, following the practice in + https://peps.python.org/pep-0702/. [#15310] + ### astropy.visualization + * Add WCSAxes.text_coord method to print text using SkyCoord + objects parallel to plotting data points with + WCSAxes.plot_coord. [#14661] + ### astropy.wcs + * Support WCS descriptions of basic planetary coordinate frames. + [#14820] + * Updated bundled WCSLIB version to 8.1. This update adds support + planetary keywords A_RADIUS, B_RADIUS, C_RADIUS, BLON_OBS, + BLAT_OBS, and BDIS_OBS in auxprm and adds wcsprm::time to the + wcsprm struct to record the TIME axis. This update also + includes several bug fixes. For a full list of changes - see + http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES [#15035] + ## API Changes + ### astropy.config + * Removed deprecated ConfigurationMissingWarning class and + update_default_config function; There are no replacements as + they should no be used anymore. [#15466] + ### astropy.convolution + * Invalid kernel arithmetic operations now raise a + KernelArithmeticError instead of a bare Exception. [#14728] + * Added base KernelError error class and removed + DiscretizationError error class (a ValueError will be raised + instead). [#14732] + * discretize_model will now raise a ValueError if + mode='oversample' and factor does not have an integer value. + [#14794] + ### astropy.coordinates + * Removed deprecated angle parsing and formatting utilities from + angle_utilities. Use the functions from angle_formats instead. + [#14675] + * The deprecated functionality of initializing Angle or Longitude + from a tuple is no longer supported. [#15205] + * Angle-related classes and functions have been moved within + astropy.coordinates. There is no change to public API as + everything moved should still be imported from + astropy.coordinates, not a sub-module. If you are using private + API, try importing from astropy.coordinates instead. If you + need something that has been moved and is not available in + astropy.coordinates, please open an issue on the Astropy issue + tracker. [#15220] + * It is no longer possible to pass frame classes to the + transform_to() method of a low-level coordinate-frame class. It + is still possible to pass frame instances. The transform_to() + method of the high-level SkyCoord class is unaffected. [#15500] + ### astropy.cosmology + * Removed support of importing private constants and functions + from astropy.cosmology.flrw. [#14672] + * Removed deprecated Cosmology Parameter argument fmt. [#14673] + * Removed deprecated vectorize_if_needed and inf_like from + cosmology.utils. [#14677] + * Removed deprecated import paths from astropy.cosmology.core. + [#14782] + * Cosmology Parameter is now a dataclass, and can work with all + of Python’s dataclasses machinery, like field introspection and + type conversion. [#14874] + * A new property – scale_factor0 – has been added to Cosmology + objects. This is the scale factor at redshift 0, and is defined + to be 1.0. [#14931] + * Added registration label ascii.latex to Cosmology IO. [#14938] + * The private module astropy.cosmology.utils has been deprecated. + [#14980] + * Removed deprecated get_cosmology_from_string class method in + default_cosmology; use get instead. [#15467] + ### astropy.io.ascii + * Several arguments in functions within astropy.io.ascii have + been deprecated and are either renamed or scheduled to be + removed. + * read(): - Reader will be removed. Instead supply the equivalent + format argument. - Inputter has been renamed to inputter_cls. - + Outputter has been renamed to outputter_cls. + * get_reader(): - Reader has been renamed to reader_cls. - + Inputter has been renamed to inputter_cls. - Outputter has been + renamed to outputter_cls. + * write(): - Writer will be removed. Instead supply the + equivalent format argument. + * get_writer(): - Writer has been renamed to writer_cls. [#14914] + * Removed deprecated astropy.io.ascii.tests.common.raises test + helper; use pytest.raises instead. [#15470] + ### astropy.io.fits + * Deprecate _ExtensionHDU and _NonstandardExtHDU (use + ExtensionHDU or NonstandardExtHDU instead). [#15396] + * Remove special handling of TCTYP TCUNI TCRPX TCRVL TCDLT TRPOS + (#7157). [#15396] + * Rename and deprecate TableHDU.update to TableHDU.update_header, + for consistency with ImageHDU. [#15396] + ### astropy.io.misc + * Removed deprecated astropy.io.misc.asdf subpackage. Use + asdf-astropy package instead. [#14668] + * fnunpickle and fnpickle are deprecated because they are not + used anywhere within astropy. If you must, use the module from + Python standard library but be advised that pickle is insecure + so you should only unpickle data that you trust. [#15418] + ### astropy.io.votable + * Removed deprecated pedantic option from the + astropy.io.votable.table.parse() function and the corresponding + configuration setting. Use the verify option instead. [#14669] + * Class astropy.io.votable.tree.Table has been renamed to + TableElement to avoid sharing the name with + astropy.table.Table. [#15372] + * Fully removed support for version = ‘1.0’ on + VOTableFile__init__() and changed its tests to check correctly. + It was raising a DeprecationWarning and now is raising a + ValueError. [#15490] + ### astropy.modeling + * Removed the AliasDict class from modeling.utils. [#12943] + * Creating a model instance with parameters that have + incompatible shapes will now raise a ValueError rather than an + IncompatibleShapeError. [#15209] + * Removal of deprecated code _model_to_fit_params and + _fitter_to_model_params from fitting.py. [#15461] + ### astropy.stats + * The BoxLeastSquares, BoxLeastSquaresResults and LombScargle + classes are not available from astropy.stats anymore, they are + now available only from astropy.timeseries. [#15530] + ### astropy.tests + * Removed deprecated deprecation, warning, and exception handling + functionality provided by astropy.tests.helper. [#14670] + * astropy.tests.command.FixRemoteDataOption and + astropy.tests.command.AstropyTest are deprecated. They are no + longer necessary after sunsetting astropy-helpers. [#15204] + ### astropy.time + * Time has switched to use Masked arrays internally, instead of + indicating masked values using NaN in the internal jd2 + attribute. As a result, any output from instances, such as one + gets with, say, the .isot format, will also use Masked by + default. + * For backwards compatibility, a new configuration item, + astropy.time.conf.masked_array_type is introduced which is set + to “astropy” by default (which indicates one wants to use + Masked), but can also be set to “numpy”, in which case + numpy.ma.MaskedArray will be used where possible (essentially, + for all but Quantity). [#15231] + * Changed the TimeDelta init signature to be consistent with that + of Time. Previously the argument order was val, val2, format, + scale, copy. Now the order is val, val2, format, scale, *, + precision, in_subfmt, out_subfmt, copy, where the arguments + after the * must be specified by keyword. [#15264] + ### astropy.timeseries + * Removed deprecated midpoint_epoch in fold function; use + epoch_time instead. [#15462] + ### astropy.uncertainty + * The .dtype attribute exposed by Distribution is now that of the + samples, rather than one that has a “samples” entry. This makes + quantities with structured data types and units easier to + support, and generally makes the Distribution appear more + similar to regular arrays. It should have little effect on + code. For instance, distribution["samples"] still will return + the actual distribution. + * As a consequence of this refactoring, most arrays that are not + C-contiguous can now be viewed and will thus not be copied on + input any more. The only exceptions are arrays for which the + strides are negative. + * Note that the true data type is considered an implementation + detail. But for reference, it now is a structured data type + with a single field, “samples”, which itself is an array of + “sample” fields, which contain the actual data. [#15304] + ### astropy.units + * Like np.ndarray, under numpy 2.0 Quantity and all its + subclasses (Angle, Masked, etc.) will no longer support the + .ptp() method. Use np.ptp(...) instead. + * Similarly, support for the much less frequently used + .newbyteorder() and .itemset() methods has been removed. + [#15378] + * The following deprecated functionality has been removed: + - littleh unit and with_H0 equivalency. They are still + available from cosmology.units. + - brightness_temperature equivalency no longer automatically + swaps the order of its arguments if it does not match the + expectation. + - PhysicalType no longer supports str methods and attributes. + [#15514] + ### astropy.utils + * Removed deprecated OrderedDescriptor, + OrderedDescriptorContainer, and set_locale in + astropy.utils.misc. [#14679] + * is_path_hidden() and walk_skip_hidden() are deprecated. + [#14759] + * The structure of utils.metadata has been refactored, but all + the available functions and classes are still present and + should be imported as before. [#15166] + * The astropy.utils.metadata.MetaData class, which is used + throughout astropy to carry metadata on tables, columns, etc., + can now also be used on dataclasses. + * When accessing the meta attribute on a class + astropy.utils.metadata.MetaData now returns None instead of + itself. [#15237] + * The astropy.utils.metadata.MetaData class, which is used + throughout astropy to carry metadata on tables, columns, etc., + can now also be used on frozen dataclasses. [#15404] + * Removed deprecated version_path in minversion function; it is + no longer used. [#15468] + ### astropy.visualization + * The bboxes, ticklabels_bbox, and tick_out_size arguments to + astropy.visualization.wcaxes.ticklabels.TickLabels.draw() now + have no effect and are deprecated. This is to allow rasterized + ticks to be drawn correctly on WCSAxes. [#14760] + * It is now not possible to pass any keyword arguments to + astropy.visualization.wcsaxes.WCSAxes.draw(). Previously + passing any keyword arguments would have errored anyway, as + matplotlib.axes.Axes.draw() does not accept keyword arguments. + [#14772] + * Deprecated the exp attribute in the LogStretch, + InvertedLogStretch, PowerDistStretch, and + InvertedPowerDistStretch stretch classes, and the power + attribute in the PowerStretch. Instead, use the a attribute, + which matches the input keyword. [#15538] + * Removed the maximum value of the a parameter in the + AsinhStretch and SinhStretch stretch classes. [#15539] + ### astropy.wcs + * Removed deprecated accuracy from all_world2pix method in WCS; + use tolerance instead. [#15464] + * NoConvergence no longer accepts arbitrary keyword arguments. + [#15504] + ## Bug Fixes + ### astropy.coordinates + * Fixed minor bug when getting solar system positions of objects + from Type 3 SPICE kernel files. [#15612] + ### astropy.cosmology + * The exponent in w0wzCDM.de_density_scale has been corrected to + 3, from -3. This correction has also been made to the scalar + inv_efunc cpython functions. [#14991] + * pandas.Series are now uniformly converted to their underlying + data type when given as an argument to a Cosmology method. + [#15600] + ### astropy.io.fits + * Reading a table from FITS now respects the TNULL property of a + column, passing it into the column’s fill_value. [#14723] + * Fix crash when a PrimaryHDU has a GROUPS keyword with a + non-boolean value (i.e. not a random-groups HDU). [#14998] + * Fixed a bug that caused Cutout2D to not work correctly with + CompImageHDU.section [#14999] + * Fixed a bug that caused compressed images with TFORM missing + the optional ‘1’ prefix to not be readable. [#15001] + * Ensure that tables written to FITS with both masked and + unmasked columns roundtrip properly (previously, all integer + columns would become masked if any column was masked). [#15473] + * Fix segfault with error report in tile decompression. [#15489] + ### astropy.io.votable + * Output of repr for VOTable instance now clearly shows it is a + VOTable and not generic astropy Table. [#14702] + ### astropy.modeling + * All models can be pickled now. [#14902] + ### astropy.nddata + * Restore bitmask propagation behavior in NDData.mask, plus a fix + for arithmetic between masked and unmasked NDData objects. + [#14995] + ### astropy.table + * Table.as_array now respects the fill_value property of masked + columns. [#14723] + * Fix a bug where table indexes were not using a stable sort + order. This was causing the order of rows within groups to not + match the original table order when an indexed table was + grouped. [#14907] + * Fixed issue #14964 that when grouping a Table on a mixin column + such as Quantity or Time, the grouped table keys did not + reflect the original column values. For Quantity this meant + that the key values were pure float values without the unit, + while for Time the key values were the pair of jd1 and jd2 + float values. [#14966] + ### astropy.time + * Ensure that the Time caches of formats and scales do not get + out of sync with the actual data, even if another instance, + holding a view of the data is written to. E.g., if one does t01 + = t[:2], and sets t[0] after, it is now guaranteed that + t01.value will correctly reflect that change in value. [#15453] + ### astropy.units + * In VOunits, “pix”, “au”, “a”, and “ct” are removed from the + list of deprecated units. [#14885] + ### astropy.utils + * Ufuncs with more than 2 operands (such as erfa.dtf2d) now work + also if all inputs are scalars and more than two inputs have + masks. [#15450] + * Ensured that str(masked_array) looks like str(unmasked_array) + also for array scalars. Thus, like regular array scalars, the + precision is ignored for float, and strings do not include + extra quoting. [#15451] + ### astropy.visualization + * The location of ticklabels on a WCSAxes is now correctly + calculated when the figure is rasterized. [#14760] + * Fixed a bug where a ValueError would be raised in the + AsinhStretch and SinhStretch classes for valid a parameter + values. [#15539] + ### astropy.wcs + * wcs.validate(filename) now properly closes the file handler. + [#15054] + * Fix a regression in custom WCS mapping due to the recent + introduction of Solar System frames. [#15630] + ## Other Changes and Additions + * The minimum supported version of NumPy is now 1.22. [#15006] + * Moved International Earth Rotation and Reference Systems (IERS) + and Leap Second files out into standalone astropy-iers-data + package, maintaining full backward-compatibility in the + astropy.utils.iers API. Deprecation warnings may be issued when + certain files are accessed directly. [#14819] + * Switch from using setup.cfg for project configuration to using + pyproject.toml. [#15247] + * Update bundled expat to 2.5.0. [#15585] +- Drop astropy-pr15479-pvstar.patch + +------------------------------------------------------------------- +Wed Nov 8 01:37:46 UTC 2023 - Ben Greiner + +- Add astropy-pr15479-pvstar.patch + * PR gh#astropy/astropy#15479 backports gh#astropy/astropy#15476 + * Issue at gh#astropy/astropy#15537 + +------------------------------------------------------------------- +Fri Oct 6 08:19:42 UTC 2023 - Ben Greiner + +- Update to 5.3.4 + ## Bug Fixes + ### astropy.io.misc + * Updated ``astropy.io.misc.yaml`` so ``dump()` with a numpy + object array or ``load()`` with YAML representing a Numpy + object array both raise ``TypeError``. This prevents problems + like a segmentation fault. [#15373] + ### astropy.io.votable + * Fixed a bug in ``convert_to_writable_filelike`` where + ``GzipFile`` was not closed properly. [#15359] + ### astropy.units + * In VOUnit, the spaces around the slash were removed in the + formatting of fractions, and fractional powers now also use the + "**" operator. [#15282] + * We now ensure that the unit ``u.cgs.cm`` is just an alias of + ``u.si.cm``, instead of a redefinition. This ensures that + ``u.Unit("cm") / u.cm`` will reliably cancel to dimensionless + (instead of some "cm / cm"). [#15368] + ### astropy.utils + * For ``Masked``, ``np.ptp`` and the ``.ptp()`` method now + properly account for the mask, ensuring the result is identical + to subtracting the maximum and minimum (with the same + arguments). [#15380] + ## Other Changes and Additions + * Compatibility with Python 3.12. [#14784] + * Replaced the URL of ``IETF_LEAP_SECOND_URL`` because the + original is now defunct and IETF now defers to IANA for such + look-up. [#15421] + +------------------------------------------------------------------- +Thu Sep 14 08:30:11 UTC 2023 - Ben Greiner + +- Update to 5.3.3 + ## Bug Fixes + ### astropy.coordinates + * TransformGraph.to_dot_graph() now throws an exception for + invalid savelayout. + ### astropy.cosmology + * The exponent of w0wzCDM functions in inv_efunc has been + corrected to 3, from -3. [#15224] + ### astropy.modeling + * Astropy modeling can filter non-finite data values using the + filter_non_finite keyword argument in a fitter call. Now when + filter_non_finite is True, non-finite weights will also be + filtered to prevent crashes in LevMarLSQFitter. [#15215] + ### astropy.units + * Fixed astropy.units.Quantity’s implementation of + numpy.nanmedian(), where for Numpy >= 1.25 an exception was + raised for some array shapes and axis combinations. [#15228] + ## Other Changes and Additions + * v5.3.x will not support NumPy 2.0 or later. [#15234] +- Restrain to Cython < 3 -- gh#astropy/astropy#15315 + +------------------------------------------------------------------- +Tue Aug 22 17:19:38 UTC 2023 - Ben Greiner + +- Update to 5.3.2 + ### astropy.coordinates + * Fixed import when called with Python -OO flag. [#15037] + ### astropy.nddata + * Fix for collapse operations on NDData without masks or units. + [#15082] + ### astropy.units + * Modified the implementation of np.power() for instances of + Quantity to allow any array as the second operand if all its + elements have the same value. [#15101] + +------------------------------------------------------------------- +Sun Jul 16 11:41:17 UTC 2023 - Dirk Müller + +- update to 5.3.1: + * The exponent in ``wowzCDM.de_density_scale`` has been + corrected to 3, from -3. + * Fix crash when a PrimaryHDU has a GROUPS keyword with a non- + boolean value (i.e. not a random-groups HDU). + * Fixed a bug that caused ``Cutout2D`` to not work correctly + with ``CompImageHDU.section`` + * Fixed a bug that caused compressed images with TFORM missing + the optional '1' prefix to not be readable. [#15001] + * Restore bitmask propagation behavior in ``NDData.mask``, plus + a fix for arithmetic between masked and unmasked ``NDData`` + objects. + * Fix a bug where table indexes were not using a stable sort + order. This was causing the order of rows within groups to + not match the original table order when an indexed table + was grouped. [#14907] + * In VOunits, "pix", "au", "a", and "ct" are removed from the + list of deprecated units. [#14885] + +------------------------------------------------------------------- +Sat Jul 1 14:04:02 UTC 2023 - Ben Greiner + +- Update to 5.3 + * New flat astropy.cosmology classes + * New union operators for Table + * Efficient data access for compressed FITS files + * Added support for NOCOMPRESS for compressed FITS files + * New fraction option for representing units as strings + * Change in order in unit string representations + * Support for collapse operations on arbitrary axes in nddata + * Refresh cached observatory site registry for EarthLocation + methods + * Support for collapse operations on arbitrary axes in nddata + * New LombScargleMultiband class for multiband datasets +- Remove unbundling of cfitsio -- gh#astropy/astropy#14311 + +------------------------------------------------------------------- +Wed Apr 26 09:56:37 UTC 2023 - Ben Greiner + +- Update to 5.2.2 + ## Bug Fixes + ### astropy.io.ascii + * CDS and MRT tables with units that contain with multiple + divisions, such as km/s/Mpc now parse correctly as being equal + to km/(s.Mpc). [#14369] + ### astropy.io.fits + * Fix FITSDiff when table contains a VLA column with the Q type. + [#14539] + ### astropy.table + * Fix a bug when creating a QTable when a Quantity input column + is present and the units argument modifies the unit of that + column. This now works as expected where previously this caused + an exception. [#14357] + ### astropy.units + * CDS units with multiple divisions, such as km/s/Mpc now parse + correctly as being equal to km/(s.Mpc). [#14369] + ### astropy.wcs + * Fixed a bug that caused subclasses of BaseHighLevelWCS and + HighLevelWCSMixin to not work correctly under certain + conditions if they did not have world_n_dim and pixel_n_dim + defined on them. [#14495] + +------------------------------------------------------------------- +Sun Feb 19 20:49:30 UTC 2023 - Ben Greiner + +- Don't test with skyfield on python311: gh#brandon-rhodes/assay#15 + +------------------------------------------------------------------- +Fri Jan 13 16:19:31 UTC 2023 - Ben Greiner + +- Update to 5.2.1 + ## Bug Fixes + ### astropy.coordinates + * Fix to ITRS frame earth_location attribute to give the correct + result for a topocentric frame. [#14180] + ### astropy.cosmology + * Bounds are no longer passed to the scipy minimizer for methods + Brent and Golden. The scipy minimizer never used the bounds but + silently accepted them. In scipy v1.11.0.dev0+ an error is + raised, so we now pass None as the bounds to the minimizer. + Users should not be affected by this change. [#14232] + ### astropy.io.fits + * Tables with multidimensional variable length array can now be + properly read and written. [#13417] + ### astropy.units + * Modified the behavior of numpy.histogram(), + numpy.histogram_bin_edges(), numpy.histogram2d(), and + numpy.histogramdd() so that the range argument must a + compatible instance of astropy.units.Quantity if the other + arguments are instances of astropy.units.Quantity. [#14213] + ### astropy.visualization + * Improved the performance of drawing WCSAxes grids by skipping + some unnecessary computations. [#14164] + * Fixed WCSAxes sometimes triggering a NumPy RuntimeWarning when + determining the coordinate range of the axes. [#14211] + ## Other Changes and Additions + * Fix compatibility with Numpy 1.24. [#14193] +- Drop astropy-pr14194-numpy1.24.patch + +------------------------------------------------------------------- +Wed Dec 21 22:56:59 UTC 2022 - Ben Greiner + +- Update to 5.2 + * Astropy 5.2 is a major release that adds significant new + functionality since the 5.1 release. + * In particular, this release includes: + * Quantity data types + * Updates to astropy.cosmology + * Topocentric ITRS Frame + * Enhanced Fixed Width ASCII Tables + * Accessing cloud-hosted FITS files + * Drawing the instrument beam and a physical scale bar on + celestial images + * Interior ticks and tick labels + * Support for tilde-prefixed paths + * CCDData PSF Image representation + * In addition to these major changes, Astropy 5.2 includes a + large number of smaller improvements and bug fixes. +- Move to PEP517 build +- Revert rpmlintrc: the whitelist error category has been removed + from rpmlint +- Add astropy-pr14194-numpy1.24.patch gh#astropy/astropy#14194 + +------------------------------------------------------------------- +Mon Nov 21 11:03:53 UTC 2022 - Ben Greiner + +- Whitelist stupid rpmlint error + * https://docs.astropy.org/en/latest/development/testguide.html#astropy-test + * gh#rpm-software-management/rpmlint#965 + +------------------------------------------------------------------- +Sun Oct 23 10:46:04 UTC 2022 - Ben Greiner + +- Update to 5.1.1 + # API Changes + ## astropy.wcs + * The pixel argument to + astropy.visualization.wcsaxes.ticklabels.TickLabels.add no + longer does anything, is deprecated, and will be removed in a + future astropy version. It has been replaced by a new required + data argument, which should be used to specify the data + coordinates of the tick label being added. + * This changes has been made because it is (in general) not + possible to correctly calculate pixel coordinates before + Matplotlib is drawing a figure. [#12630] + # Bug Fixes + ## astropy.coordinates + * Fixed a bug that prevented SkyOffsetFrame instances to be + pickled by adding a custom __reduce__ method to the class (see + issue #9249). [#13305] + * Fixed the check for invalid Latitude values for float32 values. + Latitude now accepts the float32 value of pi/2, which was + rejected before because a comparison was made using the + slightly smaller float64 representation. See issue #13708. + [#13745] + ## astropy.io.ascii + * Fixed confusing chained exception messages of read() function + when it fails. [#13170] + * When writing out a :class:`~astropy.table.Table` to HTML + format, the formats keyword argument to the + :meth:`~astropy.table.Table.write` method will now be applied. + [#13453] + ## astropy.io.fits + * heapsize is now checked for VLA tables. An error is thrown + whether P format is used but the heap size is bigger than what + can be indexed with a 32 bit signed int. [#13429] + * Fix parsing of ascii TFORM when precision is missing. [#13520] + * A compressed image HDU created from the header of a PRIMARY + HDU, now correctly updates 'XTENSION' and 'SIMPLE' keywords. + [#13557] + * Empty variable-length arrays are now properly handled when + pathological combinations of heapoffset and heapsize are + encountered. [#13621] + * PCOUNT and GCOUNT keywords are now removed from an uncompressed + Primary header, for compliancy with fitsverify behavior. + [#13753] + ## astropy.modeling + * Bugfix for using MagUnit units on model parameters. [#13158] + * Fix bug in using non-linear fitters to fit 0-degree polynomials + using weights. [#13628] + ## astropy.table + * Fix a problem where accessing one field of a structured column + returned a Column with the same info as the original column. + This resulted in unintuitive behavior in general and an + exception if the format for the column was set. [#13269] + * Tables with columns with structured data can now be properly + stacked and joined. [#13306] + * Update jQuery to 3.6.0, to pick up security fixes. [#13438] + * Fix a Python 3.11 compatibility issue. Ensure that when + removing a table column that the pprint_include_names or + pprint_exclude_names attributes get updated correctly. [#13639] + * When using add_columns with same indexes in indexes option or + without specifying the option, the order of the new columns + will now be kept. [#13783] + * Fix a bug when printing or getting the representation of a + multidimensional table column that has a zero dimension. + [#13838] + * Ensure that mixin columns and their info are not shared between + tables even when their underlying data is shared with + copy=False. [#13842] + ## astropy.time + * Fix Time.insert() on times which have their out_subfmt set. + [#12732] + * Prevent Time() from being initialized with an invalid precision + leading to incorrect results when representing the time as a + string. [#13068] + * Fix a bug in Time where a date string like "2022-08-01.123" was + being parsed as an ISO-format time "2022-08-01 00:00:00.123". + The fractional part at the end of the string was being taken as + seconds. Now this raises an exception because the string is not + in ISO format. [#13731] + ## astropy.units + * Significantly improved the performance of parsing composite + units with the FITS format, by ensuring the detailed_exception + argument is properly passed on and thus used. [#12699] + * Ensure that np.concatenate on quantities can take a dtype + argument (added in numpy 1.20). [#13323] + * Ensure that the units of any initial argument to reductions + such as np.add.reduce (which underlies np.sum) are properly + taken into account. [#13340] + ## astropy.utils + * Ensure that np.concatenate on masked data can take a dtype + argument (added in numpy 1.20). [#13323] + * Fix error when suppressing download progress bar while using + non-default sys.stdout stream. [#13352] + * Ensure str and repr work properly for Masked versions of + structured subarrays. [#13404] + * If an attribute is created using deprecated_attribute() with + the alternative argument then getting or setting the value of + the deprecated attribute now accesses its replacement. [#13824] + ## astropy.visualization + * Fixed calling .tight_layout() on a WCSAxes. [#12418] + ## astropy.wcs + * WCS.pixel_to_world now creates an EarthLocation object using + MJD-AVG if present before falling back to the old behaviour of + using MJD-OBS. [#12598] + * The locations of WCSAxes ticks and tick-labels are now + correctly calculated when the DPI of a figure changes between a + WCSAxes being created and the figure being drawn, or when a + rasterized artist is added to the WCSAxes. [#12630] + * Fix a bug where SlicedLowLevelWCS.world_to_pixel_values would + break when the result of the transform is dependent on the + coordinate of a sliced out pixel. [#13579] + * Updated bundled WCSLIB version to 7.12. This update includes + bug fixes to wcssub() in how it handles temporal axes with -TAB + and fixes handling of status returns from linp2x() and linx2p() + relating to distortion functions, in particular affecting TPV + distortions - see #13509. For a full list of changes - see + http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or + astropy/cextern/wcslib/CHANGES. [#13635] + * Fixed WCS validation not working properly if HDUList is needed + for multi-extension FITS file. [#13668] + +------------------------------------------------------------------- +Mon Jun 20 09:55:12 UTC 2022 - Ben Greiner + +- Skip two tests because of hypothesis -- gh#astropy/astropy#13275 + +------------------------------------------------------------------- +Tue May 31 20:51:59 UTC 2022 - Ben Greiner + +- Skip two test categories segfaulting: gh#astropy/astropy#13286 + +------------------------------------------------------------------- +Thu May 26 15:46:09 UTC 2022 - Ben Greiner + +- Update to 5.1 + * Astropy 5.1 is a major release that adds significant new + functionality since the 5.0 LTS release. + * In particular, this release includes: + - Updates to cosmology + - doppler_redshift() equivalency + - Specifying data types when reading ASCII tables + - Structured Columns + - New model fitters have been added + - Allow time conversions without predictive Earth rotation data + (IERS-A) + - Uncertainty classes can be transformed into each other + - Schechter1D Model + * In addition to these major changes, Astropy v5.1 includes a + large number of smaller improvements and bug fixes, which are + described in the Full Changelog. + +------------------------------------------------------------------- +Sat Apr 23 19:27:14 UTC 2022 - Ben Greiner + +- Enable tests requiring Pytest 7 + +------------------------------------------------------------------- +Fri Apr 1 17:57:36 UTC 2022 - Ben Greiner + +- Update to 5.0.4 + # Bug Fixes + ## astropy.modeling + * Fixed the Gaussian2D bounding_box when theta is an angular + Quantity. [#13021] + ## astropy.utils + * Reverted astropy.utils.iers.iers.IERS_A_URL to + maia.usno.navy.mil domain instead of NASA FTP to work around + server issues. [#13004] + # Other Changes and Additions + * Updated bundled WCSLIB to version 7.9 with several bugfixes and + added support for time coordinate axes in wcsset() and + wcssub(). The four-digit type code for the time axis will have + the first digit set to 4, i.e., four digit code will be 4xxx + where x is a digit 0-9. For a full list of bug fixes see + https://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES [#12994] + (when building --without system_wcslib) +- Release 5.0.3 + # Bug Fixes + ## astropy.convolution + * Bugfix in astropy.convolution.utils.discretize_model which + allows the function to handle a CompoundModel. Before this fix, + discretize_model was confusing CompoundModel with a callable + function. [#12959] + ## astropy.io.fits + * Fix write and read FITS tables with multidimensional items, + using from_columns without previousely defined ColDefs + structure. [#12863] + ## astropy.io.votable + * Fix VOTable linting to avoid use of shell option. [#12985] + astropy.utils + * Fix XML linting to avoid use of shell option. [#12985] + # Other Changes and Additions + * Updated the bundled CFITSIO library to 4.1.0. [#12967] + (when building --without system_cfitsio) + +------------------------------------------------------------------- +Sun Mar 13 08:10:02 UTC 2022 - Ben Greiner + +- Update to 5.0.2 + astropy.io.ascii + * Bugfix to add backwards compatibility for reading ECSV version + 0.9 files with non-standard column datatypes (such as `object`, + `str`, `datetime64`, etc.), which would raise a ValueError in + ECSV version 1.0. [#12880] + * astropy.io.misc + * Bugfix for `units_mapping` schema's property name conflicts. + Changes: + - `inputs` to `unit_inputs` + - `outputs` to `unit_outputs` [#12800] + astropy.io.votable + * Fixed a bug where `astropy.io.votable.validate` was printing + output to `sys.stdout` when the `output` paramter was set to + `None`. `validate` now returns a string when `output` is set to + `None`, as documented. [#12604] + astropy.modeling + * Fix handling of units on `scale` parameter in BlackBody model. + [#12318] + * Indexing on models can now be used with all types of integers + (like `numpy.int64`) instead of just `int`. [#12561] + * Fix computation of the separability of a `CompoundModel` where + another `CompoundModel` is on the right hand side of the `&` + operator. [#12907] + * Provide a hook (`Model._calculate_separability_matrix`) to + allow subclasses of `Model` to define how to compute their + separability matrix. [#12900] + astropy.stats + * Fixed a bug in which running + `kuiper_false_positive_probability(D,N)` on distributions with + many data points could produce NaN values for the false + positive probability of the Kuiper statistic. [#12896] + astropy.wcs + * Fixed a bug due to which `naxis`, `pixel_shape`, and + `pixel_bounds` attributes of `astropy.wcs.WCS` were not + restored when an `astropy.wcs.WCS` object was unpickled. This + fix also eliminates `FITSFixedWarning` warning issued during + unpiclikng of the WCS objects related to the number of axes. + This fix also eliminates errors when unpickling WCS objects + originally created using non-default values for `key`, + `colsel`, and `keysel` parameters. [#12844] + +------------------------------------------------------------------- +Fri Jan 28 19:27:20 UTC 2022 - Ben Greiner + +- Update to 5.0.1 + astropy.coordinates + * Trying to create an instance of astropy.coordinates.Distance by + providing both z and parallax now raises the expected + ValueError. [#12531] + * Fixed a bug where changing the wrap angle of the longitude + component of a representation could raise a warning or error in + certain situations. [#12556] + * astropy.coordinates.Distance constructor no longer ignores the + unit keyword when parallax is provided. [#12569] + astropy.cosmology + * astropy.cosmology.utils.aszarr can now convert Column objects. + [#12525] + * Reading a cosmology from an ECSV will load redshift and Hubble + parameter units from the cosmology units module. [#12636] + astropy.io.fits + * Fix formatting issue in _dump_coldefs and add tests for + tabledump and tableload convenience functions. [#12526] + astropy.io.misc + * YAML can now also represent quantities and arrays with + structured dtype, as well as structured scalars based on + np.void. [#12509] + astropy.modeling + * Fixes error when fitting multiplication or division based + compound models where the sub-models have different output + units. [#12475] + * Bugfix for incorrectly initialized and filled parameters data + for Spline1D model. [#12523] + * Bugfix for keyerror thrown by Model.input_units_equivalencies + when used on fix_inputs models which have no set unit + equivalencies. [#12597] + astropy.table + * astropy.table.Table.keep_columns() and + astropy.table.Table.remove_columns() now work with generators + of column names. [#12529] + * Avoid duplicate storage of info in serialized columns if the + column used to serialize already can hold that information. + [#12607] astropy.timeseries + * Fixed edge case bugs which emerged when using + aggregate_downsample with custom bins. [#12527] + astropy.units + * Structured units can be serialized to/from yaml. [#12492] + * Fix bad typing problems by removing interaction with + NDArray.__class_getitem__. [#12511] + * Ensure that Quantity.to_string(format='latex') properly + typesets exponents also when + u.quantity.conf.latex_array_threshold = -1 (i.e., when the + threshold is taken from numpy). [#12573] + * Structured units can now be copied with copy.copy and + copy.deepcopy and also pickled and unpicked also for protocol + >= 2. This does not work for big-endian architecture with older + numpy<1.21.1. [#12583] + astropy.utils + * Ensure that a Masked instance can be used to initialize (or + viewed as) a numpy.ma.Maskedarray. [#12482] + * Ensure Masked also works with numpy >=1.22, which has a keyword + argument name change for np.quantile. [#12511] + * astropy.utils.iers.LeapSeconds.auto_open() no longer emits + unnecessary warnings when astropy.utils.iers.conf.auto_max_age + is set to None. [#12713] + +------------------------------------------------------------------- +Tue Dec 28 20:00:07 UTC 2021 - Ben Greiner + +- Skip flaky test_color_print3 + +------------------------------------------------------------------- +Tue Dec 28 12:53:13 UTC 2021 - Ben Greiner + +- Update to version 5.0 + * https://docs.astropy.org/en/stable/whatsnew/5.0.html + * Astropy 5.0 is a major release that adds significant new + functionality since the 4.3.x series of releases. In addition, + it is a long-term support release (LTS) which will be supported + with bug fixes for two years. In particular, this release + includes: + * Support for reading, writing, and converting Cosmology + * Cosmology units module + * New Models + * Added support for dask arrays in tables + * Added support for registering array-like objects as mixin + columns + * Support for reading and writing tables to Parquet format + * Support for reading and writing tables to MRT format + * Support for masked quantity columns, including masked FITS + columns with units + * Converting SkyCoord to QTable + * New Unified I/O architecture + * In addition to these major changes, Astropy v5.0 includes a + large number of smaller improvements and bug fixes, which + are described in the Full Changelog. + https://docs.astropy.org/en/stable/changelog.html#changelog +- Drop patches fixed upstream + * astropy-pr12006-cfitsio4.patch + * astropy-pr12159-py310.patch + +------------------------------------------------------------------- +Mon Dec 27 17:29:17 UTC 2021 - Ben Greiner + +- Add astropy-pr12159-py310.patch -- gh#astropy/astropy#12159 + +------------------------------------------------------------------- +Thu Oct 28 20:50:43 UTC 2021 - Ben Greiner + +- Skip test_no_numpy_warnings[contours] due to wrong MPL version + check -- gh#astropy/astropy#12050 + +------------------------------------------------------------------- +Fri Aug 27 10:02:29 UTC 2021 - Ben Greiner + +- Suppress hypothesis health check for slow OBS episodes + +------------------------------------------------------------------- +Wed Aug 18 11:19:36 UTC 2021 - Ben Greiner + +- Update to version 4.3.1 + Bug Fixes + astropy.io.fits + * In fits.io.getdata do not fall back to first non-primary + extension when user explicitly specifies an extension. [#11860] + * Ensure multidimensional masked columns round-trip properly to + FITS. [#11911] + * Ensure masked times round-trip to FITS, even if + multi-dimensional. [#11913] + * Raise ValueError if an np.float32 NaN/Inf value is assigned to + a header keyword. [#11922] + astropy.modeling + * Fixed bug in fix_inputs handling of bounding boxes. [#11908] + astropy.table + * Fix an error when converting to pandas any Table subclass that + automatically adds a table index when the table is created. An + example is a binned TimeSeries table. [#12018] + astropy.units + * Ensure that unpickling quantities and units in new sessions + does not change hashes and thus cause problems with (de) + composition such as getting different answers from the .si + attribute. [#11879] + * Fixed cannot import name imperial from astropy.units + namespace. [#11977] + astropy.utils + * Ensure any .info on Masked instances is propagated correctly + when viewing or slicing. As a consequence, MaskedQuantity can + now be correctly written to, e.g., ECSV format with + serialize_method='data_mask'. [#11910] + +------------------------------------------------------------------- +Thu Aug 5 23:57:51 UTC 2021 - Ben Greiner + +- Add astropy-pr12006-cfitsio4.patch for cfitsio 4 + gh#astropy/astropy#12006 +- Revert the use of bundled cfitsio for non x86 architectures. + Those just had cfitsio earlier in the repositories than x86. + +------------------------------------------------------------------- +Thu Aug 5 14:04:16 UTC 2021 - Ben Greiner + +- Update to version 4.3.post1 + Astropy 4.3 is a major release that adds significant new + functionality since the 4.2.x series of releases. + * Transformations to AltAz are now much more precise (and faster) + * Improvements in making Astropy thread-safe + * Performance improvements to sigma clipping + * Changes in the Time and IERS leap second handling + * Support for multidimensional and object columns in ECSV + * Support for reading and writing tables to QDP format + * Append table to existing FITS file + * General masked class for Quantity and other ndarray subclasses + * Configuration file improvements + * Support for different solvers and bracket option in z_at_value + * Full changelog: + https://docs.astropy.org/en/stable/changelog.html +- Drop patch and files merged upstream: + * astropy-pr11260+pr11549-wcs76.patch + * dss.14.29.56-62.41.05.fits.gz + * tab-time-last-axis.fits +- Use bundled cfitsio for s390x, Power and ARM +- Increase Hypothesis test deadline to 5s + +------------------------------------------------------------------- +Sun Jul 4 13:26:14 UTC 2021 - Ben Greiner + +- Replace astropy-pr11260-wcsfailures.patch with + astropy-pr11260+pr11549-wcs76.patch + * fixes test failures because of the recent Tumbleweed update to + wcslib 7.6 + * include binary test file tab-time-last-axis.fits from + gh#astropy/astropy#11549, which does not fit into the patchfile + +------------------------------------------------------------------- +Sat Apr 17 15:30:57 UTC 2021 - Ben Greiner + +- Fix python_expand for test call + +------------------------------------------------------------------- +Thu Apr 8 16:46:35 UTC 2021 - Ben Greiner + +- Update to version 4.2.1 + astropy.cosmology + * Fixed an issue where specializations of the comoving distance + calculation for certain cosmologies could not handle redshift + arrays. [#10980] + astropy.io.fits + * Fix bug where manual fixes to invalid header cards were not + preserved when saving a FITS file. [#11108] + astropy.io.votable + * NumericArray converter now properly broadcasts scalar mask to + array. [#11157] + astropy.table + * Fix bug when initializing a Table subclass that uses + TableAttribute's. If the data were an instance of the table + then attributes provided in the table initialization call + could be ignored. [#11217] + astropy.time + * Change epoch of TimeUnixTAI ("unix_tai") from + 1970-01-01T00:00:00 UTC to 1970-01-01T00:00:00 TAI to match + the intended and documented behaviour. This essentially + changes the resulting times by 8.000082 seconds, the initial + offset between TAI and UTC. [#11249] + astropy.units + * Fixed a bug with the quantity_input decorator where allowing + dimensionless inputs for an argument inadvertently disabled + any checking of compatible units for that argument. [#11283] + astropy.utils + * Fix a bug so that np.shape, np.ndim and np.size again work on + classes that use ShapedLikeNDArray, like representations, + frames, sky coordinates, and times. [#11133] + astropy.wcs + * Fix error when a user defined proj_point parameter is passed + to fit_wcs_from_points. [#11139] + +------------------------------------------------------------------- +Mon Mar 8 12:07:01 UTC 2021 - Ben Greiner + +- Fix test failures with updated wcslib -- gh#astropy/astropy#11260 + * Add astropy-pr11260-wcsfailures.patch + * Add dss.14.29.56-62.41.05.fits.gz + +------------------------------------------------------------------- +Fri Jan 15 18:01:11 UTC 2021 - Benjamin Greiner + +- Make sure that the python >= 3.7 requirement is checked on + build time and let rpm do the rest. +- Use bundled libraries on Leap 15.X + +------------------------------------------------------------------- +Fri Jan 1 19:03:47 UTC 2021 - Benjamin Greiner + +- Increase the hypothesis test deadline + +------------------------------------------------------------------- +Tue Dec 8 22:41:32 UTC 2020 - Benjamin Greiner + +- OBS thinks the test flavor creates a build-cycle. Reintroduce + the pseudo package suffix. + +------------------------------------------------------------------- +Sat Nov 28 21:28:47 UTC 2020 - Benjamin Greiner + +- Update to Version 4.2 + Astropy 4.2 is a major release that adds new funcionality since + the 4.1 release. + In particular, this release includes: + * Planck 2018 is accepted and now the default cosmology + * Time performance improvements + * Removed ERFA module + In addition to these major changes, Astropy v4.2 includes smaller + improvements and bug fixes and significant cleanup, which are + described in the Full Changelog. By the numbers: + * 183 issues have been closed since v4.1 + * 105 pull requests have been merged since v4.1 + * 63 distinct people have contributed code +- Bump requirements versions +- Drop astropy-pr10329-unbundle-erfa_4.1.patch merged upstream + +------------------------------------------------------------------- +Thu Oct 22 09:36:36 UTC 2020 - Benjamin Greiner + +- Update to 4.1 + Astropy 4.1 is a major release that contains bug fixes and new + features since the 4.0.x series of releases. In particular, this + release includes: + * A new SpectralCoord class for representing and transforming + spectral quantities + * Support for writing Dask arrays to FITS files + * Added True Equator Mean Equinox (TEME) frame for satellite two- + line ephemeris data + * Support for in-place setting of array-valued SkyCoord and frame + objects + * Change in the definition of equality comparison for coordinate + classes + * Support use of SkyCoord in table vstack, dstack, and insert_row + * Support for table cross-match join with SkyCoord or N-d columns + * Support for custom attributes in Table subclasses + * Added a new Time subformat unix_tai + * Added support for the -TAB convention in FITS WCS + * Support for replacing submodels in CompoundModel + * Support for units on otherwise unitless models via the + Model.coerce_units method. + * Support for ASDF serialization of models + In addition to these major changes, Astropy v4.0 includes a large + number of smaller improvements and bug fixes, which are described + in the Full Changelog. By the numbers: + * 381 issues have been closed since v4.0 + * 511 pull requests have been merged since v4.0 + * 66 distinct people have contributed code to this release, 23 of + which are first time contributors to Astropy +- Drop astropy-pr10545-remove-newline-3d_cd_hdr.patch + * merged upstream + * gh#astropy/astropy#10545 +- Add astropy-pr10329-unbundle-erfa_4.1.patch + * Remove bundled _erfa but use system package pyerfa instead + * gh#astropy/astropy#10329 +- enable optional pytest-xdist + +------------------------------------------------------------------- +Thu Oct 15 12:22:54 UTC 2020 - Benjamin Greiner + +- Update to 4.0.3 + * astropy.table + Fixed a small bug where initializing an empty `Column` + with a structured dtype with a length and a shape + failed to give the requested dtype. [#10819] + * Fixed installation of the source distribution with + pip<19. [#10837, #10852] + +------------------------------------------------------------------- +Sat Oct 10 20:46:40 UTC 2020 - Benjamin Greiner + +- Update to 4.0.2 + New Features + * astropy.utils + astropy.utils.data.download_file now supports FTPS/FTP over + TLS. [#9964] + astropy.utils.data now uses a lock-free mechanism for caching. + This new mechanism uses a new cache layout and so ignores + caches created using earlier mechanisms (which were causing + lockups on clusters). The two cache formats can coexist but do + not share any files. [#10437, #10683] + astropy.utils.data now ignores the config item + astropy.utils.data.conf.download_cache_lock_attempts since no + locking is done. [#10437, #10683] + astropy.utils.data.download_file and related functions now + interpret the parameter or config file setting timeout=0 to + mean they should make no attempt to download files. [#10437, + #10683] + astropy.utils.import_file_to_cache now accepts a keyword-only + argument replace, defaulting to True, to determine whether it + should replace existing files in the cache, in a way as close + to atomic as possible. [#10437, #10683] + astropy.utils.data.download_file and related functions now + treat http://example.com and http://example.com/ as equivalent. + [#10631] + * astropy.wcs + The new auxiliary WCS parameters added in WCSLIB 7.1 are now + exposed as the aux attribute of Wcsprm. [#10333] + Updated bundled version of WCSLIB to v7.3. [#10433] + Bug fixes + * astropy.config + Added an extra fallback to os.expanduser('~') when trying to + find the user home directory. [#10570] + * astropy.constants + Corrected definition of parsec to 648 000 / pi AU following IAU + 2015 B2 [#10569] + * astropy.convolution + Fixed a bug where a float-typed integers in the argument + x_range of astropy.convolution.utils.discretize_oversample_1D + (and the 2D version as well) fails because it uses + numpy.linspace, which requires an int. [#10696] + * astropy.coordinates + Ensure that for size-1 array SkyCoord and coordinate frames the + attributes also properly become scalars when indexed with 0. + [#10113] + Fixed a bug where SkyCoord.separation() and + SkyCoord.separation_3d were not accepting a frame object. + [#10332] + Ensure that the lon values in SkyOffsetFrame are wrapped + correctly at 180 degree regardless of how the underlying data + is represented. [#10163] + Fixed an error in the obliquity of the ecliptic when + transforming to/from the *TrueEcliptic coordinate frames. The + error would primarily result in an inaccuracy in the ecliptic + latitude on the order of arcseconds. [#10129] + Fixed an error in the computation of the location of solar + system bodies where the Earth location of the observer was + ignored during the correction for light travel time. [#10292] + Ensure that coordinates with proper motion that are transformed + to other coordinate frames still can be represented properly. + [#10276] + Improve the error message given when trying to get a cartesian + representation for coordinates that have both proper motion and + radial velocity, but no distance. [#10276] + Fixed an error where SkyCoord.apply_space_motion would return + incorrect results when no distance is set and proper motion is + high. [#10296] + Make the parsing of angles thread-safe so that Angle can be + used in Python multithreading. [#10556] + Fixed reporting of EarthLocation.info which previously raised + an exception. [#10592] + * astropy.io.ascii + Fixed a bug with the C fast_reader not correctly parsing + newlines when delimiter was also set to \n or \r; ensured + consistent handling of input strings without newline + characters. [#9929] + * astropy.io.fits + Fix integer formats of TFORMn=Iw columns in ASCII tables to + correctly read values exceeding int32 - setting int16, int32 or + int64 according to w. [#9901] + Fix unclosed memory-mapped FITS files in FITSDiff when + difference found. [#10159] + Fix crash when reading an invalid table file. [#10171] + Fix duplication issue when setting a keyword ending with space. + [#10482] + Fix ResourceWarning with fits.writeto and pathlib.Path object. + [#10599] + Fix repr for commentary cards and strip spaces for commentary + keywords. [#10640] + Fix compilation of cfitsio with Xcode 12. [#10772] + Fix handling of 1-dimensional arrays with a single element in + BinTableHDU [#10768] + * astropy.io.misc + Fix id URL in baseframe-1.0.0 ASDF schema. [#10223] + Write keys to ASDF only if the value is present, to account for + a change in behavior in asdf 2.8. [#10674] + * astropy.io.registry + Fix Table.(read|write).help when reader or writer has no + docstring. [#10460] + * astropy.io.votable + Fixed parsing failure of VOTable with no fields. When detecting + a non-empty table with no fields, the following warning/ + exception is issued: E25 "No FIELDs are defined; DATA section + will be ignored." [#10192] + * astropy.modeling + Fixed a problem with mapping input_units and return_units of a + CompoundModel to the units of the constituent models. [#10158] + Removed hard-coded names of inputs and outputs. [#10174] + Fixed a problem where slicing a CompoundModel by name will + crash if there fix_inputs operators are present. [#10224] + Removed a limitation of fitting of data with units with + compound models without units when the expression involves + operators other than addition and subtraction. [#10415] + Fixed a problem with fitting Linear1D and Planar2D in model + sets. [#10623] + Fixed reported module name of math_functions model classes. + [#10694] + Fixed reported module name of tabular model classes. [#10709] + Do not create new math_functions models for ufuncs that are + only aliases (divide and mod). [#10697] + Fix calculation of the Moffat2D derivative with respect to + gamma. [#10784] + * astropy.stats + Fixed an API regression where SigmaClip.__call__ would convert + masked elements to nan and upcast the dtype to float64 in its + output MaskedArray when using the axis parameter along with the + defaults masked=True and copy=True. [#10610] + Fixed an issue where fully masked MaskedArray input to + sigma_clipped_stats gave incorrect results. [#10099] + Fixed an issue where sigma_clip and SigmaClip.__call__ would + return a masked array instead of a ndarray when masked=False + and the input was a full-masked MaskedArray. [#10099] + Fixed bug with funcs.poisson_conf_interval where an integer for + N with interval='kraft-burrows-nousek' would throw an error + with mpmath backend. [#10427] + Fixed bug in funcs.poisson_conf_interval with interval='kraft- + burrows-nousek' where certain combinations of source and + background count numbers led to ValueError due to the choice of + starting value for numerical optimization. [#10618] + * astropy.table + Fixed a bug when writing a table with mixin columns to FITS, + ECSV or HDF5. If one of the data attributes of the mixin (e.g. + skycoord.ra) had the same name as one of the table column names + (ra), the column (ra) would be dropped when reading the table + back. [#10222] + Fixed a bug when sorting an indexed table on the indexed column + after first sorting on another column. [#10103] + Fixed a bug in table argsort when called with reverse=True for + an indexed table. [#10103] + Fixed a performance regression introduced in #9048 when + initializing a table from Python lists. Also fixed incorrect + behavior (for data types other than float) when those lists + contain np.ma.masked elements to indicate masked data. [#10636] + Avoid modifying .meta when serializing columns to FITS. + [#10485] + Avoid crash when reading a FITS table that contains mixin info + and PyYAML is missing. [#10485] + * astropy.time + Ensure that for size-1 array Time, the location also properly + becomes a scalar when indexed with 0. [#10113] + * astropy.units + Refined test_parallax to resolve difference between 2012 and + 2015 definitions. [#10569] + * astropy.utils + The default IERS server has been updated to use the FTPS server + hosted by CDDIS. [#9964] + Fixed memory allocation on 64-bit systems within xml.iterparse + [#10076] + Fix case where None could be used in a numerical computation. + [#10126] + * astropy.visualization + Fixed a bug where the ImageNormalize clip keyword was ignored + when used with calling the object on data. [#10098] + Fixed a bug where axes.xlabel/axes.ylabel where not correctly + set nor returned on an EllipticalFrame class WCSAxes plot. + [#10446] + * astropy.wcs + Handled WCS 360 -> 0 deg crossover in fit_wcs_from_points + [#10155] + Do not issue DATREF warning when MJDREF has default value. + [#10440] + Fixed a bug due to which naxis argument was ignored if header + was supplied during the initialization of a WCS object. + [#10532] + Other Changes and Additions + * Improved the speed of sorting a large Table on a single column + by a factor of around 5. [#10103] + * Ensure that astropy can be used inside Application bundles + built with pyinstaller. [#8795] + * Updated the bundled CFITSIO library to 3.49. See cextern/ + cfitsio/docs/changes.txt for additional information. [#10256, + #10665] + * extract_array raises a ValueError if the data type of the input + array is inconsistent with the fill_value. [#10602] +- Drop merged PR patches + * astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433 + * astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440 +- Skip test_compound_fitting_with_units gh#astropy/astropy#10675 + +------------------------------------------------------------------- +Fri Jul 17 11:42:19 UTC 2020 - Benjamin Greiner + +- actually detect unit test failures with sys.exit(astropy.tests()) +- do not fail on DeprecationWarnings +- support updated system lib wcslib 7.3 with + astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433 + astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440 +- clean up blank lines after pytest report and prevent possible + failure of tests depending on test order + astropy-pr10545-remove-newline-3d_cd_hdr.patch + gh#astropy/astropy#10545 + +------------------------------------------------------------------- +Thu Jul 9 23:14:09 UTC 2020 - Benjamin Greiner + +- Switch from pytest macro back to astropy.test() + This avoids compiling a second time inplace and obsoletes the + necessary deprecation warningsfilters. New deprecation warnings + from numpy 1.19 started to fail the test multibuild again. + Can now drop astropy-openSUSE-ignore-warnings.patch +- Fix update-alternatives warnings by expanding the loop early + +------------------------------------------------------------------- +Sun Jul 5 12:24:49 UTC 2020 - Benjamin Greiner + +- Fix conftest collection error: import local source dir for tests +- Remove ignore pytest deprecation fixed by pytest-doctestplus >= 0.6 +- Ignore leap second expiry and dubious year warnings for + reproducible builds: gh#astropy/astropy#10228 + astropy-openSUSE-ignore-warnings.patch + +------------------------------------------------------------------- +Wed Jun 3 07:42:45 UTC 2020 - Tomáš Chvátal + +- Switch to multibuild to avoid cycle with python-asdf package + +------------------------------------------------------------------- +Wed May 27 09:36:06 UTC 2020 - Petr Gajdos + +- %python3_only -> %python_alternative + +------------------------------------------------------------------- +Sun Apr 19 10:53:30 UTC 2020 - Benjamin Greiner + +- Update to 4.0.1.post1 + * astropy.config + [gh#astropy/astropy#9975] + Fixed a bug where importing a development version of a package that + uses ``astropy`` configuration system can result in a + ``~/.astropy/config/package..cfg`` file. + * astropy.coordinates + [gh#astropy/astropy#9815] + Fixed a bug where a vestigal trace of a frame class could persist in the + transformation graph even after the removal of all transformations involving + that frame class. + [gh#astropy/astropy#9815] + Fixed a bug with ``TransformGraph.remove_transform()`` when the "from" and + "to" frame classes are not explicitly specified. + [gh#astropy/astropy#9900] + Read-only longitudes can now be passed in to ``EarthLocation`` even if + they include angles outside of the range of -180 to 180 degrees. + [gh#astropy/astropy#9980] + ```SkyCoord.radial_velocity_correction``` no longer raises an Exception + when space motion information is present on the SkyCoord. + * astropy.io + [gh#astropy/astropy#9866] + Fixed a bug that prevented the unified I/O infrastructure from working with + datasets that are represented by directories rather than files. + * astropy.io.ascii + [gh#astropy/astropy#9918] + Fixed a bug in the ``fast_reader`` C parsers incorrectly returning entries + of isolated positive/negative signs as ``float`` instead of ``str``. + [gh#astropy/astropy#9923] + Fixed a segmentation fault in the ``fast_reader`` C parsers when parsing an + invalid file with ``guess=True`` and the file contains inconsistent column + numbers in combination with a quoted field; e.g., ``"1 2\n 3 4 '5'"``. + [gh#astropy/astropy#9933] + Magnitude, decibel, and dex can now be stored in ``ecsv`` files. + * astropy.io.misc + [gh#astropy/astropy#9933] + Magnitude, decibel, and dex can now be stored in ``hdf5`` files. + [gh#astropy/astropy#9956, gh#astropy/astropy#9961] + Fixed serialization of polynomial models to include non default values of + domain and window values. + [gh#astropy/astropy#9950] + Fixed a bug which affected overwriting tables within ``hdf5`` files. + Overwriting an existing path with associated column meta data now also + overwrites the meta data associated with the table. + [gh#astropy/astropy#9983] + Fixed serialization of Time objects with location under time-1.0.0 + ASDF schema. + * astropy.io.fits + [gh#astropy/astropy#9711, gh#astropy/astropy#9934] + Fix regression with ``GroupsHDU`` which needs to modify the header to handle + invalid headers, and fix accesing ``.data`` for empty HDU. + [gh#astropy/astropy#9711] + Fix ``fitsdiff`` when its arguments are directories that contain other + directories. + [gh#astropy/astropy#9958] + Fix writing noncontiguous data to a compressed HDU. + [gh#astropy/astropy#9978] + Added verification of ``disp`` (``TDISP``) keyword to ``fits.Column`` and + extended tests for ``TFORM`` and ``TDISP`` validation. + [gh#astropy/astropy#10012] + Fix checksum verification to process all HDUs instead of only the first one + because of the lazy loading feature. + [gh#astropy/astropy#10030] + Allow passing ``output_verify`` to ``.close`` when using the context manager. + [gh#astropy/astropy#10041] + Prevent instantiation of ``PrimaryHDU`` and ``ImageHDU`` with a scalar. + [gh#astropy/astropy#10069] + Fix column access by attribute with FITS_rec: columns with scaling or columns + from ASCII tables where not properly converted when accessed by attribute + name. + * astropy.io.misc + [gh#astropy/astropy#9933] + Magnitude, decibel, and dex can now be stored in ``hdf5`` files. + [gh#astropy/astropy#9956, gh#astropy/astropy#9961] + Fixed serialization of polynomial models to include non default values of + domain and window values. + [gh#astropy/astropy#9950] + Fixed a bug which affected overwriting tables within ``hdf5`` files. + Overwriting an existing path with associated column meta data now also + overwrites the meta data associated with the table. + [gh#astropy/astropy#9983] + Fixed serialization of Time objects with location under time-1.0.0 + ASDF schema. + * astropy.modeling + [gh#astropy/astropy#9987] + Fixed a bug in setting default values of parameters of orthonormal + polynomials when constructing a model set. + * astropy.table + [gh#astropy/astropy#9839] + Fixed bug in ``Table.reverse`` for tables that contain non-mutable mixin columns + (like ``SkyCoord``) for which in-place item update is not allowed. + [gh#astropy/astropy#9933] + Tables containing Magnitude, decibel, and dex columns can now be saved to + ``ecsv`` files. + [gh#astropy/astropy#10027] + Fixed bug where adding or inserting a row fails on a table with an index + defined on a column that is not the first one. + [gh#astropy/astropy#10068] + Ensured that ``table.show_in_browser`` also worked for mixin columns like + ``Time`` and ``SkyCoord``. + * astropy.time + [gh#astropy/astropy#9679] + Fix inaccuracy when converting between TimeDelta and datetime.timedelta. + [gh#astropy/astropy#9812] + Fixed exception when changing ``format`` in the case when ``out_subfmt`` is + defined and is incompatible with the new format. + [gh#astropy/astropy#9812] + Fixed exceptions in ``Time.to_value()``: when supplying any ``subfmt`` argument + for string-based formats like 'iso', and for ``subfmt='long'`` for the formats + 'byear', 'jyear', and 'decimalyear'. + [gh#astropy/astropy#9969] + Fixed bug where the location attribute was lost when creating a new ``Time`` + object from an existing ``Time`` or list of ``Time`` objects. + [gh#astropy/astropy#10034] + Fixed a bug where an exception occurred when creating a ``Time`` object + if the ``val1`` argument was a regular double and the ``val2`` argument + was a ``longdouble``. + * astropy.timeseries + [gh#astropy/astropy#10013] + Fixed issue with reference time for the ``transit_time`` parameter returned by + the ``BoxLeastSquares`` periodogram. Now, the ``transit_time`` will be within + the range of the input data and arbitrary time offsets/zero points no longer + affect results. + * astropy.units + [gh#astropy/astropy#9948] + Fix for ``quantity_input`` annotation raising an exception on iterable + types that don't define a general ``__contains__`` for checking if ``None`` + is contained (e.g. Enum as of python3.8), by instead checking for instance of + Sequence. + [gh#astropy/astropy#10066] + Fix for ``u.Quantity`` not taking into account ``ndmin`` if constructed from + another ``u.Quantity`` instance with different but convertible unit + * astropy.utils + [gh#astropy/astropy#9981] + Fixed ``deprecated_renamed_argument`` not passing in user value to + deprecated keyword when the keyword has no new name. + [gh#astropy/astropy#9985] + Fixed ``deprecated_renamed_argument`` not issuing a deprecation warning when + deprecated keyword without new name is passed in as positional argument. + [gh#astropy/astropy#10007] + Fixed detection of read-only filesystems in the caching code. + * astropy.visualization + [gh#astropy/astropy#9848] + Fixed bug from matplotlib >=3.1 where an empty Quantity array is + sent for unit conversion as an empty list. + [gh#astropy/astropy#9913] + Fix bug in ``ZScaleInterval`` to return the array minimum and + maximum when there are less then ``min_npixels`` in the input array. + [gh#astropy/astropy#8004, gh#astropy/astropy#9991] + Fix a bug in simplifying axis labels that affected non-rectangular frames. + * Increase minimum asdf version to 2.5.2. + [gh#astropy/astropy#9996, gh#astropy/astropy#9819] + * Updated wcslib to v7.2. [gh#astropy/astropy#10021] +- updated test requirements and recommends +- run pytest directly + +------------------------------------------------------------------- +Tue Jan 7 10:19:19 UTC 2020 - Sebastian Wagner + +- Require erfa >= 1.7 because of https://github.com/astropy/astropy/issues/9654 + +------------------------------------------------------------------- +Mon Jan 6 17:59:53 UTC 2020 - Todd R + +- Update to 4.0 + + New Features + > astropy.config + * The config and cache directories and the name of the config file are now + customizable. This allows affiliated packages to put their configuration + files in locations other than ``CONFIG_DIR/.astropy/``. + > astropy.constants + * The version of constants can be specified via ScienceState in a way + that ``constants`` and ``units`` will be consistent. + * Default constants now use CODATA 2018 and IAU 2015 definitions. + * Constants can be pickled and unpickled. + > astropy.convolution + * Fixed a bug where having a kernel defined using unitless astropy + quantity objects would result in a crash + > astropy.coordinates + * Changed ``coordinates.solar_system_ephemeris`` to also accept local files + as input. The ephemeris can now be selected by either keyword (e.g. 'jpl', + 'de430'), URL or file path. + * Added a ``cylindrical`` property to ``SkyCoord`` for shorthand access to a + ``CylindricalRepresentation`` of the coordinate, as is already available + for other common representations. + * The default parameters for the ``Galactocentric`` frame are now controlled by + a ``ScienceState`` subclass, ``galactocentric_frame_defaults``. New + parameter sets will be added to this object periodically to keep up with + ever-improved measurements of the solar position and motion. + * Coordinate frame classes can now have multiple aliases by assigning a list + of aliases to the class variable ``name``. Any of the aliases can be used + for attribute-style access or as the target of ``tranform_to()`` calls. + + * Passing a NaN to ``Distance`` no longer raises a warning. + > astropy.cosmology + * The pre-publication Planck 2018 cosmological parameters are included as the + ``Planck2018_arXiv_v2`` object. Please note that the values are preliminary, + and when the paper is accepted a final version will be included as + ``Planck18``. + > astropy.io.ascii + * Removed incorrect warnings on ``Overflow`` when reading in + ``FloatType`` 0.0 with ``use_fast_converter``; synchronised + ``IntType`` ``Overflow`` warning messages. + > astropy.io.misc + * Eliminate deprecated compatibility mode when writing ``Table`` metadata to + HDF5 format. + * Add support for orthogonal polynomial models to ASDF. + > astropy.io.fits + * Changed the ``fitscheck`` and ``fitsdiff`` script to use the ``argparse`` + module instead of ``optparse``. + * Allow writing of ``Table`` objects with ``Time`` columns that are also table + indices to FITS files. + > astropy.io.votable + * Support VOTable version 1.4. The main addition is the new element, TIMESYS, + which allows defining of metadata for temporal coordinates much like COOSYS + defines metadata for celestial coordinates. + > astropy.logger + * Added a configuration option to specify the text encoding of the log file, + with the default behavior being the platform-preferred encoding. + > astropy.modeling + * Major rework of modeling internals. `See modeling documentation for details. + `_ . + * Add ``Tabular1D.inverse``. + * ``Model.rename`` was changed to add the ability to rename ``Model.inputs`` + and ``Model.outputs``. + * New function ``fix_inputs`` to generate new models from others by fixing + specific inputs variable values to constants. + * ``inputs`` and ``outputs`` are now model instance attributes, and ``n_inputs`` + and ``n_outputs`` are class attributes. Backwards compatible default + values of ``inputs`` and ``outputs`` are generated. ``Model.inputs`` and + ``Model.outputs`` are now settable which allows renaming them on per user + case. + * Add a new model representing a sequence of rotations in 3D around an + arbitrary number of axes. + * Add many of the numpy ufunc functions as models. + * Add ``BlackBody`` model. + * Add ``Drude1D`` model. + * Added analytical King model (KingProjectedAnalytic1D). + * Added Exponential1D and Logarithmic1D models. + > astropy.nddata + * Add a way for technically invalid but unambiguous units in a fits header + to be parsed by ``CCDData``. + * ``NDData`` now only accepts WCS objects which implement either the high, or + low level APE 14 WCS API. All WCS objects are converted to a high level WCS + object, so ``NDData.wcs`` now always returns a high level APE 14 object. Not + all array slices are valid for wcs objects, so some slicing operations which + used to work may now fail. + > astropy.stats + * The ``biweight_location``, ``biweight_scale``, and + ``biweight_midvariance`` functions now allow for the ``axis`` + keyword to be a tuple of integers. + * Added an ``ignore_nan`` option to the ``biweight_location``, + ``biweight_scale``, and ``biweight_midvariance`` functions. + * A numpy ``MaskedArray`` can now be input to the ``biweight_location``, + ``biweight_scale``, and ``biweight_midvariance`` functions. + * Removed the warning related to p0 in the Bayesian blocks algorithm. The + caveat related to p0 is described in the docstring for ``Events``. + > astropy.table + * Improved the implementation of ``Table.replace_column()`` to provide + a speed-up of 5 to 10 times for wide tables. The method can now accept + any input which convertible to a column of the correct length, not just + ``Column`` subclasses. + * Improved the implementation of ``Table.add_column()`` to provide a speed-up + of 2 to 10 (or more) when adding a column to tables, with increasing benefit + as the number of columns increases. The method can now accept any input + which is convertible to a column of the correct length, not just ``Column`` + subclasses. + * Changed the implementation of ``Table.add_columns()`` to use the new + ``Table.add_column()`` method. In most cases the performance is similar + or slightly faster to the previous implemenation. + * ``MaskedColumn.data`` will now return a plain ``MaskedArray`` rather than + the previous (unintended) ``masked_BaseColumn``. + * Added depth-wise stacking ``dstack()`` in higher level table operation. + It help will in stacking table column depth-wise. + * Added a new table equality method ``values_equal()`` which allows comparison + table values to another table, list, or value, and returns an + element-by-element equality table. + * Added new ``join_type='cartesian'`` option to the ``join`` operation. + * Allow adding a table column as a list of mixin-type objects, for instance + ``t['q'] = [1 * u.m, 2 * u.m]``. + * Allow table ``join()`` using any sortable key column (e.g. Time), not + just ndarray subclasses. A column is considered sortable if there is a + ``.info.get_sortable_arrays()`` method that is implemented. + * Added ``Table.iterrows()`` for making row-wise iteration faster. + * Allow table to be initialized with a list of dict where the dict keys + are not the same in every row. The table column names are the set of all keys + found in the input data, and any missing key/value pairs are turned into + missing data in the table. + * Prevent unnecessary ERFA warnings when indexing by ``Time`` columns. + * Added support for sorting tables which contain non-mutable mixin columns + (like ``SkyCoord``) for which in-place item update is not allowed. + * Ensured that inserting ``np.ma.masked`` (or any other value with a mask) into + a ``MaskedColumn`` causes a masked entry to be inserted. + * Fixed a bug that caused an exception when initializing a ``MaskedColumn`` from + another ``MaskedColumn`` that has a structured dtype. + > astropy.tests + * The plugin that handles the custom header in the test output has been + moved to the ``pytest-astropy-header plugin`` package. `See the README at + `__ for information about + using this new plugin. + > astropy.time + * Added a new time format ``ymdhms`` for representing times via year, month, + day, hour, minute, and second attributes. + * ``TimeDelta`` gained a ``to_value`` method, so that it becomes easier to + use it wherever a ``Quantity`` with units of time could be used. + * Made scalar ``Time`` and ``TimeDelta`` objects hashable based on JD, time + scale, and location attributes. + * Improved error message when bad input is used to initialize a ``Time`` or + ``TimeDelta`` object and the format is specified. + * Allow numeric time formats to be initialized with numpy ``longdouble``, + ``Decimal`` instances, and strings. One can select just one of these + using ``in_subfmt``. The output can be similarly set using ``out_subfmt``. + + * Introduce a new ``.to_value()`` method for ``Time`` (and adjusted the + existing method for ``TimeDelta``) so that one can get values in a given + ``format`` and possible ``subfmt`` (e.g., ``to_value('mjd', 'str')``. + * Prevent unecessary ERFA warnings when sorting ``Time`` objects. + > astropy.timeseries + * Addig ``epoch_phase``, ``wrap_phase`` and ``normalize_phase`` keywords to + ``TimeSeries.fold()`` to control the phase of the epoch and to return + normalized phase rather than time for the folded TimeSeries. + > astropy.uncertainty + * ``Distribution`` was rewritten such that it deals better with subclasses. + As a result, Quantity distributions now behave correctly with ``to`` methods + yielding new distributions of the kind expected for the starting + distribution, and ``to_value`` yielding ``NdarrayDistribution`` instances. + + * The ``pdf_*`` properties that were used to calculate statistical properties + of ``Distrubution`` instances were changed into methods. This allows one + to pass parameters such as ``ddof`` to ``pdf_std`` and ``pdf_var`` (which + generally should equal 1 instead of the default 0), and reflects that these + are fairly involved calcuations, not just "properties". + > astropy.units + * Support for unicode parsing. Currently supported superscripts are Ohm, + Ångström, and the micro-sign. + * Accept non-unit type annotations in @quantity_input. + * For numpy 1.17 and later, the new ``__array_function__`` protocol is used to + ensure that all top-level numpy functions interact properly with + ``Quantity``, preserving units also in operations like ``np.concatenate``. + + * Add equivalencies for surface brightness units to spectral_density. + > astropy.utils + * ``astropy.utils.data.download_file`` and + ``astropy.utils.data.get_readable_fileobj`` now provides an ``http_headers`` + keyword to pass in specific request headers for the download. It also now + defaults to providing ``User-Agent: Astropy`` and ``Accept: */*`` + headers. The default ``User-Agent`` value can be set with a new + ``astropy.data.conf.default_http_user_agent`` configuration item. + + * Added a new ``astropy.utils.misc.unbroadcast`` function which can be used + to return the smallest array that can be broadcasted back to the initial + array. + * The specific IERS Earth rotation parameter table used for time and + coordinate transformations can now be set, either in a context or per + session, using ``astropy.utils.iers.earth_rotation_table``. + * Added ``export_cache`` and ``import_cache`` to permit transporting + downloaded data to machines with no Internet connection. Several new + functions are available to investigate the cache contents; e.g., + ``check_download_cache`` can be used to confirm that the persistent + cache has not become damaged. + * A new ``astropy.utils.iers.LeapSeconds`` class has been added to track + leap seconds. + > astropy.visualization + * Added a new ``time_support`` context manager/function for making it easy to + plot and format ``Time`` objects in Matplotlib. + * Added support for plotting any WCS compliant with the generalized (APE 14) + WCS API with WCSAxes. + * Improved display of information when inspecting ``WCSAxes.coords``. + * Improved error checking for the ``slices=`` argument to ``WCSAxes``. + * Added support for more solar frames in WCSAxes. + * Add support for one dimensional plots to ``WCSAxes``. + * Add a ``get_format_unit`` to ``wcsaxes.CoordinateHelper``. + * ``WCSAxes`` now, by default, sets a default label for plot axes which is the + WCS physical type (and unit) for that axis. This can be disabled using the + ``coords[i].set_auto_axislabel(False)`` or by explicitly setting an axis + label. + * Fixed the display of tick labels when plotting all sky images that have a + coord_wrap less than 360. + > astropy.wcs + * Added a ``astropy.wcs.wcsapi.pixel_to_pixel`` function that can be used to + transform pixel coordinates in one dataset with a WCS to pixel coordinates + in another dataset with a different WCS. This function is designed to be + efficient when the input arrays are broadcasted views of smaller + arrays. + * Added a ``local_partial_pixel_derivatives`` function that can be used to + determine a matrix of partial derivatives of each world coordinate with + respect to each pixel coordinate. + * Updated wcslib to v6.4. + * Improved the ``SlicedLowLevelWCS`` class in ``astropy.wcs.wcsapi`` to avoid + storing chains of nested ``SlicedLowLevelWCS`` objects when applying multiple + slicing operations in turn. + * Added a ``wcs_info_str`` function to ``astropy.wcs.wcsapi`` to show a summary + of an APE-14-compliant WCS as a string. + * Added two new optional attributes to the APE 14 low-level WCS: + ``pixel_axis_names`` and ``world_axis_names``. + * Updated the WCS class to now correctly take and return ``Time`` objects in + the high-level APE 14 API (e.g. ``pixel_to_world``. + * ``SlicedLowLevelWCS`` now raises ``IndexError`` rather than ``ValueError`` on + an invalid slice. + * Added ``fit_wcs_from_points`` function to ``astropy.wcs.utils``. Fits a WCS + object to set of matched detector/sky coordinates. + * Fix various bugs in ``SlicedLowLevelWCS`` when the WCS being sliced was one + dimensional. + + API Changes + > astropy.constants + * Deprecated ``set_enabled_constants`` context manager. Use + ``astropy.physical_constants`` and ``astropy.astronomical_constants``. + + > astropy.convolution + * Removed the deprecated keyword argument ``interpolate_nan`` from + ``convolve_fft``. + * Removed the deprecated keyword argument ``stddev`` from + ``Gaussian2DKernel``. + * Deprecated and renamed ``MexicanHat1DKernel`` and ``MexicanHat2DKernel`` + to ``RickerWavelet1DKernel`` and ``RickerWavelet2DKernel``. + > astropy.coordinates + * Removed the ``recommended_units`` attribute from Representations; it was + deprecated since 3.0. + * Removed the deprecated frame attribute classes, ``FrameAttribute``, + ``TimeFrameAttribute``, ``QuantityFrameAttribute``, + ``CartesianRepresentationFrameAttribute``; deprecated since 3.0. + * Removed ``longitude`` and ``latitude`` attributes from ``EarthLocation``; + deprecated since 2.0. + * The ``DifferentialAttribute`` for frame classes now passes through any input + to the ``allowed_classes`` if only one allowed class is specified, i.e. this + now allows passing a quantity in for frame attributes that use + ``DifferentialAttribute``. + * Removed the deprecated ``galcen_ra`` and ``galcen_dec`` attributes from the + ``Galactocentric`` frame. + > astropy.extern + * Remove the bundled ``six`` module. + > astropy.io.ascii + * Masked column handling has changed, see ``astropy.table`` entry below. + + > astropy.io.misc + * Masked column handling has changed, see ``astropy.table`` entry below. + + * Removed deprecated ``usecPickle`` kwarg from ``fnunpickle`` and + ``fnpickle``. + > astropy.io.fits + * Masked column handling has changed, see ``astropy.table`` entry below. + + * ``io.fits.Header`` has been made safe for subclasses for copying and slicing. + As a result of this change, the private subclass ``CompImageHeader`` + now always should be passed an explicit ``image_header``. + * Removed the deprecated ``tolerance`` option in ``fitsdiff`` and + ``io.fits.diff`` classes. + * Removed deprecated keyword arguments for ``CompImageHDU``: + ``compressionType``, ``tileSize``, ``hcompScale``, ``hcompSmooth``, + ``quantizeLevel``. + > astropy.io.votable + * Changed ``pedantic`` argument to ``verify`` and change it to have three + string-based options (``ignore``, ``warn``, and ``exception``) instead of + just being a boolean. In addition, changed default to ``ignore``, which means + that warnings will not be shown by default when loading VO tables. + > astropy.modeling + * Eliminates support for compound classes (but not compound instances!) + * Slicing compound models more restrictive. + * Shape of parameters now includes n_models as dimension. + * Parameter instances now hold values instead of models. + * Compound model parameters now share instance and value with + constituent models. + * No longer possible to assign slices of parameter values to model parameters + attribute (it is possible to replace it with a complete array). + * Many private attributes and methods have changed (see documentation). + * Deprecated ``BlackBody1D`` model and ``blackbody_nu`` and + ``blackbody_lambda`` functions. + * The deprecated ``rotations.rotation_matrix_from_angle`` was removed. + * Deprecated and renamed ``MexicanHat1D`` and ``MexicanHat2D`` + to ``RickerWavelet1D`` and ``RickerWavelet2D``. + * Deprecated ``modeling.utils.ExpressionTree``. + > astropy.stats + * Removed the ``iters`` keyword from sigma clipping stats functions. + * Renamed the ``a`` parameter to ``data`` in biweight stat functions. + * Renamed the ``a`` parameter to ``data`` in ``median_absolute_deviation``. + + * Renamed the ``conflevel`` keyword to ``confidence_level`` in + ``poisson_conf_interval``. Usage of ``conflevel`` now issues + ``AstropyDeprecationWarning``. + * Renamed the ``conf`` keyword to ``confidence_level`` in + ``binom_conf_interval`` and ``binned_binom_proportion``. Usage of ``conf`` + now issues ``AstropyDeprecationWarning``. + * Renamed the ``conf_lvl`` keyword to ``confidence_level`` in + ``jackknife_stats``. Usage of ``conf_lvl`` now issues + ``AstropyDeprecationWarning``. + > astropy.table + * The handling of masked columns in the ``Table`` class has changed in a way + that may impact program behavior. Now a ``Table`` with ``masked=False`` + may contain both ``Column`` and ``MaskedColumn`` objects, and adding a + masked column or row to a table no longer "upgrades" the table and columns + to masked. This means that tables with masked data which are read via + ``Table.read()`` will now always have ``masked=False``, though specific + columns will be masked as needed. Two new table properties + ``has_masked_columns`` and ``has_masked_values`` were added. See the + `Masking change in astropy 4.0 section within + `_ for + details. + * Table operation functions such as ``join``, ``vstack``, ``hstack``, etc now + always return a table with ``masked=False``, though the individual columns + may be masked as necessary. + * Changed implementation of ``Table.add_column()`` and ``Table.add_columns()`` + methods. Now it is possible add any object(s) which can be converted or + broadcasted to a valid column for the table. ``Table.__setitem__`` now + just calls ``add_column``. + * Changed default table configuration setting ``replace_warnings`` from + ``['slice']`` to ``[]``. This removes the default warning when replacing + a table column that is a slice of another column. + * Removed the non-public method + ``astropy.table.np_utils.recarray_fromrecords``. + > astropy.tests + * In addition to ``DeprecationWarning``, now ``FutureWarning`` and + ``ImportWarning`` would also be turned into exceptions. + * ``warnings_to_ignore_by_pyver`` option in + ``enable_deprecations_as_exceptions()`` has changed. Please refer to API + documentation. + * Default settings for ``warnings_to_ignore_by_pyver`` are updated to remove + very old warnings that are no longer relevant and to add a new warning + caused by ``pytest-doctestplus``. + > astropy.time + * ``Time.get_ut1_utc`` now uses the auto-updated ``IERS_Auto`` by default, + instead of the bundled ``IERS_B`` file. + * Time formats that do not use ``val2`` now raise ValueError instead of + silently ignoring a provided value. + * Custom time formats can now accept floating-point types with extended + precision. Existing time formats raise exceptions rather than discarding + extended precision through conversion to ordinary floating-point. + * Time formats (implemented in subclasses of ``TimeFormat``) now have + their input and output routines more thoroughly validated, making it more + difficult to create damaged ``Time`` objects. + * The ``TimeDelta.to_value()`` method now can also take the ``format`` name + as its argument, in which case the value will be calculated using the + ``TimeFormat`` machinery. For this case, one can also pass a ``subfmt`` + argument to retrieve the value in another form than ``float``. + > astropy.timeseries + * Keyword ``midpoint_epoch`` is renamed to ``epoch_time``. + > astropy.uncertainty + * ``Distribution`` was rewritten such that it deals better with subclasses. + As a result, Quantity distributions now behave correctly with ``to`` methods + yielding new distributions of the kind expected for the starting distribution, + and ``to_value`` yielding ``NdarrayDistribution`` instances. + > astropy.units + * For consistency with ``ndarray``, scalar ``Quantity.value`` will now return + a numpy scalar rather than a python one. This should help keep track of + precision better, but may lead to unexpected results for the rare cases + where numpy scalars behave differently than python ones (e.g., taking the + square root of a negative number). + * Removed the ``magnitude_zero_points`` module, which was deprecated in + favour of ``astropy.units.photometric`` since 3.1. + * ``EquivalentUnitsList`` now has a ``_repr_html_`` method to output a HTML + table on a call to ``find_equivalent_units`` in Jupyter notebooks. + > astropy.utils + * ``download_file`` and related functions now accept a list of fallback + sources, and they are able to update the cache at the user's request. + * Allow ``astropy.utils.console.ProgressBarOrSpinner.map`` and + ``.map_unordered`` to take an argument ``multiprocessing_start_method`` to + control how subprocesses are started; the different methods (``fork``, + ``spawn``, and ``forkserver``) have different implications in terms of + security, efficiency, and behavioural anomalies. The option is useful in + particular for cross-platform testing because Windows supports only ``spawn`` + while Linux defaults to ``fork``. + * All operations that act on the astropy download cache now take an argument + ``pkgname`` that allows one to specify which package's cache to use. + + * Removed deprecated ``funcsigs`` and ``futures`` from + ``astropy.utils.compat``. + * Removed the deprecated ``astropy.utils.compat.numpy`` module. + * Deprecated ``InheritDocstrings`` as it is natively supported by + Sphinx 1.7 or higher. + * Deprecated ``astropy.utils.timer`` module, which has been moved to + ``astroquery.utils.timer`` and will be part of ``astroquery`` 0.4.0. + * Deprecated ``astropy.utils.misc.set_locale`` function, as it is meant for + internal use only. + * The implementation of ``data_info.DataInfo`` has changed (for a considerable + performance boost). Generally, this should not affect simple subclasses, but + because the class now uses ``__slots__`` any attributes on the class have to + be explicitly given a slot. + * ``IERS`` tables now use ``nan`` to mark missing values + (rather than ``1e20``). + > astropy.visualization + * The default ``clip`` value is now ``False`` in ``ImageNormalize``. + * The default ``clip`` value is now ``False`` in ``simple_norm``. + + * Infinite values are now excluded when calculating limits in + ``ManualInterval`` and ``MinMaxInterval``. They were already excluded in + all other interval classes. + + Bug Fixes + > astropy.coordinates + * The ``QuantityAttribute`` class now supports a None default value if a unit + is specified. + * When ``Representation`` classes with the same name are defined, this no + longer leads to a ``ValueError``, but instead to a warning and the removal + of both from the name registry (i.e., one either has to use the class itself + to set, e.g., ``representation_type``, or refer to the class by its fully + qualified name). + > astropy.io.fits + * Implemented skip (after warning) of header cards with reserved + keywords in ``table_to_hdu``. + * Add ``AstropyDeprecationWarning`` to ``read_table_fits`` when ``hdu=`` is + selected, but does not match single present table HDU. + > astropy.io.votable + * Ignore BINARY2 null mask bits for string values + on parsing a VOTable. In this way, the reader should never create masked + values for string types. + * Corrected a spurious warning issued for the ``value`` attribute of the + ``