|
|
|
|
Changelog for python312-astropy-6.1.3-1.1.x86_64.rpm :
* Fri Aug 30 2024 Ben Greiner - Update to 6.1.3 [#]# Bug Fixes [#]## astropy.io.fits * Fix reading zero-width columns such as 0A fields. [#16894] * Ensure that QTable, like Table, can read zero-length string columns, and not convert them to length 1 strings. In the process, avoid a needless copy of all the data for QTable. [#16898] [#]## astropy.io.votable * Fix KeyError when parsing certain VOTables. [#16830] [#]## astropy.modeling * Fixed the fit_deriv calculations in the Lorentz1D model. [#16794] [#]## astropy.table * Pretty-printing of Tables now also works in the presence of zero-length string columns (which sometimes are present in FITS tables). [#16898] [#]## astropy.utils * Fix the return type for np.broadcast_arrays on a single Masked instance: it now correctly returns a 1-element sequence instead of a single array, just like would be the case with a regular array. [#16842] [#]## astropy.wcs * Fix a bug where wcs_info_str’s results would look different in numpy 2 VS numpy 1. [#16586] [#]# Other Changes and Additions * The minimum required version of PyArrow is now v7.0.0. [#16785] * Fri Aug 16 2024 Benjamin Greiner - Don\'t require numpy 2. * Fri Aug 09 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 2024 Ben Greiner - Revert numpy restriction. * Thu Jul 11 2024 Steve Kowalik - Restrict numpy to < 2. * Tue Jun 25 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 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 05 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 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 2024 Ben Greiner - Enable SLE15 python module for python311 * Old version <=5.3.2 would be vulnerable boo#1221661 CVE-2023-41334 * Thu Mar 07 2024 Ben Greiner - Don\'t test with python39-ipython: not available anymore * Sat Dec 09 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 08 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 06 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 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 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 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 01 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 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 2023 Ben Greiner - Don\'t test with skyfield on python311: gh#brandon-rhodes/assay#15 * Fri Jan 13 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 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 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 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 2022 Ben Greiner - Skip two tests because of hypothesis -- gh#astropy/astropy#13275 * Tue May 31 2022 Ben Greiner - Skip two test categories segfaulting: gh#astropy/astropy#13286 * Thu May 26 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 2022 Ben Greiner - Enable tests requiring Pytest 7 * Fri Apr 01 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 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 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 2021 Ben Greiner - Skip flaky test_color_print3 * Tue Dec 28 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 2021 Ben Greiner - Add astropy-pr12159-py310.patch -- gh#astropy/astropy#12159 * Thu Oct 28 2021 Ben Greiner - Skip test_no_numpy_warnings[contours] due to wrong MPL version check -- gh#astropy/astropy#12050 * Fri Aug 27 2021 Ben Greiner - Suppress hypothesis health check for slow OBS episodes * Wed Aug 18 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 05 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 05 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 04 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 2021 Ben Greiner - Fix python_expand for test call * Thu Apr 08 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 08 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 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 01 2021 Benjamin Greiner - Increase the hypothesis test deadline
|
|
|