- 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]
OBS-URL: https://build.opensuse.org/request/show/1171972
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=118
## 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=116
- 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
OBS-URL: https://build.opensuse.org/request/show/1132272
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=108
## 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]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=104
## 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]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=100
* 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]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=96
* 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=94
- 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]
OBS-URL: https://build.opensuse.org/request/show/1082978
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=92
- 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
OBS-URL: https://build.opensuse.org/request/show/1058279
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=88
- 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
OBS-URL: https://build.opensuse.org/request/show/1044138
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=85
- 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
OBS-URL: https://build.opensuse.org/request/show/1030591
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=78
- 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.
OBS-URL: https://build.opensuse.org/request/show/980179
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=72
- 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)
OBS-URL: https://build.opensuse.org/request/show/966482
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=67
- 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]
OBS-URL: https://build.opensuse.org/request/show/961615
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=65
- 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
OBS-URL: https://build.opensuse.org/request/show/949763
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=64
- 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
OBS-URL: https://build.opensuse.org/request/show/942935
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=62
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]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=58
- 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
OBS-URL: https://build.opensuse.org/request/show/910367
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=56
- 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]
OBS-URL: https://build.opensuse.org/request/show/883882
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=51
- 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
OBS-URL: https://build.opensuse.org/request/show/851660
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=38
- 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
- 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]
OBS-URL: https://build.opensuse.org/request/show/843474
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=36
- 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
OBS-URL: https://build.opensuse.org/request/show/840965
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=34
:test flavor is currently failing but undetected!
- 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
OBS-URL: https://build.opensuse.org/request/show/821523
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=32