2017-08-24 18:28:41 +02:00
|
|
|
#
|
2024-03-07 11:57:29 +01:00
|
|
|
# spec file for package python-astropy
|
2017-08-24 18:28:41 +02:00
|
|
|
#
|
2024-03-07 11:57:29 +01:00
|
|
|
# Copyright (c) 2024 SUSE LLC
|
2017-08-24 18:28:41 +02:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
Accepting request 663419 from devel:languages:python:numeric
- Use pytest-astropy since it is in Factory now.
- Update to version 3.1
+ New Features
> astropy.convolution
* ``convolve`` now accepts any array-like input, not just ``numpy.ndarray`` or
lists. [#7303]
* ``convolve`` Now raises AstropyUserWarning if nan_treatment='interpolate' and
preserve_nan=False and NaN values are present post convolution. [#8088]
> astropy.coordinates
* The ``SkyCoord.from_name`` constructor now has the ability to create
coordinate objects by parsing object catalogue names that have embedded
J-coordinates. [#7830]
* The new function ``make_transform_graph_docs`` can be used to create a
docstring graph from a custom ``TransformGraph`` object. [#7135]
* ``KDTree`` for catalog matching is now built with sliding midpoint rule
rather than standard. In code, this means setting ``compact_nodes=False``
and ``balanced_tree=False`` in ``cKDTree``. The sliding midpoint rule is much
more suitable for catalog matching, and results in 1000x speedup in some
cases. [#7324]
* Additional information about a site loaded from the Astropy sites registry is
now available in ``EarthLocation.info.meta``. [#7857]
* Added a ``concatenate_representations`` function to combine coordinate
representation data and any associated differentials. [#7922]
* ``BaseCoordinateFrame`` will now check for a method named
``_astropy_repr_in_frame`` when constructing the string forms of attributes.
Allowing any class to control how ``BaseCoordinateFrame`` represents it when
it is an attribute of a frame. [#7745]
* Some rarely-changed attributes of frame classes are now cached, resulting in
speedups (up to 50% in some cases) when creating new scalar frame or
``SkyCoord`` objects. [#7949, #5952]
* Added a ``directional_offset_by`` method to ``SkyCoord`` that computes a new
coordinate given a coordinate, position angle, and angular separation [#5727]
> astropy.cosmology
* The default cosmology has been changed from ``WMAP9`` to ``Planck15``. [#8123]
* Distance calculations with ``LambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using elliptic integrals for non-flat cases. [#7155]
* Distance calculations with ``FlatLambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using the hypergeometric function solution
for this special case. [#7087]
* Age calculations with ``FlatLambdaCDM`` with no radiation (Tcmb0=0)
are now 1000x faster by using analytic solutions instead of integrating.
[#7117]
> astropy.io.ascii
* Latex reader now ignores ``\toprule``, ``\midrule``, and ``\bottomrule``
commands. [#7349]
* Added the RST (Restructured-text) table format and the fast version of the
RDB reader to the set of formats that are guessed by default. [#5578]
* The read trace (used primarily for debugging) now includes guess argument
sets that were skipped entirely e.g. for not supporting user-supplied kwargs.
All guesses thus removed from ``filtered_guess_kwargs`` are now listed as
"Disabled" at the beginning of the trace. [#5578]
* Emit a warning when reading an ECSV file without specifying the ``format``
and without PyYAML installed. Previously this silently fell through to
parsing as a basic format file and the file metadata was lost. [#7580]
* Optionally allow writing masked columns to ECSV with the mask explicitly
specified as a separate column instead of marking masked elements with ""
(empty string). This allows handling the case of a masked string column
with "" data rows. [#7481]
> astropy.io.misc
* Added support for saving all representation classes and many coordinate
frames to the asdf format. [#7079]
* Added support for saving models with units to the asdf format. [#7237]
* Added a new ``character_as_bytes`` keyword to the HDF5 Table reading
function to control whether byte string columns in the HDF5 file
are left as bytes or converted to unicode. The default is to read
as bytes (``character_as_bytes=True``). [#7024, #8017]
> astropy.io.fits
* ``HDUList.pop()`` now accepts string and tuple extension name
specifications. [#7236]
* Add an ``ignore_hdus`` keyword to ``FITSDiff`` to allow ignoring HDUs by
NAME when diffing two FITS files [#7538]
* Optionally allow writing masked columns to FITS with the mask explicitly
specified as a separate column instead of using the FITS standard of
certain embedded null values (``NaN`` for float, ``TNULL`` for integers).
This can be used to work around limitations in the FITS standard. [#7481]
* All time coordinates can now be written to and read from FITS binary tables,
including those with vectorized locations. [#7430]
* The ``fitsheader`` command line tool now supports a ``dfits+fitsort`` mode,
and the dotted notation for keywords (e.g. ``ESO.INS.ID``). [#7240]
* Fall back to reading arrays using mode='denywrite' if mode='readonly' fails
when using memory-mapping. This solves cases on some platforms when the
available address space was less than the file size (even when using memory
mapping). [#7926]
> astropy.modeling
* Add a ``Multiply`` model which preserves unit through evaluate, unlike
``Scale`` which is dimensionless. [#7210]
* Add a ``uses_quantity`` property to ``Model`` which allows introspection of if
the ``Model`` can accept ``Quantity`` objects. [#7417]
* Add a ``separability_matrix`` function which returns the correlation matrix
of inputs and outputs. [#7803]
* Fixed compatibility of ``JointFitter`` with the latest version of Numpy. [#7984]
* Add ``prior`` and ``posterior`` constraints to modeling parameters. These are
not used by any current fitters, but are provided to allow user code to
experiment with Bayesian fitters. [#7558]
> astropy.nddata
* ``NDUncertainty`` objects now have a ``quantity`` attribute for simple
conversion to quantities. [#7704]
* Add a ``bitmask`` module that provides functions for manipulating bitmasks
and data quality (DQ) arrays. [#7944]
> astropy.stats
* Add an ``astropy.stats.bls`` module with an implementation of the "box least
squares" periodogram that is commonly used for discovering transiting
exoplanets and eclipsing binaries. [#7391]
> astropy.table
* Added support for full use of ``Time`` mixin column for join, hstack, and
vstack table operations. [#6888]
* Added a new table index engine, ``SCEngine``, based on the Sorted Containers
package. [#7574]
* Add a new keyword argument ``serialize_method`` to ``Table.write`` to
control how ``Time`` and ``MaskedColumn`` columns are written. [#7481]
* Allow mixin columns to be used in table ``group`` and ``unique``
functions. This applies to both the key columns and the other data
columns. [#7712]
* Added support for stacking ``Column``, mixin column (e.g. ``Quantity``,
``Time``) or column-like objects. [#7674]
* Added support for inserting a row into a Table that has ``Time`` or
``TimeDelta`` column(s). [#7897]
> astropy.tests
* Added an option ``--readonly`` to the test command to change the
permissions on the temporary installation location to read-only. [#7598]
> astropy.time
* Allow array-valued ``Time`` object to be modified in place. [#6028]
* Added support for missing values (masking) to the ``Time`` class. [#6028]
* Added supper for a 'local' time scale (for free-running clocks, etc.),
and round-tripping to the corresponding FITS time scale. [#7122]
* Added `datetime.timedelta` format class for ``TimeDelta``. [#7441]
* Added ``strftime`` and ``strptime`` methods to ``Time`` class.
These methods are similar to those in the Python standard library
`time` package and provide flexible input and output formatting. [#7323]
* Added ``datetime64`` format to the ``Time`` class to support working with
``numpy.datetime64`` dtype arrays. [#7361]
* Add fractional second support for ``strftime`` and ``strptime`` methods
of ``Time`` class. [#7705]
* Added an ``insert`` method to allow inserting one or more values into a
``Time`` or ``TimeDelta`` object. [#7897]
* Remove timescale from string version of FITS format time string.
The timescale is not part of the FITS standard and should not be included.
This change may cause some compatibility issues for code that relies on
round-tripping a FITS format string with a timescale. Strings generated
from previous versions of this package are still understood but a
DeprecationWarning will be issued. [#7870]
> astropy.uncertainty
* This sub-package was added as a "preview" (i.e. API unstable), containing
the ``Distribution`` class and associated convenience functions. [#6945]
> astropy.units
* Add complex numbers support for ``Quantity._repr_latex_``. [#7676]
* Add ``thermodynamic_temperature`` equivalency to convert between
Jy/beam and "thermodynamic temperature" for cosmology. [#7054]
* Add millibar unit. [#7863]
* Add maggy and nanomaggy unit, as well as associated ``zero_point_flux``
equivalency. [#7891]
* ``AB`` and ``ST`` are now enabled by default, and have alternate names
``ABflux`` and ``STflux``. [#7891]
* Added ``littleh`` unit and associated ``with_H0`` equivalency. [#7970]
> astropy.visualization
* Added ``imshow_norm`` function, which combines imshow and creation of a
``ImageNormalize`` object. [#7785]
> astropy.visualization.wcsaxes
* Add support for setting ``set_separator(None)`` in WCSAxes to use default
separators. [#7570]
* Added two keyword argument options to ``CoordinateHelper.set_format_unit``:
``decimal`` can be used to specify whether to use decimal formatting for the
labels (by default this is False for degrees and hours and True otherwise),
and ``show_decimal_unit`` can be used to determine whether the units should be
shown for decimal labels. [#7318]
* Added documentation for ``transform=`` and ``coord_meta=``. [#7698]
* Allow ``coord_meta=`` to optionally include ``format_unit=``. [#7848]
* Add support for more rcParams related to the grid, ticks, and labels, and
should work with most built-in Matplotlib styles. [#7961]
* Improved rendering of outward-facing ticks. [#7961]
* Add support for ``tick_params`` (which is a standard Matplotlib
function/method) on both the ``WCSAxes`` class and the individual
``CoordinateHelper`` classes. Note that this is provided for compatibility
with Matplotlib syntax users may be familiar with, but it is not the
preferred way to change settings. Instead, methods such as ``set_ticks``
should be preferred. [#7969]
* Moved the argument ``exclude_overlapping`` from ``set_ticks`` to
``set_ticklabel``. [#7969]
* Added a ``pad=`` argument to ``set_ticklabel`` to provide a way to control
the padding between ticks and tick labels. [#7969]
* Added support for setting the tick direction in ``set_ticks`` using the
``direction=`` keyword argument. [#7969]
> astropy.wcs
* Map ITRS frames to terrestrial WCS coordinates. This will make it possible to
use WCSAxes to make figures that combine both celestial and terrestrial
features. An example is plotting the coordinates of an astronomical transient
over an all- sky satellite image to illustrate the position relative to the
Earth at the time of the event. The ITRS frame is identified with WCSs that
use the ``TLON-`` and ``TLAT-`` coordinate types. There are several examples
of WCSs where this syntax is used to describe terrestrial coordinate systems:
Section 7.4.1 of `WCS in FITS "Paper II" <http://adsabs.harvard.edu/abs/2002A%26A...395.1077C>`_
and the `WCSTools documentation <http://tdc-www.harvard.edu/software/wcstools/wcstools.multiwcs.html>`_.
[#6990]
* Added the abstract base class for the low-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Add ``WCS.contains()`` function to check if the WCS footprint contains a given sky coordinate. [#7273]
* Added the abstract base class for the high-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Added the high-level wrapper class for low-level WCS objects as described in
APE 14 (https://doi.org/10.5281/zenodo.1188875). [#7326]
* Added a new property ``WCS.has_distortion``. [#7326]
* Deprecated ``_naxis1`` and ``_naxis2`` in favor of ``pixel_shape``. [#7973]
* Added compatibility to wcslib version 6. [#8093]
+ API Changes
> astropy.convolution
* ``kernel`` can now be a tuple. [#7561]
* Not technically an API changes, however, the docstring indicated that ``boundary=None``
was the default when actually it is ``boundary='fill'``. The docstring has been corrected,
however, someone may interpret this as an API change not realizing that nothing has actually
changed. [#7293]
* ``interpolate_replace_nans()`` can no longer accept the keyword argument
``preserve_nan``. It is explicitly set to ``False``. [#8088]
> astropy.coordinates
* Fixed ``astropy.coordinates.concatenate`` to include velocity data in the
concatenation. [#7922]
* Changed the name of the single argument to ``Frame.realize_frame()`` from the
(incorrect) ``representation_type`` to ``data``. [#7923]
* Negative parallaxes passed to ``Distance()`` now raise an error by default
(``allow_negative=False``), or are converted to NaN values with a warning
(``allow_negative=True``). [#7988]
* Negating a ``SphericalRepresentation`` object now changes the angular
coordinates (by rotating 180º) instead of negating the distance. [#7988]
* Creation of new frames now generally creates copies of frame attributes,
rather than inconsistently either copying or making references. [#8204]
* The frame class method ``is_equivalent_frame`` now checks for equality of
components to determine if a frame is the same when it has frame attributes
that are representations, rather than checking if they are the same
object. [#8218]
> astropy.io.ascii
* If a fast reader is explicitly selected (e.g. ``fast_reader='force'``) and
options which are incompatible with the fast reader are provided
(e.g. ``quotechar='##'``) then now a ``ParameterError`` exception will be
raised. [#5578]
* The fast readers will now raise ``InconsistentTableError`` instead of
``CParserError`` if the number of data and header columns do not match.
[#5578]
* Changed a number of ``ValueError`` exceptions to ``InconsistentTableError``
in places where the exception is related to parsing a table which is
inconsistent with the specified table format. Note that
``InconsistentTableError`` inherits from ``ValueError`` so no user code
changes are required. [#7425]
> astropy.io.fits
* The ``fits.table_to_hdu()`` function will translate any column ``format``
attributes to a TDISPn format string, if possible, and store it as a TDISPn
keyword in the ``HDU`` header. [#7226]
> astropy.modeling
* Change the order of the return values from ``FittingWithOutlierRemoval``,
such that ``fitted_model`` comes first, for consistency with other fitters.
For the second value, return only a boolean outlier ``mask``, instead of the
previous ``MaskedArray`` (which included a copy of the input data that was
both redundant and inadvertently corrupted at masked points). Return a
consistent type for the second value when ``niter=0``. [#7407]
* Set the minimum value for the ``bolometric_flux`` parameter of the
``BlackBody1D`` model to zero. [#7045]
> astropy.nddata
* Add two new uncertainty classes, ``astropy.nddata.VarianceUncertainty`` and
``astropy.nddata.InverseVariance``. [#6971]
> astropy.stats
* String values can now be used for the ``cenfunc`` and ``stdfunc``
keywords in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions now have a ``masked`` keyword,
which can be used to return either a masked array (default) or an
ndarray with the min/max values. [#7478]
* The ``iters`` keyword has been renamed (and deprecated) to
``maxiters`` in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
> astropy.table
* ``Table.read()`` on a FITS binary table file will convert any TDISPn header
keywords to a Python formatting string when possible, and store it in the
column ``format`` attribute. [#7226]
* No values provided to stack will now raise ``ValueError`` rather than
``TypeError``. [#7674]
> astropy.tests
* ``from astropy.tests.helper import *`` no longer includes
``quantity_allclose``. However,
``from astropy.tests.helper import quantity_allclose`` would still work.
[#7381]
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` now takes ``None`` as key.
Any deprecation message that is mapped to ``None`` will be ignored
regardless of the Python version. [#7790]
> astropy.time
* Added the ability to use ``local`` as time scale in ``Time`` and
``TimeDelta``. [#6487]
* Comparisons, addition, and subtraction of ``Time`` instances with non-time
instances will now return ``NotImplemented`` rather than raise the
``Time``-specific ``OperandTypeError``. This will generally lead to a
regular ``TypeError``. As a result, ``OperandTypeError`` now only occurs if
the operation is between ``Time`` instances of incompatible type or scale.
[#7584]
> astropy.units
* In ``UnitBase.compose()``, if a sequence (list|tuple) is passed in to
``units``, the default for ``include_prefix_units`` is set to
`True`, so that no units get ignored. [#6957]
* Negative parallaxes are now converted to NaN values when using the
``parallax`` equivalency. [#7988]
> astropy.utils
* ``InheritDocstrings`` now also works on class properties. [#7166]
* ``diff_values()``, ``report_diff_values()``, and ``where_not_allclose()``
utility functions are moved from ``astropy.io.fits.diff``. [#7444]
* ``invalidate_caches()`` has been removed from the
``astropy.utils.compat`` namespace, use it directly from ``importlib``. [#7872]
> astropy.visualization
* In ``ImageNormalize``, the default for ``clip`` is set to ``True``. [#7800]
* Changed ``AsymmetricPercentileInterval`` and ``MinMaxInterval`` to
ignore NaN values in arrays. [#7360]
* Automatically default to using ``grid_type='contours'`` in WCSAxes when using
a custom ``Transform`` object if the transform has no inverse. [#7847]
+ Performance Improvements
* Reduced import time by more cautious use of the standard library. [#7647]
> astropy.convolution
* Major performance overhaul to ``convolve()``. [#7293]
* ``convolve()``: Boundaries ``fill``, ``extend``, and ``wrap`` now use a single
implementation that pads the image with the correct boundary values before convolving.
The runtimes of these three were significantly skewed. They now have
equivalent runtimes that are also faster than before due to performant contiguous
memory access. However, this does increase the memory footprint as an entire
new image array is required plus that needed for the padded region.[#7293]
* ``convolve()``: Core computation ported from Cython to C. Several optimization
techniques have been implemented to achieve performance gains, e.g. compiler
hoisting, and vectorization, etc. Compiler optimization level ``-O2`` required for
hoisting and ``-O3`` for vectorization. [#7293]
* ``convolve()``: ``nan_treatment=‘interpolate’`` was slow to compute irrespective of
whether any NaN values exist within the array. The input array is now
checked for NaN values and interpolation is disabled if non are found. This is a
significant performance boost for arrays without NaN values. [#7293]
> astropy.coordinates
* Sped up creating SkyCoord objects by a factor of ~2 in some cases. [#7615]
* Sped up getting xyz vectors from ``CartesianRepresentation`` (which
is used a lot internally). [#7638]
* Sped up transformations and some representation methods by replacing
python code with (compiled) ``erfa`` ufuncs. [#7639]
* Sped up adding differential (velocity) data to representations by a factor of
~20, which improves the speed of frame and SkyCoord initialization. [#7924]
* Refactored ``SkyCoord`` initializer to improve performance and code clarity.
[#7958]
* Sped up initialization of ``Longitude`` by ~40%. [#7616]
> astropy.stats
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions are now significantly faster. [#7478]
* A Cython implementation for `astropy.stats.kuiper_two` and a vectorized
implementation for `astropy.stats.kuiper_false_positive_probability` have
been added, speeding up both functions. [#8104]
> astropy.units
* Sped up creating new composite units, and raising units to some power
[#7549, #7649]
* Sped up Unit.to when target unit is the same as the original unit.
[#7643]
* Lazy-load ``scipy.special`` to shorten ``astropy.units`` import time. [#7636]
> astropy.visualization
* Significantly sped up drawing of contours in WCSAxes. [#7568]
+ Bug Fixes
> astropy.convolution
* Fixed bug in ``convolve_fft`` where masked input was copied with
``numpy.asarray`` instead of ``numpy.asanyarray``.
``numpy.asarray`` removes the mask subclass causing
``numpy.ma.ismasked(input)`` to fail, causing ``convolve_fft``
to ignore all masked input. [#8137]
* Remove function side-effects of input data from ``convolve_fft``.
It was possible for input data to remain modified if particular exceptions
were raised. [#8152]
> astropy.coordinates
* ``EarthLocation.of_address`` now uses the OpenStreetMap geocoding API by
default to retrieve coordinates, with the Google API (which now requires an
API key) as an option. [#7918]
* Fixed a bug that caused frame objects with NaN distances to have NaN sky
positions, even if valid sky coordinates were specified. [#7988]
* Fixed ``represent_as()`` to not round-trip through cartesian if the same
representation class as the instance is passed in. [#7988]
> astropy.io.ascii
* Fixed a problem when ``guess=True`` that ``fast_reader`` options
could be dropped after the first fast reader class was tried. [#5578]
* Units in CDS-formatted tables are now parsed correctly by the units
module. [#7348]
> astropy.io.misc
* Fixed bug when writing a table with masked columns to HDF5. Previously
the mask was being silently dropped. If the ``serialize_meta`` option is
enabled the data mask will now be written as an additional column and the
masked columns will round-trip correctly. [#7481]
* Fixed a bug where writing to HDF5 failed for for tables with columns of
unicode strings. Now those columns are first encoded to UTF-8 and
written as byte strings. [#7024, #8017]
* Fixed a bug with serializing the bounding_box of models initialized
with ``Quantities`` . [#8052]
> astropy.io.fits
* Added support for ``copy.copy`` and ``copy.deepcopy`` for ``HDUList``. [#7218]
* Override ``HDUList.copy()`` to return a shallow HDUList instance. [#7218]
> astropy.modeling
* Fix behaviour of certain models with units, by making certain unit-related
attributes readonly. [#7210]
* Fixed an issue with validating a ``bounding_box`` whose items are
``Quantities``. [#8052]
* Fix ``Moffat1D`` and ``Moffat2D`` derivatives. [#8108]
> astropy.nddata
* Fixed rounding behavior in ``overlap_slices`` for even-sized small
arrays. [#7859]
* Added support for pickling ``NDData`` instances that have an uncertainty.
[#7383]
> astropy.stats
* Fix errors in ``kuiper_false_positive_probability``. [#7975]
> astropy.tests
* Fixing bug that prevented to run the doctests on only a single rst documentation
file rather than all of them. [#8055]
> astropy.time
* Fix a bug when setting a ``TimeDelta`` array item with plain float value(s).
This was always interpreted as a JD (day) value regardless of the
``TimeDelta`` format. [#7990]
> astropy.units
* To simplify fast creation of ``Quantity`` instances from arrays, one can now
write ``array << unit`` (equivalent to ``Quantity(array, unit, copy=False)``).
If ``array`` is already a ``Quantity``, this will convert the quantity to the
requested units; in-place conversion can be done with ``quantity <<= unit``.
[#7734]
> astropy.utils
* Fixed a bug due to which ``report_diff_values()`` was reporting incorrect
number of differences when comparing two ``numpy.ndarray``. [#7470]
* The download progress bar is now only displayed in terminals, to avoid
polluting piped output. [#7577]
* Ignore URL mirror caching when there is no internet. [#8163]
> astropy.visualization
* Right ascension coordinates are now shown in hours by default, and the
``set_format_unit`` method on ``CoordinateHelper`` now works correctly
with angle coordinates. [#7215]
+ Other Changes and Additions
* The documentation build now uses the Sphinx configuration from sphinx-astropy
rather than from astropy-helpers. [#7139]
* Versions of Numpy <1.13 are no longer supported. [#7058]
* Running tests now suppresses the output of the installation stage by default,
to allow easier viewing of the test results. To re-enable the output as
before, use ``python setup.py test --verbose-install``. [#7512]
* The ERFA functions are now wrapped in ufuncs instead of custom C code,
leading to some speed improvements, and setting the stage for allowing
overrides with ``__array_ufunc__``. [#7502]
* Updated the bundled CFITSIO library to 3.450. See
``cextern/cfitsio/docs/changes.txt`` for additional information. [#8014]
* The ``representation`` keywords in coordinate frames are now deprecated in
favor of the ``representation_type`` keywords (which are less
ambiguously named). [#8119]
- Update to 3.0.5
* Update to 3.* is a large step, which contains these main
improvements:
- Full support for velocities in astropy.coordinates
- Support for position updates based on source motion for
SkyCoord objects
- Context managers for versioned constants
- Support for quantities in scipy special functions
- showtable command line script
- Lossless writing and reading mixin columns to HDF5 and
FITS
- Support for FITS time standard
- FITS table performance enhancements
- False alarm probabilities in astropy.stats.LombScargle
- Reading large ASCII files in chunks
- Astropy now only supports Python 3
- pytest plugins moved to external packages
Full changelog is available at http://docs.astropy.org/en/stable/changelog.html
OBS-URL: https://build.opensuse.org/request/show/663419
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=4
2019-01-21 10:47:14 +01:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2017-08-24 18:28:41 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
|
2020-06-03 09:43:14 +02:00
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
|
|
%if "%{flavor}" == "test"
|
|
|
|
%bcond_without test
|
2020-12-10 00:08:56 +01:00
|
|
|
%define psuffix -test
|
2020-06-03 09:43:14 +02:00
|
|
|
%else
|
|
|
|
%bcond_with test
|
2020-12-10 00:08:56 +01:00
|
|
|
%define psuffix %{nil}
|
2020-06-03 09:43:14 +02:00
|
|
|
%endif
|
2020-10-23 13:32:38 +02:00
|
|
|
|
2020-05-28 09:33:22 +02:00
|
|
|
%define binaries fitsdiff fitsheader fitscheck fitsinfo fits2bitmap samp_hub showtable volint wcslint
|
2020-10-23 13:32:38 +02:00
|
|
|
|
2021-08-05 21:04:41 +02:00
|
|
|
# backwards compatibility for --without systemlibs
|
|
|
|
%bcond_without systemlibs
|
|
|
|
|
2022-04-01 23:36:44 +02:00
|
|
|
%if %{with systemlibs}
|
2021-08-05 21:04:41 +02:00
|
|
|
%bcond_without system_expat
|
|
|
|
%bcond_without system_wcslib
|
2022-04-01 23:36:44 +02:00
|
|
|
%else
|
|
|
|
%bcond_with system_expat
|
|
|
|
%bcond_with system_wcslib
|
|
|
|
%endif
|
2021-08-05 21:04:41 +02:00
|
|
|
|
|
|
|
%if %{with system_expat}
|
|
|
|
%define unbundle_expat export ASTROPY_USE_SYSTEM_EXPAT=1
|
2021-01-15 21:35:21 +01:00
|
|
|
%endif
|
2021-08-05 21:04:41 +02:00
|
|
|
%if %{with system_wcslib}
|
|
|
|
%define unbundle_wcs export ASTROPY_USE_SYSTEM_WCSLIB=1
|
2020-10-23 13:32:38 +02:00
|
|
|
%endif
|
2023-07-01 16:28:29 +02:00
|
|
|
%define unbundle_libs %{?unbundle_expat} \
|
2021-08-06 02:33:56 +02:00
|
|
|
%{?unbundle_wcs}
|
2020-10-23 13:32:38 +02:00
|
|
|
|
2024-03-19 11:53:38 +01:00
|
|
|
%{?sle15_python_module_pythons}
|
2020-12-10 00:08:56 +01:00
|
|
|
Name: python-astropy%{psuffix}
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
Version: 6.1.0
|
2017-08-24 18:28:41 +02:00
|
|
|
Release: 0
|
|
|
|
Summary: Community-developed python astronomy tools
|
|
|
|
License: BSD-3-Clause
|
2019-11-20 21:12:59 +01:00
|
|
|
URL: https://astropy.org
|
2017-08-24 18:28:41 +02:00
|
|
|
Source: https://files.pythonhosted.org/packages/source/a/astropy/astropy-%{version}.tar.gz
|
2022-12-22 00:34:54 +01:00
|
|
|
# SourceRepository: https://github.com/astropy/astropy
|
2017-08-24 18:28:41 +02:00
|
|
|
# Mark wcs headers as false positives for devel-file-in-non-devel-package
|
|
|
|
# These are used by the python files so they must be available.
|
|
|
|
Source100: python-astropy-rpmlintrc
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
# https://docs.astropy.org/en/v6.1/install.html#requirements
|
2023-12-09 21:32:37 +01:00
|
|
|
BuildRequires: %{python_module Cython >= 3 with %python-Cython < 3.1}
|
2023-07-01 16:28:29 +02:00
|
|
|
BuildRequires: %{python_module devel >= 3.9}
|
2024-03-29 18:08:26 +01:00
|
|
|
BuildRequires: %{python_module extension-helpers >= 1.0}
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
BuildRequires: %{python_module numpy-devel}
|
2022-12-22 00:34:54 +01:00
|
|
|
BuildRequires: %{python_module pip}
|
2021-12-28 16:28:24 +01:00
|
|
|
BuildRequires: %{python_module setuptools_scm >= 6.2}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: %{python_module setuptools}
|
2022-12-22 00:34:54 +01:00
|
|
|
BuildRequires: %{python_module wheel}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: fdupes
|
|
|
|
BuildRequires: hdf5-devel
|
2019-04-11 18:11:30 +02:00
|
|
|
BuildRequires: pkgconfig
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: python-rpm-macros
|
2021-12-28 16:28:24 +01:00
|
|
|
Requires: python-PyYAML >= 3.13
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
Requires: python-astropy-iers-data >= 0.2024.4.29.0.28.48
|
|
|
|
Requires: python-numpy >= 1.23
|
2021-12-28 16:28:24 +01:00
|
|
|
Requires: python-packaging >= 19.0
|
2024-03-29 18:08:26 +01:00
|
|
|
Requires: python-pyerfa >= 2.0.1.1
|
2020-05-28 09:33:22 +02:00
|
|
|
Requires(post): update-alternatives
|
2024-03-07 11:57:29 +01:00
|
|
|
Requires(postun): update-alternatives
|
2023-12-10 19:17:34 +01:00
|
|
|
# %%{_bindir}/showtable namespace clash
|
|
|
|
Conflicts: perl-Data-ShowTable
|
2023-12-09 21:32:37 +01:00
|
|
|
# [recommended]
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
Recommends: python-scipy >= 1.8
|
2023-12-09 21:32:37 +01:00
|
|
|
Recommends: python-matplotlib >= 3.3
|
2021-12-28 16:28:24 +01:00
|
|
|
Conflicts: python-matplotlib = 3.4.0
|
2022-12-22 00:34:54 +01:00
|
|
|
Conflicts: python-matplotlib = 3.5.2
|
2023-12-09 21:32:37 +01:00
|
|
|
# [all]
|
|
|
|
Suggests: python-h5py
|
|
|
|
Suggests: python-beautifulsoup4
|
|
|
|
Suggests: python-html5lib
|
|
|
|
Suggests: python-bleach
|
|
|
|
Suggests: libxml2-tools
|
|
|
|
Suggests: python-pandas
|
|
|
|
Suggests: python-sortedcontainers
|
|
|
|
Suggests: python-pytz
|
|
|
|
Suggests: python-jplephem
|
|
|
|
Suggests: python-setuptools
|
|
|
|
Suggests: python-mpmath
|
|
|
|
Suggests: python-asdf-astropy >= 0.3
|
|
|
|
Suggests: python-Bottleneck
|
|
|
|
Suggests: python-pyarrow >= 5
|
|
|
|
Suggests: python-fsspec >= 2023.4.0
|
|
|
|
# Suggests: python-s3fs
|
2021-08-05 21:04:41 +02:00
|
|
|
%if %{with system_expat}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: pkgconfig(expat)
|
2021-08-05 21:04:41 +02:00
|
|
|
%endif
|
|
|
|
%if %{with system_wcslib}
|
2023-12-09 21:32:37 +01:00
|
|
|
BuildRequires: pkgconfig(wcslib) >= 8.1
|
2020-10-23 13:32:38 +02:00
|
|
|
%endif
|
2020-06-03 09:43:14 +02:00
|
|
|
%if %{with test}
|
2023-12-09 21:32:37 +01:00
|
|
|
# SECTION [all]+[recommends]
|
2024-05-05 18:42:08 +02:00
|
|
|
BuildRequires: %{python_module Bottleneck}
|
2023-12-09 21:32:37 +01:00
|
|
|
BuildRequires: %{python_module asdf-astropy >= 0.3}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: %{python_module beautifulsoup4}
|
|
|
|
BuildRequires: %{python_module bleach}
|
2023-12-09 21:32:37 +01:00
|
|
|
BuildRequires: %{python_module fsspec >= 2023.4.0}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: %{python_module h5py}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: %{python_module html5lib}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: %{python_module jplephem}
|
2023-07-01 16:28:29 +02:00
|
|
|
BuildRequires: %{python_module matplotlib >= 3.3}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: %{python_module mpmath}
|
2017-08-24 18:28:41 +02:00
|
|
|
BuildRequires: %{python_module pandas}
|
2023-12-09 21:32:37 +01:00
|
|
|
%ifnarch %arm
|
2023-07-01 16:28:29 +02:00
|
|
|
BuildRequires: %{python_module pyarrow >= 5}
|
2023-12-09 21:32:37 +01:00
|
|
|
%endif
|
|
|
|
BuildRequires: %{python_module pytz}
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
BuildRequires: %{python_module scipy >= 1.8}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: %{python_module sortedcontainers}
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
BuildRequires: %{python_module typing_extensions >= 4.0.0}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: libxml2-tools
|
Accepting request 663419 from devel:languages:python:numeric
- Use pytest-astropy since it is in Factory now.
- Update to version 3.1
+ New Features
> astropy.convolution
* ``convolve`` now accepts any array-like input, not just ``numpy.ndarray`` or
lists. [#7303]
* ``convolve`` Now raises AstropyUserWarning if nan_treatment='interpolate' and
preserve_nan=False and NaN values are present post convolution. [#8088]
> astropy.coordinates
* The ``SkyCoord.from_name`` constructor now has the ability to create
coordinate objects by parsing object catalogue names that have embedded
J-coordinates. [#7830]
* The new function ``make_transform_graph_docs`` can be used to create a
docstring graph from a custom ``TransformGraph`` object. [#7135]
* ``KDTree`` for catalog matching is now built with sliding midpoint rule
rather than standard. In code, this means setting ``compact_nodes=False``
and ``balanced_tree=False`` in ``cKDTree``. The sliding midpoint rule is much
more suitable for catalog matching, and results in 1000x speedup in some
cases. [#7324]
* Additional information about a site loaded from the Astropy sites registry is
now available in ``EarthLocation.info.meta``. [#7857]
* Added a ``concatenate_representations`` function to combine coordinate
representation data and any associated differentials. [#7922]
* ``BaseCoordinateFrame`` will now check for a method named
``_astropy_repr_in_frame`` when constructing the string forms of attributes.
Allowing any class to control how ``BaseCoordinateFrame`` represents it when
it is an attribute of a frame. [#7745]
* Some rarely-changed attributes of frame classes are now cached, resulting in
speedups (up to 50% in some cases) when creating new scalar frame or
``SkyCoord`` objects. [#7949, #5952]
* Added a ``directional_offset_by`` method to ``SkyCoord`` that computes a new
coordinate given a coordinate, position angle, and angular separation [#5727]
> astropy.cosmology
* The default cosmology has been changed from ``WMAP9`` to ``Planck15``. [#8123]
* Distance calculations with ``LambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using elliptic integrals for non-flat cases. [#7155]
* Distance calculations with ``FlatLambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using the hypergeometric function solution
for this special case. [#7087]
* Age calculations with ``FlatLambdaCDM`` with no radiation (Tcmb0=0)
are now 1000x faster by using analytic solutions instead of integrating.
[#7117]
> astropy.io.ascii
* Latex reader now ignores ``\toprule``, ``\midrule``, and ``\bottomrule``
commands. [#7349]
* Added the RST (Restructured-text) table format and the fast version of the
RDB reader to the set of formats that are guessed by default. [#5578]
* The read trace (used primarily for debugging) now includes guess argument
sets that were skipped entirely e.g. for not supporting user-supplied kwargs.
All guesses thus removed from ``filtered_guess_kwargs`` are now listed as
"Disabled" at the beginning of the trace. [#5578]
* Emit a warning when reading an ECSV file without specifying the ``format``
and without PyYAML installed. Previously this silently fell through to
parsing as a basic format file and the file metadata was lost. [#7580]
* Optionally allow writing masked columns to ECSV with the mask explicitly
specified as a separate column instead of marking masked elements with ""
(empty string). This allows handling the case of a masked string column
with "" data rows. [#7481]
> astropy.io.misc
* Added support for saving all representation classes and many coordinate
frames to the asdf format. [#7079]
* Added support for saving models with units to the asdf format. [#7237]
* Added a new ``character_as_bytes`` keyword to the HDF5 Table reading
function to control whether byte string columns in the HDF5 file
are left as bytes or converted to unicode. The default is to read
as bytes (``character_as_bytes=True``). [#7024, #8017]
> astropy.io.fits
* ``HDUList.pop()`` now accepts string and tuple extension name
specifications. [#7236]
* Add an ``ignore_hdus`` keyword to ``FITSDiff`` to allow ignoring HDUs by
NAME when diffing two FITS files [#7538]
* Optionally allow writing masked columns to FITS with the mask explicitly
specified as a separate column instead of using the FITS standard of
certain embedded null values (``NaN`` for float, ``TNULL`` for integers).
This can be used to work around limitations in the FITS standard. [#7481]
* All time coordinates can now be written to and read from FITS binary tables,
including those with vectorized locations. [#7430]
* The ``fitsheader`` command line tool now supports a ``dfits+fitsort`` mode,
and the dotted notation for keywords (e.g. ``ESO.INS.ID``). [#7240]
* Fall back to reading arrays using mode='denywrite' if mode='readonly' fails
when using memory-mapping. This solves cases on some platforms when the
available address space was less than the file size (even when using memory
mapping). [#7926]
> astropy.modeling
* Add a ``Multiply`` model which preserves unit through evaluate, unlike
``Scale`` which is dimensionless. [#7210]
* Add a ``uses_quantity`` property to ``Model`` which allows introspection of if
the ``Model`` can accept ``Quantity`` objects. [#7417]
* Add a ``separability_matrix`` function which returns the correlation matrix
of inputs and outputs. [#7803]
* Fixed compatibility of ``JointFitter`` with the latest version of Numpy. [#7984]
* Add ``prior`` and ``posterior`` constraints to modeling parameters. These are
not used by any current fitters, but are provided to allow user code to
experiment with Bayesian fitters. [#7558]
> astropy.nddata
* ``NDUncertainty`` objects now have a ``quantity`` attribute for simple
conversion to quantities. [#7704]
* Add a ``bitmask`` module that provides functions for manipulating bitmasks
and data quality (DQ) arrays. [#7944]
> astropy.stats
* Add an ``astropy.stats.bls`` module with an implementation of the "box least
squares" periodogram that is commonly used for discovering transiting
exoplanets and eclipsing binaries. [#7391]
> astropy.table
* Added support for full use of ``Time`` mixin column for join, hstack, and
vstack table operations. [#6888]
* Added a new table index engine, ``SCEngine``, based on the Sorted Containers
package. [#7574]
* Add a new keyword argument ``serialize_method`` to ``Table.write`` to
control how ``Time`` and ``MaskedColumn`` columns are written. [#7481]
* Allow mixin columns to be used in table ``group`` and ``unique``
functions. This applies to both the key columns and the other data
columns. [#7712]
* Added support for stacking ``Column``, mixin column (e.g. ``Quantity``,
``Time``) or column-like objects. [#7674]
* Added support for inserting a row into a Table that has ``Time`` or
``TimeDelta`` column(s). [#7897]
> astropy.tests
* Added an option ``--readonly`` to the test command to change the
permissions on the temporary installation location to read-only. [#7598]
> astropy.time
* Allow array-valued ``Time`` object to be modified in place. [#6028]
* Added support for missing values (masking) to the ``Time`` class. [#6028]
* Added supper for a 'local' time scale (for free-running clocks, etc.),
and round-tripping to the corresponding FITS time scale. [#7122]
* Added `datetime.timedelta` format class for ``TimeDelta``. [#7441]
* Added ``strftime`` and ``strptime`` methods to ``Time`` class.
These methods are similar to those in the Python standard library
`time` package and provide flexible input and output formatting. [#7323]
* Added ``datetime64`` format to the ``Time`` class to support working with
``numpy.datetime64`` dtype arrays. [#7361]
* Add fractional second support for ``strftime`` and ``strptime`` methods
of ``Time`` class. [#7705]
* Added an ``insert`` method to allow inserting one or more values into a
``Time`` or ``TimeDelta`` object. [#7897]
* Remove timescale from string version of FITS format time string.
The timescale is not part of the FITS standard and should not be included.
This change may cause some compatibility issues for code that relies on
round-tripping a FITS format string with a timescale. Strings generated
from previous versions of this package are still understood but a
DeprecationWarning will be issued. [#7870]
> astropy.uncertainty
* This sub-package was added as a "preview" (i.e. API unstable), containing
the ``Distribution`` class and associated convenience functions. [#6945]
> astropy.units
* Add complex numbers support for ``Quantity._repr_latex_``. [#7676]
* Add ``thermodynamic_temperature`` equivalency to convert between
Jy/beam and "thermodynamic temperature" for cosmology. [#7054]
* Add millibar unit. [#7863]
* Add maggy and nanomaggy unit, as well as associated ``zero_point_flux``
equivalency. [#7891]
* ``AB`` and ``ST`` are now enabled by default, and have alternate names
``ABflux`` and ``STflux``. [#7891]
* Added ``littleh`` unit and associated ``with_H0`` equivalency. [#7970]
> astropy.visualization
* Added ``imshow_norm`` function, which combines imshow and creation of a
``ImageNormalize`` object. [#7785]
> astropy.visualization.wcsaxes
* Add support for setting ``set_separator(None)`` in WCSAxes to use default
separators. [#7570]
* Added two keyword argument options to ``CoordinateHelper.set_format_unit``:
``decimal`` can be used to specify whether to use decimal formatting for the
labels (by default this is False for degrees and hours and True otherwise),
and ``show_decimal_unit`` can be used to determine whether the units should be
shown for decimal labels. [#7318]
* Added documentation for ``transform=`` and ``coord_meta=``. [#7698]
* Allow ``coord_meta=`` to optionally include ``format_unit=``. [#7848]
* Add support for more rcParams related to the grid, ticks, and labels, and
should work with most built-in Matplotlib styles. [#7961]
* Improved rendering of outward-facing ticks. [#7961]
* Add support for ``tick_params`` (which is a standard Matplotlib
function/method) on both the ``WCSAxes`` class and the individual
``CoordinateHelper`` classes. Note that this is provided for compatibility
with Matplotlib syntax users may be familiar with, but it is not the
preferred way to change settings. Instead, methods such as ``set_ticks``
should be preferred. [#7969]
* Moved the argument ``exclude_overlapping`` from ``set_ticks`` to
``set_ticklabel``. [#7969]
* Added a ``pad=`` argument to ``set_ticklabel`` to provide a way to control
the padding between ticks and tick labels. [#7969]
* Added support for setting the tick direction in ``set_ticks`` using the
``direction=`` keyword argument. [#7969]
> astropy.wcs
* Map ITRS frames to terrestrial WCS coordinates. This will make it possible to
use WCSAxes to make figures that combine both celestial and terrestrial
features. An example is plotting the coordinates of an astronomical transient
over an all- sky satellite image to illustrate the position relative to the
Earth at the time of the event. The ITRS frame is identified with WCSs that
use the ``TLON-`` and ``TLAT-`` coordinate types. There are several examples
of WCSs where this syntax is used to describe terrestrial coordinate systems:
Section 7.4.1 of `WCS in FITS "Paper II" <http://adsabs.harvard.edu/abs/2002A%26A...395.1077C>`_
and the `WCSTools documentation <http://tdc-www.harvard.edu/software/wcstools/wcstools.multiwcs.html>`_.
[#6990]
* Added the abstract base class for the low-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Add ``WCS.contains()`` function to check if the WCS footprint contains a given sky coordinate. [#7273]
* Added the abstract base class for the high-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Added the high-level wrapper class for low-level WCS objects as described in
APE 14 (https://doi.org/10.5281/zenodo.1188875). [#7326]
* Added a new property ``WCS.has_distortion``. [#7326]
* Deprecated ``_naxis1`` and ``_naxis2`` in favor of ``pixel_shape``. [#7973]
* Added compatibility to wcslib version 6. [#8093]
+ API Changes
> astropy.convolution
* ``kernel`` can now be a tuple. [#7561]
* Not technically an API changes, however, the docstring indicated that ``boundary=None``
was the default when actually it is ``boundary='fill'``. The docstring has been corrected,
however, someone may interpret this as an API change not realizing that nothing has actually
changed. [#7293]
* ``interpolate_replace_nans()`` can no longer accept the keyword argument
``preserve_nan``. It is explicitly set to ``False``. [#8088]
> astropy.coordinates
* Fixed ``astropy.coordinates.concatenate`` to include velocity data in the
concatenation. [#7922]
* Changed the name of the single argument to ``Frame.realize_frame()`` from the
(incorrect) ``representation_type`` to ``data``. [#7923]
* Negative parallaxes passed to ``Distance()`` now raise an error by default
(``allow_negative=False``), or are converted to NaN values with a warning
(``allow_negative=True``). [#7988]
* Negating a ``SphericalRepresentation`` object now changes the angular
coordinates (by rotating 180º) instead of negating the distance. [#7988]
* Creation of new frames now generally creates copies of frame attributes,
rather than inconsistently either copying or making references. [#8204]
* The frame class method ``is_equivalent_frame`` now checks for equality of
components to determine if a frame is the same when it has frame attributes
that are representations, rather than checking if they are the same
object. [#8218]
> astropy.io.ascii
* If a fast reader is explicitly selected (e.g. ``fast_reader='force'``) and
options which are incompatible with the fast reader are provided
(e.g. ``quotechar='##'``) then now a ``ParameterError`` exception will be
raised. [#5578]
* The fast readers will now raise ``InconsistentTableError`` instead of
``CParserError`` if the number of data and header columns do not match.
[#5578]
* Changed a number of ``ValueError`` exceptions to ``InconsistentTableError``
in places where the exception is related to parsing a table which is
inconsistent with the specified table format. Note that
``InconsistentTableError`` inherits from ``ValueError`` so no user code
changes are required. [#7425]
> astropy.io.fits
* The ``fits.table_to_hdu()`` function will translate any column ``format``
attributes to a TDISPn format string, if possible, and store it as a TDISPn
keyword in the ``HDU`` header. [#7226]
> astropy.modeling
* Change the order of the return values from ``FittingWithOutlierRemoval``,
such that ``fitted_model`` comes first, for consistency with other fitters.
For the second value, return only a boolean outlier ``mask``, instead of the
previous ``MaskedArray`` (which included a copy of the input data that was
both redundant and inadvertently corrupted at masked points). Return a
consistent type for the second value when ``niter=0``. [#7407]
* Set the minimum value for the ``bolometric_flux`` parameter of the
``BlackBody1D`` model to zero. [#7045]
> astropy.nddata
* Add two new uncertainty classes, ``astropy.nddata.VarianceUncertainty`` and
``astropy.nddata.InverseVariance``. [#6971]
> astropy.stats
* String values can now be used for the ``cenfunc`` and ``stdfunc``
keywords in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions now have a ``masked`` keyword,
which can be used to return either a masked array (default) or an
ndarray with the min/max values. [#7478]
* The ``iters`` keyword has been renamed (and deprecated) to
``maxiters`` in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
> astropy.table
* ``Table.read()`` on a FITS binary table file will convert any TDISPn header
keywords to a Python formatting string when possible, and store it in the
column ``format`` attribute. [#7226]
* No values provided to stack will now raise ``ValueError`` rather than
``TypeError``. [#7674]
> astropy.tests
* ``from astropy.tests.helper import *`` no longer includes
``quantity_allclose``. However,
``from astropy.tests.helper import quantity_allclose`` would still work.
[#7381]
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` now takes ``None`` as key.
Any deprecation message that is mapped to ``None`` will be ignored
regardless of the Python version. [#7790]
> astropy.time
* Added the ability to use ``local`` as time scale in ``Time`` and
``TimeDelta``. [#6487]
* Comparisons, addition, and subtraction of ``Time`` instances with non-time
instances will now return ``NotImplemented`` rather than raise the
``Time``-specific ``OperandTypeError``. This will generally lead to a
regular ``TypeError``. As a result, ``OperandTypeError`` now only occurs if
the operation is between ``Time`` instances of incompatible type or scale.
[#7584]
> astropy.units
* In ``UnitBase.compose()``, if a sequence (list|tuple) is passed in to
``units``, the default for ``include_prefix_units`` is set to
`True`, so that no units get ignored. [#6957]
* Negative parallaxes are now converted to NaN values when using the
``parallax`` equivalency. [#7988]
> astropy.utils
* ``InheritDocstrings`` now also works on class properties. [#7166]
* ``diff_values()``, ``report_diff_values()``, and ``where_not_allclose()``
utility functions are moved from ``astropy.io.fits.diff``. [#7444]
* ``invalidate_caches()`` has been removed from the
``astropy.utils.compat`` namespace, use it directly from ``importlib``. [#7872]
> astropy.visualization
* In ``ImageNormalize``, the default for ``clip`` is set to ``True``. [#7800]
* Changed ``AsymmetricPercentileInterval`` and ``MinMaxInterval`` to
ignore NaN values in arrays. [#7360]
* Automatically default to using ``grid_type='contours'`` in WCSAxes when using
a custom ``Transform`` object if the transform has no inverse. [#7847]
+ Performance Improvements
* Reduced import time by more cautious use of the standard library. [#7647]
> astropy.convolution
* Major performance overhaul to ``convolve()``. [#7293]
* ``convolve()``: Boundaries ``fill``, ``extend``, and ``wrap`` now use a single
implementation that pads the image with the correct boundary values before convolving.
The runtimes of these three were significantly skewed. They now have
equivalent runtimes that are also faster than before due to performant contiguous
memory access. However, this does increase the memory footprint as an entire
new image array is required plus that needed for the padded region.[#7293]
* ``convolve()``: Core computation ported from Cython to C. Several optimization
techniques have been implemented to achieve performance gains, e.g. compiler
hoisting, and vectorization, etc. Compiler optimization level ``-O2`` required for
hoisting and ``-O3`` for vectorization. [#7293]
* ``convolve()``: ``nan_treatment=‘interpolate’`` was slow to compute irrespective of
whether any NaN values exist within the array. The input array is now
checked for NaN values and interpolation is disabled if non are found. This is a
significant performance boost for arrays without NaN values. [#7293]
> astropy.coordinates
* Sped up creating SkyCoord objects by a factor of ~2 in some cases. [#7615]
* Sped up getting xyz vectors from ``CartesianRepresentation`` (which
is used a lot internally). [#7638]
* Sped up transformations and some representation methods by replacing
python code with (compiled) ``erfa`` ufuncs. [#7639]
* Sped up adding differential (velocity) data to representations by a factor of
~20, which improves the speed of frame and SkyCoord initialization. [#7924]
* Refactored ``SkyCoord`` initializer to improve performance and code clarity.
[#7958]
* Sped up initialization of ``Longitude`` by ~40%. [#7616]
> astropy.stats
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions are now significantly faster. [#7478]
* A Cython implementation for `astropy.stats.kuiper_two` and a vectorized
implementation for `astropy.stats.kuiper_false_positive_probability` have
been added, speeding up both functions. [#8104]
> astropy.units
* Sped up creating new composite units, and raising units to some power
[#7549, #7649]
* Sped up Unit.to when target unit is the same as the original unit.
[#7643]
* Lazy-load ``scipy.special`` to shorten ``astropy.units`` import time. [#7636]
> astropy.visualization
* Significantly sped up drawing of contours in WCSAxes. [#7568]
+ Bug Fixes
> astropy.convolution
* Fixed bug in ``convolve_fft`` where masked input was copied with
``numpy.asarray`` instead of ``numpy.asanyarray``.
``numpy.asarray`` removes the mask subclass causing
``numpy.ma.ismasked(input)`` to fail, causing ``convolve_fft``
to ignore all masked input. [#8137]
* Remove function side-effects of input data from ``convolve_fft``.
It was possible for input data to remain modified if particular exceptions
were raised. [#8152]
> astropy.coordinates
* ``EarthLocation.of_address`` now uses the OpenStreetMap geocoding API by
default to retrieve coordinates, with the Google API (which now requires an
API key) as an option. [#7918]
* Fixed a bug that caused frame objects with NaN distances to have NaN sky
positions, even if valid sky coordinates were specified. [#7988]
* Fixed ``represent_as()`` to not round-trip through cartesian if the same
representation class as the instance is passed in. [#7988]
> astropy.io.ascii
* Fixed a problem when ``guess=True`` that ``fast_reader`` options
could be dropped after the first fast reader class was tried. [#5578]
* Units in CDS-formatted tables are now parsed correctly by the units
module. [#7348]
> astropy.io.misc
* Fixed bug when writing a table with masked columns to HDF5. Previously
the mask was being silently dropped. If the ``serialize_meta`` option is
enabled the data mask will now be written as an additional column and the
masked columns will round-trip correctly. [#7481]
* Fixed a bug where writing to HDF5 failed for for tables with columns of
unicode strings. Now those columns are first encoded to UTF-8 and
written as byte strings. [#7024, #8017]
* Fixed a bug with serializing the bounding_box of models initialized
with ``Quantities`` . [#8052]
> astropy.io.fits
* Added support for ``copy.copy`` and ``copy.deepcopy`` for ``HDUList``. [#7218]
* Override ``HDUList.copy()`` to return a shallow HDUList instance. [#7218]
> astropy.modeling
* Fix behaviour of certain models with units, by making certain unit-related
attributes readonly. [#7210]
* Fixed an issue with validating a ``bounding_box`` whose items are
``Quantities``. [#8052]
* Fix ``Moffat1D`` and ``Moffat2D`` derivatives. [#8108]
> astropy.nddata
* Fixed rounding behavior in ``overlap_slices`` for even-sized small
arrays. [#7859]
* Added support for pickling ``NDData`` instances that have an uncertainty.
[#7383]
> astropy.stats
* Fix errors in ``kuiper_false_positive_probability``. [#7975]
> astropy.tests
* Fixing bug that prevented to run the doctests on only a single rst documentation
file rather than all of them. [#8055]
> astropy.time
* Fix a bug when setting a ``TimeDelta`` array item with plain float value(s).
This was always interpreted as a JD (day) value regardless of the
``TimeDelta`` format. [#7990]
> astropy.units
* To simplify fast creation of ``Quantity`` instances from arrays, one can now
write ``array << unit`` (equivalent to ``Quantity(array, unit, copy=False)``).
If ``array`` is already a ``Quantity``, this will convert the quantity to the
requested units; in-place conversion can be done with ``quantity <<= unit``.
[#7734]
> astropy.utils
* Fixed a bug due to which ``report_diff_values()`` was reporting incorrect
number of differences when comparing two ``numpy.ndarray``. [#7470]
* The download progress bar is now only displayed in terminals, to avoid
polluting piped output. [#7577]
* Ignore URL mirror caching when there is no internet. [#8163]
> astropy.visualization
* Right ascension coordinates are now shown in hours by default, and the
``set_format_unit`` method on ``CoordinateHelper`` now works correctly
with angle coordinates. [#7215]
+ Other Changes and Additions
* The documentation build now uses the Sphinx configuration from sphinx-astropy
rather than from astropy-helpers. [#7139]
* Versions of Numpy <1.13 are no longer supported. [#7058]
* Running tests now suppresses the output of the installation stage by default,
to allow easier viewing of the test results. To re-enable the output as
before, use ``python setup.py test --verbose-install``. [#7512]
* The ERFA functions are now wrapped in ufuncs instead of custom C code,
leading to some speed improvements, and setting the stage for allowing
overrides with ``__array_ufunc__``. [#7502]
* Updated the bundled CFITSIO library to 3.450. See
``cextern/cfitsio/docs/changes.txt`` for additional information. [#8014]
* The ``representation`` keywords in coordinate frames are now deprecated in
favor of the ``representation_type`` keywords (which are less
ambiguously named). [#8119]
- Update to 3.0.5
* Update to 3.* is a large step, which contains these main
improvements:
- Full support for velocities in astropy.coordinates
- Support for position updates based on source motion for
SkyCoord objects
- Context managers for versioned constants
- Support for quantities in scipy special functions
- showtable command line script
- Lossless writing and reading mixin columns to HDF5 and
FITS
- Support for FITS time standard
- FITS table performance enhancements
- False alarm probabilities in astropy.stats.LombScargle
- Reading large ASCII files in chunks
- Astropy now only supports Python 3
- pytest plugins moved to external packages
Full changelog is available at http://docs.astropy.org/en/stable/changelog.html
OBS-URL: https://build.opensuse.org/request/show/663419
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=4
2019-01-21 10:47:14 +01:00
|
|
|
# /SECTION
|
2023-12-09 21:32:37 +01:00
|
|
|
# SECTION [test]
|
2020-10-23 13:32:38 +02:00
|
|
|
# We need the compiled package for testing
|
Accepting request 840965 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2020-10-11 12:33:44 +02:00
|
|
|
BuildRequires: %{python_module astropy = %{version}}
|
2024-03-07 11:57:29 +01:00
|
|
|
BuildRequires: %{python_module ipython >= 4.2 if %python-base >= 3.10}
|
Accepting request 795557 from home:bnavigator:branches:devel:languages:python:numeric
- Update to 4.0.1.post1
* astropy.config
[gh#astropy/astropy#9975]
Fixed a bug where importing a development version of a package that
uses ``astropy`` configuration system can result in a
``~/.astropy/config/package..cfg`` file.
* astropy.coordinates
[gh#astropy/astropy#9815]
Fixed a bug where a vestigal trace of a frame class could persist in the
transformation graph even after the removal of all transformations involving
that frame class.
[gh#astropy/astropy#9815]
Fixed a bug with ``TransformGraph.remove_transform()`` when the "from" and
"to" frame classes are not explicitly specified.
[gh#astropy/astropy#9900]
Read-only longitudes can now be passed in to ``EarthLocation`` even if
they include angles outside of the range of -180 to 180 degrees.
[gh#astropy/astropy#9980]
```SkyCoord.radial_velocity_correction``` no longer raises an Exception
when space motion information is present on the SkyCoord.
* astropy.io
[gh#astropy/astropy#9866]
Fixed a bug that prevented the unified I/O infrastructure from working with
datasets that are represented by directories rather than files.
* astropy.io.ascii
[gh#astropy/astropy#9918]
Fixed a bug in the ``fast_reader`` C parsers incorrectly returning entries
of isolated positive/negative signs as ``float`` instead of ``str``.
[gh#astropy/astropy#9923]
Fixed a segmentation fault in the ``fast_reader`` C parsers when parsing an
invalid file with ``guess=True`` and the file contains inconsistent column
numbers in combination with a quoted field; e.g., ``"1 2\n 3 4 '5'"``.
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``ecsv`` files.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.io.fits
[gh#astropy/astropy#9711, gh#astropy/astropy#9934]
Fix regression with ``GroupsHDU`` which needs to modify the header to handle
invalid headers, and fix accesing ``.data`` for empty HDU.
[gh#astropy/astropy#9711]
Fix ``fitsdiff`` when its arguments are directories that contain other
directories.
[gh#astropy/astropy#9958]
Fix writing noncontiguous data to a compressed HDU.
[gh#astropy/astropy#9978]
Added verification of ``disp`` (``TDISP``) keyword to ``fits.Column`` and
extended tests for ``TFORM`` and ``TDISP`` validation.
[gh#astropy/astropy#10012]
Fix checksum verification to process all HDUs instead of only the first one
because of the lazy loading feature.
[gh#astropy/astropy#10030]
Allow passing ``output_verify`` to ``.close`` when using the context manager.
[gh#astropy/astropy#10041]
Prevent instantiation of ``PrimaryHDU`` and ``ImageHDU`` with a scalar.
[gh#astropy/astropy#10069]
Fix column access by attribute with FITS_rec: columns with scaling or columns
from ASCII tables where not properly converted when accessed by attribute
name.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.modeling
[gh#astropy/astropy#9987]
Fixed a bug in setting default values of parameters of orthonormal
polynomials when constructing a model set.
* astropy.table
[gh#astropy/astropy#9839]
Fixed bug in ``Table.reverse`` for tables that contain non-mutable mixin columns
(like ``SkyCoord``) for which in-place item update is not allowed.
[gh#astropy/astropy#9933]
Tables containing Magnitude, decibel, and dex columns can now be saved to
``ecsv`` files.
[gh#astropy/astropy#10027]
Fixed bug where adding or inserting a row fails on a table with an index
defined on a column that is not the first one.
[gh#astropy/astropy#10068]
Ensured that ``table.show_in_browser`` also worked for mixin columns like
``Time`` and ``SkyCoord``.
* astropy.time
[gh#astropy/astropy#9679]
Fix inaccuracy when converting between TimeDelta and datetime.timedelta.
[gh#astropy/astropy#9812]
Fixed exception when changing ``format`` in the case when ``out_subfmt`` is
defined and is incompatible with the new format.
[gh#astropy/astropy#9812]
Fixed exceptions in ``Time.to_value()``: when supplying any ``subfmt`` argument
for string-based formats like 'iso', and for ``subfmt='long'`` for the formats
'byear', 'jyear', and 'decimalyear'.
[gh#astropy/astropy#9969]
Fixed bug where the location attribute was lost when creating a new ``Time``
object from an existing ``Time`` or list of ``Time`` objects.
[gh#astropy/astropy#10034]
Fixed a bug where an exception occurred when creating a ``Time`` object
if the ``val1`` argument was a regular double and the ``val2`` argument
was a ``longdouble``.
* astropy.timeseries
[gh#astropy/astropy#10013]
Fixed issue with reference time for the ``transit_time`` parameter returned by
the ``BoxLeastSquares`` periodogram. Now, the ``transit_time`` will be within
the range of the input data and arbitrary time offsets/zero points no longer
affect results.
* astropy.units
[gh#astropy/astropy#9948]
Fix for ``quantity_input`` annotation raising an exception on iterable
types that don't define a general ``__contains__`` for checking if ``None``
is contained (e.g. Enum as of python3.8), by instead checking for instance of
Sequence.
[gh#astropy/astropy#10066]
Fix for ``u.Quantity`` not taking into account ``ndmin`` if constructed from
another ``u.Quantity`` instance with different but convertible unit
* astropy.utils
[gh#astropy/astropy#9981]
Fixed ``deprecated_renamed_argument`` not passing in user value to
deprecated keyword when the keyword has no new name.
[gh#astropy/astropy#9985]
Fixed ``deprecated_renamed_argument`` not issuing a deprecation warning when
deprecated keyword without new name is passed in as positional argument.
[gh#astropy/astropy#10007]
Fixed detection of read-only filesystems in the caching code.
* astropy.visualization
[gh#astropy/astropy#9848]
Fixed bug from matplotlib >=3.1 where an empty Quantity array is
sent for unit conversion as an empty list.
[gh#astropy/astropy#9913]
Fix bug in ``ZScaleInterval`` to return the array minimum and
maximum when there are less then ``min_npixels`` in the input array.
[gh#astropy/astropy#8004, gh#astropy/astropy#9991]
Fix a bug in simplifying axis labels that affected non-rectangular frames.
* Increase minimum asdf version to 2.5.2.
[gh#astropy/astropy#9996, gh#astropy/astropy#9819]
* Updated wcslib to v7.2. [gh#astropy/astropy#10021]
- updated test requirements and recommends
- run pytest directly
OBS-URL: https://build.opensuse.org/request/show/795557
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=23
2020-04-20 19:58:35 +02:00
|
|
|
BuildRequires: %{python_module objgraph}
|
2023-09-14 10:34:27 +02:00
|
|
|
BuildRequires: %{python_module pytest >= 7 with %python-pytest < 8}
|
2022-05-31 22:49:55 +02:00
|
|
|
BuildRequires: %{python_module pytest-astropy >= 0.10}
|
|
|
|
BuildRequires: %{python_module pytest-astropy-header >= 0.2.1}
|
Accepting request 961615 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2022-03-14 10:52:01 +01:00
|
|
|
BuildRequires: %{python_module pytest-doctestplus >= 0.12}
|
Accepting request 795557 from home:bnavigator:branches:devel:languages:python:numeric
- Update to 4.0.1.post1
* astropy.config
[gh#astropy/astropy#9975]
Fixed a bug where importing a development version of a package that
uses ``astropy`` configuration system can result in a
``~/.astropy/config/package..cfg`` file.
* astropy.coordinates
[gh#astropy/astropy#9815]
Fixed a bug where a vestigal trace of a frame class could persist in the
transformation graph even after the removal of all transformations involving
that frame class.
[gh#astropy/astropy#9815]
Fixed a bug with ``TransformGraph.remove_transform()`` when the "from" and
"to" frame classes are not explicitly specified.
[gh#astropy/astropy#9900]
Read-only longitudes can now be passed in to ``EarthLocation`` even if
they include angles outside of the range of -180 to 180 degrees.
[gh#astropy/astropy#9980]
```SkyCoord.radial_velocity_correction``` no longer raises an Exception
when space motion information is present on the SkyCoord.
* astropy.io
[gh#astropy/astropy#9866]
Fixed a bug that prevented the unified I/O infrastructure from working with
datasets that are represented by directories rather than files.
* astropy.io.ascii
[gh#astropy/astropy#9918]
Fixed a bug in the ``fast_reader`` C parsers incorrectly returning entries
of isolated positive/negative signs as ``float`` instead of ``str``.
[gh#astropy/astropy#9923]
Fixed a segmentation fault in the ``fast_reader`` C parsers when parsing an
invalid file with ``guess=True`` and the file contains inconsistent column
numbers in combination with a quoted field; e.g., ``"1 2\n 3 4 '5'"``.
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``ecsv`` files.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.io.fits
[gh#astropy/astropy#9711, gh#astropy/astropy#9934]
Fix regression with ``GroupsHDU`` which needs to modify the header to handle
invalid headers, and fix accesing ``.data`` for empty HDU.
[gh#astropy/astropy#9711]
Fix ``fitsdiff`` when its arguments are directories that contain other
directories.
[gh#astropy/astropy#9958]
Fix writing noncontiguous data to a compressed HDU.
[gh#astropy/astropy#9978]
Added verification of ``disp`` (``TDISP``) keyword to ``fits.Column`` and
extended tests for ``TFORM`` and ``TDISP`` validation.
[gh#astropy/astropy#10012]
Fix checksum verification to process all HDUs instead of only the first one
because of the lazy loading feature.
[gh#astropy/astropy#10030]
Allow passing ``output_verify`` to ``.close`` when using the context manager.
[gh#astropy/astropy#10041]
Prevent instantiation of ``PrimaryHDU`` and ``ImageHDU`` with a scalar.
[gh#astropy/astropy#10069]
Fix column access by attribute with FITS_rec: columns with scaling or columns
from ASCII tables where not properly converted when accessed by attribute
name.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.modeling
[gh#astropy/astropy#9987]
Fixed a bug in setting default values of parameters of orthonormal
polynomials when constructing a model set.
* astropy.table
[gh#astropy/astropy#9839]
Fixed bug in ``Table.reverse`` for tables that contain non-mutable mixin columns
(like ``SkyCoord``) for which in-place item update is not allowed.
[gh#astropy/astropy#9933]
Tables containing Magnitude, decibel, and dex columns can now be saved to
``ecsv`` files.
[gh#astropy/astropy#10027]
Fixed bug where adding or inserting a row fails on a table with an index
defined on a column that is not the first one.
[gh#astropy/astropy#10068]
Ensured that ``table.show_in_browser`` also worked for mixin columns like
``Time`` and ``SkyCoord``.
* astropy.time
[gh#astropy/astropy#9679]
Fix inaccuracy when converting between TimeDelta and datetime.timedelta.
[gh#astropy/astropy#9812]
Fixed exception when changing ``format`` in the case when ``out_subfmt`` is
defined and is incompatible with the new format.
[gh#astropy/astropy#9812]
Fixed exceptions in ``Time.to_value()``: when supplying any ``subfmt`` argument
for string-based formats like 'iso', and for ``subfmt='long'`` for the formats
'byear', 'jyear', and 'decimalyear'.
[gh#astropy/astropy#9969]
Fixed bug where the location attribute was lost when creating a new ``Time``
object from an existing ``Time`` or list of ``Time`` objects.
[gh#astropy/astropy#10034]
Fixed a bug where an exception occurred when creating a ``Time`` object
if the ``val1`` argument was a regular double and the ``val2`` argument
was a ``longdouble``.
* astropy.timeseries
[gh#astropy/astropy#10013]
Fixed issue with reference time for the ``transit_time`` parameter returned by
the ``BoxLeastSquares`` periodogram. Now, the ``transit_time`` will be within
the range of the input data and arbitrary time offsets/zero points no longer
affect results.
* astropy.units
[gh#astropy/astropy#9948]
Fix for ``quantity_input`` annotation raising an exception on iterable
types that don't define a general ``__contains__`` for checking if ``None``
is contained (e.g. Enum as of python3.8), by instead checking for instance of
Sequence.
[gh#astropy/astropy#10066]
Fix for ``u.Quantity`` not taking into account ``ndmin`` if constructed from
another ``u.Quantity`` instance with different but convertible unit
* astropy.utils
[gh#astropy/astropy#9981]
Fixed ``deprecated_renamed_argument`` not passing in user value to
deprecated keyword when the keyword has no new name.
[gh#astropy/astropy#9985]
Fixed ``deprecated_renamed_argument`` not issuing a deprecation warning when
deprecated keyword without new name is passed in as positional argument.
[gh#astropy/astropy#10007]
Fixed detection of read-only filesystems in the caching code.
* astropy.visualization
[gh#astropy/astropy#9848]
Fixed bug from matplotlib >=3.1 where an empty Quantity array is
sent for unit conversion as an empty list.
[gh#astropy/astropy#9913]
Fix bug in ``ZScaleInterval`` to return the array minimum and
maximum when there are less then ``min_npixels`` in the input array.
[gh#astropy/astropy#8004, gh#astropy/astropy#9991]
Fix a bug in simplifying axis labels that affected non-rectangular frames.
* Increase minimum asdf version to 2.5.2.
[gh#astropy/astropy#9996, gh#astropy/astropy#9819]
* Updated wcslib to v7.2. [gh#astropy/astropy#10021]
- updated test requirements and recommends
- run pytest directly
OBS-URL: https://build.opensuse.org/request/show/795557
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=23
2020-04-20 19:58:35 +02:00
|
|
|
BuildRequires: %{python_module pytest-mpl}
|
2020-10-23 13:32:38 +02:00
|
|
|
BuildRequires: %{python_module pytest-xdist}
|
2022-12-22 00:34:54 +01:00
|
|
|
BuildRequires: %{python_module sgp4 >= 2.3}
|
2023-02-19 21:57:56 +01:00
|
|
|
BuildRequires: %{python_module skyfield >= 1.20 if %python-base < 3.11}
|
2024-03-29 18:08:26 +01:00
|
|
|
BuildRequires: %{python_module threadpoolctl}
|
Accepting request 663419 from devel:languages:python:numeric
- Use pytest-astropy since it is in Factory now.
- Update to version 3.1
+ New Features
> astropy.convolution
* ``convolve`` now accepts any array-like input, not just ``numpy.ndarray`` or
lists. [#7303]
* ``convolve`` Now raises AstropyUserWarning if nan_treatment='interpolate' and
preserve_nan=False and NaN values are present post convolution. [#8088]
> astropy.coordinates
* The ``SkyCoord.from_name`` constructor now has the ability to create
coordinate objects by parsing object catalogue names that have embedded
J-coordinates. [#7830]
* The new function ``make_transform_graph_docs`` can be used to create a
docstring graph from a custom ``TransformGraph`` object. [#7135]
* ``KDTree`` for catalog matching is now built with sliding midpoint rule
rather than standard. In code, this means setting ``compact_nodes=False``
and ``balanced_tree=False`` in ``cKDTree``. The sliding midpoint rule is much
more suitable for catalog matching, and results in 1000x speedup in some
cases. [#7324]
* Additional information about a site loaded from the Astropy sites registry is
now available in ``EarthLocation.info.meta``. [#7857]
* Added a ``concatenate_representations`` function to combine coordinate
representation data and any associated differentials. [#7922]
* ``BaseCoordinateFrame`` will now check for a method named
``_astropy_repr_in_frame`` when constructing the string forms of attributes.
Allowing any class to control how ``BaseCoordinateFrame`` represents it when
it is an attribute of a frame. [#7745]
* Some rarely-changed attributes of frame classes are now cached, resulting in
speedups (up to 50% in some cases) when creating new scalar frame or
``SkyCoord`` objects. [#7949, #5952]
* Added a ``directional_offset_by`` method to ``SkyCoord`` that computes a new
coordinate given a coordinate, position angle, and angular separation [#5727]
> astropy.cosmology
* The default cosmology has been changed from ``WMAP9`` to ``Planck15``. [#8123]
* Distance calculations with ``LambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using elliptic integrals for non-flat cases. [#7155]
* Distance calculations with ``FlatLambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using the hypergeometric function solution
for this special case. [#7087]
* Age calculations with ``FlatLambdaCDM`` with no radiation (Tcmb0=0)
are now 1000x faster by using analytic solutions instead of integrating.
[#7117]
> astropy.io.ascii
* Latex reader now ignores ``\toprule``, ``\midrule``, and ``\bottomrule``
commands. [#7349]
* Added the RST (Restructured-text) table format and the fast version of the
RDB reader to the set of formats that are guessed by default. [#5578]
* The read trace (used primarily for debugging) now includes guess argument
sets that were skipped entirely e.g. for not supporting user-supplied kwargs.
All guesses thus removed from ``filtered_guess_kwargs`` are now listed as
"Disabled" at the beginning of the trace. [#5578]
* Emit a warning when reading an ECSV file without specifying the ``format``
and without PyYAML installed. Previously this silently fell through to
parsing as a basic format file and the file metadata was lost. [#7580]
* Optionally allow writing masked columns to ECSV with the mask explicitly
specified as a separate column instead of marking masked elements with ""
(empty string). This allows handling the case of a masked string column
with "" data rows. [#7481]
> astropy.io.misc
* Added support for saving all representation classes and many coordinate
frames to the asdf format. [#7079]
* Added support for saving models with units to the asdf format. [#7237]
* Added a new ``character_as_bytes`` keyword to the HDF5 Table reading
function to control whether byte string columns in the HDF5 file
are left as bytes or converted to unicode. The default is to read
as bytes (``character_as_bytes=True``). [#7024, #8017]
> astropy.io.fits
* ``HDUList.pop()`` now accepts string and tuple extension name
specifications. [#7236]
* Add an ``ignore_hdus`` keyword to ``FITSDiff`` to allow ignoring HDUs by
NAME when diffing two FITS files [#7538]
* Optionally allow writing masked columns to FITS with the mask explicitly
specified as a separate column instead of using the FITS standard of
certain embedded null values (``NaN`` for float, ``TNULL`` for integers).
This can be used to work around limitations in the FITS standard. [#7481]
* All time coordinates can now be written to and read from FITS binary tables,
including those with vectorized locations. [#7430]
* The ``fitsheader`` command line tool now supports a ``dfits+fitsort`` mode,
and the dotted notation for keywords (e.g. ``ESO.INS.ID``). [#7240]
* Fall back to reading arrays using mode='denywrite' if mode='readonly' fails
when using memory-mapping. This solves cases on some platforms when the
available address space was less than the file size (even when using memory
mapping). [#7926]
> astropy.modeling
* Add a ``Multiply`` model which preserves unit through evaluate, unlike
``Scale`` which is dimensionless. [#7210]
* Add a ``uses_quantity`` property to ``Model`` which allows introspection of if
the ``Model`` can accept ``Quantity`` objects. [#7417]
* Add a ``separability_matrix`` function which returns the correlation matrix
of inputs and outputs. [#7803]
* Fixed compatibility of ``JointFitter`` with the latest version of Numpy. [#7984]
* Add ``prior`` and ``posterior`` constraints to modeling parameters. These are
not used by any current fitters, but are provided to allow user code to
experiment with Bayesian fitters. [#7558]
> astropy.nddata
* ``NDUncertainty`` objects now have a ``quantity`` attribute for simple
conversion to quantities. [#7704]
* Add a ``bitmask`` module that provides functions for manipulating bitmasks
and data quality (DQ) arrays. [#7944]
> astropy.stats
* Add an ``astropy.stats.bls`` module with an implementation of the "box least
squares" periodogram that is commonly used for discovering transiting
exoplanets and eclipsing binaries. [#7391]
> astropy.table
* Added support for full use of ``Time`` mixin column for join, hstack, and
vstack table operations. [#6888]
* Added a new table index engine, ``SCEngine``, based on the Sorted Containers
package. [#7574]
* Add a new keyword argument ``serialize_method`` to ``Table.write`` to
control how ``Time`` and ``MaskedColumn`` columns are written. [#7481]
* Allow mixin columns to be used in table ``group`` and ``unique``
functions. This applies to both the key columns and the other data
columns. [#7712]
* Added support for stacking ``Column``, mixin column (e.g. ``Quantity``,
``Time``) or column-like objects. [#7674]
* Added support for inserting a row into a Table that has ``Time`` or
``TimeDelta`` column(s). [#7897]
> astropy.tests
* Added an option ``--readonly`` to the test command to change the
permissions on the temporary installation location to read-only. [#7598]
> astropy.time
* Allow array-valued ``Time`` object to be modified in place. [#6028]
* Added support for missing values (masking) to the ``Time`` class. [#6028]
* Added supper for a 'local' time scale (for free-running clocks, etc.),
and round-tripping to the corresponding FITS time scale. [#7122]
* Added `datetime.timedelta` format class for ``TimeDelta``. [#7441]
* Added ``strftime`` and ``strptime`` methods to ``Time`` class.
These methods are similar to those in the Python standard library
`time` package and provide flexible input and output formatting. [#7323]
* Added ``datetime64`` format to the ``Time`` class to support working with
``numpy.datetime64`` dtype arrays. [#7361]
* Add fractional second support for ``strftime`` and ``strptime`` methods
of ``Time`` class. [#7705]
* Added an ``insert`` method to allow inserting one or more values into a
``Time`` or ``TimeDelta`` object. [#7897]
* Remove timescale from string version of FITS format time string.
The timescale is not part of the FITS standard and should not be included.
This change may cause some compatibility issues for code that relies on
round-tripping a FITS format string with a timescale. Strings generated
from previous versions of this package are still understood but a
DeprecationWarning will be issued. [#7870]
> astropy.uncertainty
* This sub-package was added as a "preview" (i.e. API unstable), containing
the ``Distribution`` class and associated convenience functions. [#6945]
> astropy.units
* Add complex numbers support for ``Quantity._repr_latex_``. [#7676]
* Add ``thermodynamic_temperature`` equivalency to convert between
Jy/beam and "thermodynamic temperature" for cosmology. [#7054]
* Add millibar unit. [#7863]
* Add maggy and nanomaggy unit, as well as associated ``zero_point_flux``
equivalency. [#7891]
* ``AB`` and ``ST`` are now enabled by default, and have alternate names
``ABflux`` and ``STflux``. [#7891]
* Added ``littleh`` unit and associated ``with_H0`` equivalency. [#7970]
> astropy.visualization
* Added ``imshow_norm`` function, which combines imshow and creation of a
``ImageNormalize`` object. [#7785]
> astropy.visualization.wcsaxes
* Add support for setting ``set_separator(None)`` in WCSAxes to use default
separators. [#7570]
* Added two keyword argument options to ``CoordinateHelper.set_format_unit``:
``decimal`` can be used to specify whether to use decimal formatting for the
labels (by default this is False for degrees and hours and True otherwise),
and ``show_decimal_unit`` can be used to determine whether the units should be
shown for decimal labels. [#7318]
* Added documentation for ``transform=`` and ``coord_meta=``. [#7698]
* Allow ``coord_meta=`` to optionally include ``format_unit=``. [#7848]
* Add support for more rcParams related to the grid, ticks, and labels, and
should work with most built-in Matplotlib styles. [#7961]
* Improved rendering of outward-facing ticks. [#7961]
* Add support for ``tick_params`` (which is a standard Matplotlib
function/method) on both the ``WCSAxes`` class and the individual
``CoordinateHelper`` classes. Note that this is provided for compatibility
with Matplotlib syntax users may be familiar with, but it is not the
preferred way to change settings. Instead, methods such as ``set_ticks``
should be preferred. [#7969]
* Moved the argument ``exclude_overlapping`` from ``set_ticks`` to
``set_ticklabel``. [#7969]
* Added a ``pad=`` argument to ``set_ticklabel`` to provide a way to control
the padding between ticks and tick labels. [#7969]
* Added support for setting the tick direction in ``set_ticks`` using the
``direction=`` keyword argument. [#7969]
> astropy.wcs
* Map ITRS frames to terrestrial WCS coordinates. This will make it possible to
use WCSAxes to make figures that combine both celestial and terrestrial
features. An example is plotting the coordinates of an astronomical transient
over an all- sky satellite image to illustrate the position relative to the
Earth at the time of the event. The ITRS frame is identified with WCSs that
use the ``TLON-`` and ``TLAT-`` coordinate types. There are several examples
of WCSs where this syntax is used to describe terrestrial coordinate systems:
Section 7.4.1 of `WCS in FITS "Paper II" <http://adsabs.harvard.edu/abs/2002A%26A...395.1077C>`_
and the `WCSTools documentation <http://tdc-www.harvard.edu/software/wcstools/wcstools.multiwcs.html>`_.
[#6990]
* Added the abstract base class for the low-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Add ``WCS.contains()`` function to check if the WCS footprint contains a given sky coordinate. [#7273]
* Added the abstract base class for the high-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Added the high-level wrapper class for low-level WCS objects as described in
APE 14 (https://doi.org/10.5281/zenodo.1188875). [#7326]
* Added a new property ``WCS.has_distortion``. [#7326]
* Deprecated ``_naxis1`` and ``_naxis2`` in favor of ``pixel_shape``. [#7973]
* Added compatibility to wcslib version 6. [#8093]
+ API Changes
> astropy.convolution
* ``kernel`` can now be a tuple. [#7561]
* Not technically an API changes, however, the docstring indicated that ``boundary=None``
was the default when actually it is ``boundary='fill'``. The docstring has been corrected,
however, someone may interpret this as an API change not realizing that nothing has actually
changed. [#7293]
* ``interpolate_replace_nans()`` can no longer accept the keyword argument
``preserve_nan``. It is explicitly set to ``False``. [#8088]
> astropy.coordinates
* Fixed ``astropy.coordinates.concatenate`` to include velocity data in the
concatenation. [#7922]
* Changed the name of the single argument to ``Frame.realize_frame()`` from the
(incorrect) ``representation_type`` to ``data``. [#7923]
* Negative parallaxes passed to ``Distance()`` now raise an error by default
(``allow_negative=False``), or are converted to NaN values with a warning
(``allow_negative=True``). [#7988]
* Negating a ``SphericalRepresentation`` object now changes the angular
coordinates (by rotating 180º) instead of negating the distance. [#7988]
* Creation of new frames now generally creates copies of frame attributes,
rather than inconsistently either copying or making references. [#8204]
* The frame class method ``is_equivalent_frame`` now checks for equality of
components to determine if a frame is the same when it has frame attributes
that are representations, rather than checking if they are the same
object. [#8218]
> astropy.io.ascii
* If a fast reader is explicitly selected (e.g. ``fast_reader='force'``) and
options which are incompatible with the fast reader are provided
(e.g. ``quotechar='##'``) then now a ``ParameterError`` exception will be
raised. [#5578]
* The fast readers will now raise ``InconsistentTableError`` instead of
``CParserError`` if the number of data and header columns do not match.
[#5578]
* Changed a number of ``ValueError`` exceptions to ``InconsistentTableError``
in places where the exception is related to parsing a table which is
inconsistent with the specified table format. Note that
``InconsistentTableError`` inherits from ``ValueError`` so no user code
changes are required. [#7425]
> astropy.io.fits
* The ``fits.table_to_hdu()`` function will translate any column ``format``
attributes to a TDISPn format string, if possible, and store it as a TDISPn
keyword in the ``HDU`` header. [#7226]
> astropy.modeling
* Change the order of the return values from ``FittingWithOutlierRemoval``,
such that ``fitted_model`` comes first, for consistency with other fitters.
For the second value, return only a boolean outlier ``mask``, instead of the
previous ``MaskedArray`` (which included a copy of the input data that was
both redundant and inadvertently corrupted at masked points). Return a
consistent type for the second value when ``niter=0``. [#7407]
* Set the minimum value for the ``bolometric_flux`` parameter of the
``BlackBody1D`` model to zero. [#7045]
> astropy.nddata
* Add two new uncertainty classes, ``astropy.nddata.VarianceUncertainty`` and
``astropy.nddata.InverseVariance``. [#6971]
> astropy.stats
* String values can now be used for the ``cenfunc`` and ``stdfunc``
keywords in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions now have a ``masked`` keyword,
which can be used to return either a masked array (default) or an
ndarray with the min/max values. [#7478]
* The ``iters`` keyword has been renamed (and deprecated) to
``maxiters`` in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
> astropy.table
* ``Table.read()`` on a FITS binary table file will convert any TDISPn header
keywords to a Python formatting string when possible, and store it in the
column ``format`` attribute. [#7226]
* No values provided to stack will now raise ``ValueError`` rather than
``TypeError``. [#7674]
> astropy.tests
* ``from astropy.tests.helper import *`` no longer includes
``quantity_allclose``. However,
``from astropy.tests.helper import quantity_allclose`` would still work.
[#7381]
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` now takes ``None`` as key.
Any deprecation message that is mapped to ``None`` will be ignored
regardless of the Python version. [#7790]
> astropy.time
* Added the ability to use ``local`` as time scale in ``Time`` and
``TimeDelta``. [#6487]
* Comparisons, addition, and subtraction of ``Time`` instances with non-time
instances will now return ``NotImplemented`` rather than raise the
``Time``-specific ``OperandTypeError``. This will generally lead to a
regular ``TypeError``. As a result, ``OperandTypeError`` now only occurs if
the operation is between ``Time`` instances of incompatible type or scale.
[#7584]
> astropy.units
* In ``UnitBase.compose()``, if a sequence (list|tuple) is passed in to
``units``, the default for ``include_prefix_units`` is set to
`True`, so that no units get ignored. [#6957]
* Negative parallaxes are now converted to NaN values when using the
``parallax`` equivalency. [#7988]
> astropy.utils
* ``InheritDocstrings`` now also works on class properties. [#7166]
* ``diff_values()``, ``report_diff_values()``, and ``where_not_allclose()``
utility functions are moved from ``astropy.io.fits.diff``. [#7444]
* ``invalidate_caches()`` has been removed from the
``astropy.utils.compat`` namespace, use it directly from ``importlib``. [#7872]
> astropy.visualization
* In ``ImageNormalize``, the default for ``clip`` is set to ``True``. [#7800]
* Changed ``AsymmetricPercentileInterval`` and ``MinMaxInterval`` to
ignore NaN values in arrays. [#7360]
* Automatically default to using ``grid_type='contours'`` in WCSAxes when using
a custom ``Transform`` object if the transform has no inverse. [#7847]
+ Performance Improvements
* Reduced import time by more cautious use of the standard library. [#7647]
> astropy.convolution
* Major performance overhaul to ``convolve()``. [#7293]
* ``convolve()``: Boundaries ``fill``, ``extend``, and ``wrap`` now use a single
implementation that pads the image with the correct boundary values before convolving.
The runtimes of these three were significantly skewed. They now have
equivalent runtimes that are also faster than before due to performant contiguous
memory access. However, this does increase the memory footprint as an entire
new image array is required plus that needed for the padded region.[#7293]
* ``convolve()``: Core computation ported from Cython to C. Several optimization
techniques have been implemented to achieve performance gains, e.g. compiler
hoisting, and vectorization, etc. Compiler optimization level ``-O2`` required for
hoisting and ``-O3`` for vectorization. [#7293]
* ``convolve()``: ``nan_treatment=‘interpolate’`` was slow to compute irrespective of
whether any NaN values exist within the array. The input array is now
checked for NaN values and interpolation is disabled if non are found. This is a
significant performance boost for arrays without NaN values. [#7293]
> astropy.coordinates
* Sped up creating SkyCoord objects by a factor of ~2 in some cases. [#7615]
* Sped up getting xyz vectors from ``CartesianRepresentation`` (which
is used a lot internally). [#7638]
* Sped up transformations and some representation methods by replacing
python code with (compiled) ``erfa`` ufuncs. [#7639]
* Sped up adding differential (velocity) data to representations by a factor of
~20, which improves the speed of frame and SkyCoord initialization. [#7924]
* Refactored ``SkyCoord`` initializer to improve performance and code clarity.
[#7958]
* Sped up initialization of ``Longitude`` by ~40%. [#7616]
> astropy.stats
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions are now significantly faster. [#7478]
* A Cython implementation for `astropy.stats.kuiper_two` and a vectorized
implementation for `astropy.stats.kuiper_false_positive_probability` have
been added, speeding up both functions. [#8104]
> astropy.units
* Sped up creating new composite units, and raising units to some power
[#7549, #7649]
* Sped up Unit.to when target unit is the same as the original unit.
[#7643]
* Lazy-load ``scipy.special`` to shorten ``astropy.units`` import time. [#7636]
> astropy.visualization
* Significantly sped up drawing of contours in WCSAxes. [#7568]
+ Bug Fixes
> astropy.convolution
* Fixed bug in ``convolve_fft`` where masked input was copied with
``numpy.asarray`` instead of ``numpy.asanyarray``.
``numpy.asarray`` removes the mask subclass causing
``numpy.ma.ismasked(input)`` to fail, causing ``convolve_fft``
to ignore all masked input. [#8137]
* Remove function side-effects of input data from ``convolve_fft``.
It was possible for input data to remain modified if particular exceptions
were raised. [#8152]
> astropy.coordinates
* ``EarthLocation.of_address`` now uses the OpenStreetMap geocoding API by
default to retrieve coordinates, with the Google API (which now requires an
API key) as an option. [#7918]
* Fixed a bug that caused frame objects with NaN distances to have NaN sky
positions, even if valid sky coordinates were specified. [#7988]
* Fixed ``represent_as()`` to not round-trip through cartesian if the same
representation class as the instance is passed in. [#7988]
> astropy.io.ascii
* Fixed a problem when ``guess=True`` that ``fast_reader`` options
could be dropped after the first fast reader class was tried. [#5578]
* Units in CDS-formatted tables are now parsed correctly by the units
module. [#7348]
> astropy.io.misc
* Fixed bug when writing a table with masked columns to HDF5. Previously
the mask was being silently dropped. If the ``serialize_meta`` option is
enabled the data mask will now be written as an additional column and the
masked columns will round-trip correctly. [#7481]
* Fixed a bug where writing to HDF5 failed for for tables with columns of
unicode strings. Now those columns are first encoded to UTF-8 and
written as byte strings. [#7024, #8017]
* Fixed a bug with serializing the bounding_box of models initialized
with ``Quantities`` . [#8052]
> astropy.io.fits
* Added support for ``copy.copy`` and ``copy.deepcopy`` for ``HDUList``. [#7218]
* Override ``HDUList.copy()`` to return a shallow HDUList instance. [#7218]
> astropy.modeling
* Fix behaviour of certain models with units, by making certain unit-related
attributes readonly. [#7210]
* Fixed an issue with validating a ``bounding_box`` whose items are
``Quantities``. [#8052]
* Fix ``Moffat1D`` and ``Moffat2D`` derivatives. [#8108]
> astropy.nddata
* Fixed rounding behavior in ``overlap_slices`` for even-sized small
arrays. [#7859]
* Added support for pickling ``NDData`` instances that have an uncertainty.
[#7383]
> astropy.stats
* Fix errors in ``kuiper_false_positive_probability``. [#7975]
> astropy.tests
* Fixing bug that prevented to run the doctests on only a single rst documentation
file rather than all of them. [#8055]
> astropy.time
* Fix a bug when setting a ``TimeDelta`` array item with plain float value(s).
This was always interpreted as a JD (day) value regardless of the
``TimeDelta`` format. [#7990]
> astropy.units
* To simplify fast creation of ``Quantity`` instances from arrays, one can now
write ``array << unit`` (equivalent to ``Quantity(array, unit, copy=False)``).
If ``array`` is already a ``Quantity``, this will convert the quantity to the
requested units; in-place conversion can be done with ``quantity <<= unit``.
[#7734]
> astropy.utils
* Fixed a bug due to which ``report_diff_values()`` was reporting incorrect
number of differences when comparing two ``numpy.ndarray``. [#7470]
* The download progress bar is now only displayed in terminals, to avoid
polluting piped output. [#7577]
* Ignore URL mirror caching when there is no internet. [#8163]
> astropy.visualization
* Right ascension coordinates are now shown in hours by default, and the
``set_format_unit`` method on ``CoordinateHelper`` now works correctly
with angle coordinates. [#7215]
+ Other Changes and Additions
* The documentation build now uses the Sphinx configuration from sphinx-astropy
rather than from astropy-helpers. [#7139]
* Versions of Numpy <1.13 are no longer supported. [#7058]
* Running tests now suppresses the output of the installation stage by default,
to allow easier viewing of the test results. To re-enable the output as
before, use ``python setup.py test --verbose-install``. [#7512]
* The ERFA functions are now wrapped in ufuncs instead of custom C code,
leading to some speed improvements, and setting the stage for allowing
overrides with ``__array_ufunc__``. [#7502]
* Updated the bundled CFITSIO library to 3.450. See
``cextern/cfitsio/docs/changes.txt`` for additional information. [#8014]
* The ``representation`` keywords in coordinate frames are now deprecated in
favor of the ``representation_type`` keywords (which are less
ambiguously named). [#8119]
- Update to 3.0.5
* Update to 3.* is a large step, which contains these main
improvements:
- Full support for velocities in astropy.coordinates
- Support for position updates based on source motion for
SkyCoord objects
- Context managers for versioned constants
- Support for quantities in scipy special functions
- showtable command line script
- Lossless writing and reading mixin columns to HDF5 and
FITS
- Support for FITS time standard
- FITS table performance enhancements
- False alarm probabilities in astropy.stats.LombScargle
- Reading large ASCII files in chunks
- Astropy now only supports Python 3
- pytest plugins moved to external packages
Full changelog is available at http://docs.astropy.org/en/stable/changelog.html
OBS-URL: https://build.opensuse.org/request/show/663419
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=4
2019-01-21 10:47:14 +01:00
|
|
|
# /SECTION
|
2020-06-03 09:43:14 +02:00
|
|
|
%endif
|
2017-08-24 18:28:41 +02:00
|
|
|
%python_subpackages
|
|
|
|
|
|
|
|
%description
|
|
|
|
Astropy is a package intended to contain core functionality and some
|
|
|
|
common tools needed for performing astronomy and astrophysics research with
|
|
|
|
Python. It also provides an index for other astronomy packages and tools for
|
|
|
|
managing them.
|
|
|
|
|
2020-07-10 08:26:48 +02:00
|
|
|
%if !%{with test}
|
2017-08-24 18:28:41 +02:00
|
|
|
%prep
|
2021-03-08 17:10:52 +01:00
|
|
|
%autosetup -p1 -n astropy-%{version}
|
2021-12-28 16:28:24 +01:00
|
|
|
# avoid rpmlint zero-length error for empty module
|
|
|
|
echo '# empty module' > astropy/samp/setup_package.py
|
2021-03-08 17:10:52 +01:00
|
|
|
|
2017-08-24 18:28:41 +02:00
|
|
|
# Make sure bundled libs are not used
|
2021-08-05 21:04:41 +02:00
|
|
|
%if %{with system_expat}
|
2020-10-23 13:32:38 +02:00
|
|
|
rm -rf cextern/expat
|
|
|
|
rm licenses/EXPAT_LICENSE.rst
|
2021-08-05 21:04:41 +02:00
|
|
|
%endif
|
|
|
|
%if %{with system_wcslib}
|
|
|
|
rm -rf cextern/wcslib
|
2020-10-23 13:32:38 +02:00
|
|
|
rm licenses/WCSLIB_LICENSE.rst
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# increase test deadline for slow obs executions (e.g. on s390x)
|
|
|
|
echo "
|
|
|
|
import hypothesis
|
2021-08-27 12:04:37 +02:00
|
|
|
hypothesis.settings.register_profile(
|
|
|
|
'obs',
|
|
|
|
deadline=5000,
|
|
|
|
suppress_health_check=[hypothesis.HealthCheck.too_slow]
|
|
|
|
)
|
2020-10-23 13:32:38 +02:00
|
|
|
" >> astropy/conftest.py
|
Accepting request 1171972 from home:bnavigator:branches:devel:languages:python:numeric
- 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
2024-05-05 12:53:38 +02:00
|
|
|
sed -i '/"--color=yes",/d' pyproject.toml
|
2023-12-09 21:32:37 +01:00
|
|
|
find astropy -name .gitignore -delete
|
|
|
|
find astropy -name .empty -delete
|
|
|
|
find astropy -name '*.c' -exec chmod -x {} ';'
|
2017-08-24 18:28:41 +02:00
|
|
|
|
|
|
|
%build
|
2020-10-23 13:32:38 +02:00
|
|
|
%{?unbundle_libs}
|
2022-12-22 00:34:54 +01:00
|
|
|
%pyproject_wheel
|
2017-08-24 18:28:41 +02:00
|
|
|
|
|
|
|
%install
|
2020-10-23 13:32:38 +02:00
|
|
|
%{?unbundle_libs}
|
2022-12-22 00:34:54 +01:00
|
|
|
%pyproject_install
|
2020-05-28 09:33:22 +02:00
|
|
|
for b in %{binaries}; do
|
|
|
|
%python_clone -a %{buildroot}%{_bindir}/$b
|
|
|
|
done
|
2020-10-23 13:32:38 +02:00
|
|
|
|
|
|
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
2020-06-03 09:43:14 +02:00
|
|
|
%endif
|
Accepting request 663419 from devel:languages:python:numeric
- Use pytest-astropy since it is in Factory now.
- Update to version 3.1
+ New Features
> astropy.convolution
* ``convolve`` now accepts any array-like input, not just ``numpy.ndarray`` or
lists. [#7303]
* ``convolve`` Now raises AstropyUserWarning if nan_treatment='interpolate' and
preserve_nan=False and NaN values are present post convolution. [#8088]
> astropy.coordinates
* The ``SkyCoord.from_name`` constructor now has the ability to create
coordinate objects by parsing object catalogue names that have embedded
J-coordinates. [#7830]
* The new function ``make_transform_graph_docs`` can be used to create a
docstring graph from a custom ``TransformGraph`` object. [#7135]
* ``KDTree`` for catalog matching is now built with sliding midpoint rule
rather than standard. In code, this means setting ``compact_nodes=False``
and ``balanced_tree=False`` in ``cKDTree``. The sliding midpoint rule is much
more suitable for catalog matching, and results in 1000x speedup in some
cases. [#7324]
* Additional information about a site loaded from the Astropy sites registry is
now available in ``EarthLocation.info.meta``. [#7857]
* Added a ``concatenate_representations`` function to combine coordinate
representation data and any associated differentials. [#7922]
* ``BaseCoordinateFrame`` will now check for a method named
``_astropy_repr_in_frame`` when constructing the string forms of attributes.
Allowing any class to control how ``BaseCoordinateFrame`` represents it when
it is an attribute of a frame. [#7745]
* Some rarely-changed attributes of frame classes are now cached, resulting in
speedups (up to 50% in some cases) when creating new scalar frame or
``SkyCoord`` objects. [#7949, #5952]
* Added a ``directional_offset_by`` method to ``SkyCoord`` that computes a new
coordinate given a coordinate, position angle, and angular separation [#5727]
> astropy.cosmology
* The default cosmology has been changed from ``WMAP9`` to ``Planck15``. [#8123]
* Distance calculations with ``LambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using elliptic integrals for non-flat cases. [#7155]
* Distance calculations with ``FlatLambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using the hypergeometric function solution
for this special case. [#7087]
* Age calculations with ``FlatLambdaCDM`` with no radiation (Tcmb0=0)
are now 1000x faster by using analytic solutions instead of integrating.
[#7117]
> astropy.io.ascii
* Latex reader now ignores ``\toprule``, ``\midrule``, and ``\bottomrule``
commands. [#7349]
* Added the RST (Restructured-text) table format and the fast version of the
RDB reader to the set of formats that are guessed by default. [#5578]
* The read trace (used primarily for debugging) now includes guess argument
sets that were skipped entirely e.g. for not supporting user-supplied kwargs.
All guesses thus removed from ``filtered_guess_kwargs`` are now listed as
"Disabled" at the beginning of the trace. [#5578]
* Emit a warning when reading an ECSV file without specifying the ``format``
and without PyYAML installed. Previously this silently fell through to
parsing as a basic format file and the file metadata was lost. [#7580]
* Optionally allow writing masked columns to ECSV with the mask explicitly
specified as a separate column instead of marking masked elements with ""
(empty string). This allows handling the case of a masked string column
with "" data rows. [#7481]
> astropy.io.misc
* Added support for saving all representation classes and many coordinate
frames to the asdf format. [#7079]
* Added support for saving models with units to the asdf format. [#7237]
* Added a new ``character_as_bytes`` keyword to the HDF5 Table reading
function to control whether byte string columns in the HDF5 file
are left as bytes or converted to unicode. The default is to read
as bytes (``character_as_bytes=True``). [#7024, #8017]
> astropy.io.fits
* ``HDUList.pop()`` now accepts string and tuple extension name
specifications. [#7236]
* Add an ``ignore_hdus`` keyword to ``FITSDiff`` to allow ignoring HDUs by
NAME when diffing two FITS files [#7538]
* Optionally allow writing masked columns to FITS with the mask explicitly
specified as a separate column instead of using the FITS standard of
certain embedded null values (``NaN`` for float, ``TNULL`` for integers).
This can be used to work around limitations in the FITS standard. [#7481]
* All time coordinates can now be written to and read from FITS binary tables,
including those with vectorized locations. [#7430]
* The ``fitsheader`` command line tool now supports a ``dfits+fitsort`` mode,
and the dotted notation for keywords (e.g. ``ESO.INS.ID``). [#7240]
* Fall back to reading arrays using mode='denywrite' if mode='readonly' fails
when using memory-mapping. This solves cases on some platforms when the
available address space was less than the file size (even when using memory
mapping). [#7926]
> astropy.modeling
* Add a ``Multiply`` model which preserves unit through evaluate, unlike
``Scale`` which is dimensionless. [#7210]
* Add a ``uses_quantity`` property to ``Model`` which allows introspection of if
the ``Model`` can accept ``Quantity`` objects. [#7417]
* Add a ``separability_matrix`` function which returns the correlation matrix
of inputs and outputs. [#7803]
* Fixed compatibility of ``JointFitter`` with the latest version of Numpy. [#7984]
* Add ``prior`` and ``posterior`` constraints to modeling parameters. These are
not used by any current fitters, but are provided to allow user code to
experiment with Bayesian fitters. [#7558]
> astropy.nddata
* ``NDUncertainty`` objects now have a ``quantity`` attribute for simple
conversion to quantities. [#7704]
* Add a ``bitmask`` module that provides functions for manipulating bitmasks
and data quality (DQ) arrays. [#7944]
> astropy.stats
* Add an ``astropy.stats.bls`` module with an implementation of the "box least
squares" periodogram that is commonly used for discovering transiting
exoplanets and eclipsing binaries. [#7391]
> astropy.table
* Added support for full use of ``Time`` mixin column for join, hstack, and
vstack table operations. [#6888]
* Added a new table index engine, ``SCEngine``, based on the Sorted Containers
package. [#7574]
* Add a new keyword argument ``serialize_method`` to ``Table.write`` to
control how ``Time`` and ``MaskedColumn`` columns are written. [#7481]
* Allow mixin columns to be used in table ``group`` and ``unique``
functions. This applies to both the key columns and the other data
columns. [#7712]
* Added support for stacking ``Column``, mixin column (e.g. ``Quantity``,
``Time``) or column-like objects. [#7674]
* Added support for inserting a row into a Table that has ``Time`` or
``TimeDelta`` column(s). [#7897]
> astropy.tests
* Added an option ``--readonly`` to the test command to change the
permissions on the temporary installation location to read-only. [#7598]
> astropy.time
* Allow array-valued ``Time`` object to be modified in place. [#6028]
* Added support for missing values (masking) to the ``Time`` class. [#6028]
* Added supper for a 'local' time scale (for free-running clocks, etc.),
and round-tripping to the corresponding FITS time scale. [#7122]
* Added `datetime.timedelta` format class for ``TimeDelta``. [#7441]
* Added ``strftime`` and ``strptime`` methods to ``Time`` class.
These methods are similar to those in the Python standard library
`time` package and provide flexible input and output formatting. [#7323]
* Added ``datetime64`` format to the ``Time`` class to support working with
``numpy.datetime64`` dtype arrays. [#7361]
* Add fractional second support for ``strftime`` and ``strptime`` methods
of ``Time`` class. [#7705]
* Added an ``insert`` method to allow inserting one or more values into a
``Time`` or ``TimeDelta`` object. [#7897]
* Remove timescale from string version of FITS format time string.
The timescale is not part of the FITS standard and should not be included.
This change may cause some compatibility issues for code that relies on
round-tripping a FITS format string with a timescale. Strings generated
from previous versions of this package are still understood but a
DeprecationWarning will be issued. [#7870]
> astropy.uncertainty
* This sub-package was added as a "preview" (i.e. API unstable), containing
the ``Distribution`` class and associated convenience functions. [#6945]
> astropy.units
* Add complex numbers support for ``Quantity._repr_latex_``. [#7676]
* Add ``thermodynamic_temperature`` equivalency to convert between
Jy/beam and "thermodynamic temperature" for cosmology. [#7054]
* Add millibar unit. [#7863]
* Add maggy and nanomaggy unit, as well as associated ``zero_point_flux``
equivalency. [#7891]
* ``AB`` and ``ST`` are now enabled by default, and have alternate names
``ABflux`` and ``STflux``. [#7891]
* Added ``littleh`` unit and associated ``with_H0`` equivalency. [#7970]
> astropy.visualization
* Added ``imshow_norm`` function, which combines imshow and creation of a
``ImageNormalize`` object. [#7785]
> astropy.visualization.wcsaxes
* Add support for setting ``set_separator(None)`` in WCSAxes to use default
separators. [#7570]
* Added two keyword argument options to ``CoordinateHelper.set_format_unit``:
``decimal`` can be used to specify whether to use decimal formatting for the
labels (by default this is False for degrees and hours and True otherwise),
and ``show_decimal_unit`` can be used to determine whether the units should be
shown for decimal labels. [#7318]
* Added documentation for ``transform=`` and ``coord_meta=``. [#7698]
* Allow ``coord_meta=`` to optionally include ``format_unit=``. [#7848]
* Add support for more rcParams related to the grid, ticks, and labels, and
should work with most built-in Matplotlib styles. [#7961]
* Improved rendering of outward-facing ticks. [#7961]
* Add support for ``tick_params`` (which is a standard Matplotlib
function/method) on both the ``WCSAxes`` class and the individual
``CoordinateHelper`` classes. Note that this is provided for compatibility
with Matplotlib syntax users may be familiar with, but it is not the
preferred way to change settings. Instead, methods such as ``set_ticks``
should be preferred. [#7969]
* Moved the argument ``exclude_overlapping`` from ``set_ticks`` to
``set_ticklabel``. [#7969]
* Added a ``pad=`` argument to ``set_ticklabel`` to provide a way to control
the padding between ticks and tick labels. [#7969]
* Added support for setting the tick direction in ``set_ticks`` using the
``direction=`` keyword argument. [#7969]
> astropy.wcs
* Map ITRS frames to terrestrial WCS coordinates. This will make it possible to
use WCSAxes to make figures that combine both celestial and terrestrial
features. An example is plotting the coordinates of an astronomical transient
over an all- sky satellite image to illustrate the position relative to the
Earth at the time of the event. The ITRS frame is identified with WCSs that
use the ``TLON-`` and ``TLAT-`` coordinate types. There are several examples
of WCSs where this syntax is used to describe terrestrial coordinate systems:
Section 7.4.1 of `WCS in FITS "Paper II" <http://adsabs.harvard.edu/abs/2002A%26A...395.1077C>`_
and the `WCSTools documentation <http://tdc-www.harvard.edu/software/wcstools/wcstools.multiwcs.html>`_.
[#6990]
* Added the abstract base class for the low-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Add ``WCS.contains()`` function to check if the WCS footprint contains a given sky coordinate. [#7273]
* Added the abstract base class for the high-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Added the high-level wrapper class for low-level WCS objects as described in
APE 14 (https://doi.org/10.5281/zenodo.1188875). [#7326]
* Added a new property ``WCS.has_distortion``. [#7326]
* Deprecated ``_naxis1`` and ``_naxis2`` in favor of ``pixel_shape``. [#7973]
* Added compatibility to wcslib version 6. [#8093]
+ API Changes
> astropy.convolution
* ``kernel`` can now be a tuple. [#7561]
* Not technically an API changes, however, the docstring indicated that ``boundary=None``
was the default when actually it is ``boundary='fill'``. The docstring has been corrected,
however, someone may interpret this as an API change not realizing that nothing has actually
changed. [#7293]
* ``interpolate_replace_nans()`` can no longer accept the keyword argument
``preserve_nan``. It is explicitly set to ``False``. [#8088]
> astropy.coordinates
* Fixed ``astropy.coordinates.concatenate`` to include velocity data in the
concatenation. [#7922]
* Changed the name of the single argument to ``Frame.realize_frame()`` from the
(incorrect) ``representation_type`` to ``data``. [#7923]
* Negative parallaxes passed to ``Distance()`` now raise an error by default
(``allow_negative=False``), or are converted to NaN values with a warning
(``allow_negative=True``). [#7988]
* Negating a ``SphericalRepresentation`` object now changes the angular
coordinates (by rotating 180º) instead of negating the distance. [#7988]
* Creation of new frames now generally creates copies of frame attributes,
rather than inconsistently either copying or making references. [#8204]
* The frame class method ``is_equivalent_frame`` now checks for equality of
components to determine if a frame is the same when it has frame attributes
that are representations, rather than checking if they are the same
object. [#8218]
> astropy.io.ascii
* If a fast reader is explicitly selected (e.g. ``fast_reader='force'``) and
options which are incompatible with the fast reader are provided
(e.g. ``quotechar='##'``) then now a ``ParameterError`` exception will be
raised. [#5578]
* The fast readers will now raise ``InconsistentTableError`` instead of
``CParserError`` if the number of data and header columns do not match.
[#5578]
* Changed a number of ``ValueError`` exceptions to ``InconsistentTableError``
in places where the exception is related to parsing a table which is
inconsistent with the specified table format. Note that
``InconsistentTableError`` inherits from ``ValueError`` so no user code
changes are required. [#7425]
> astropy.io.fits
* The ``fits.table_to_hdu()`` function will translate any column ``format``
attributes to a TDISPn format string, if possible, and store it as a TDISPn
keyword in the ``HDU`` header. [#7226]
> astropy.modeling
* Change the order of the return values from ``FittingWithOutlierRemoval``,
such that ``fitted_model`` comes first, for consistency with other fitters.
For the second value, return only a boolean outlier ``mask``, instead of the
previous ``MaskedArray`` (which included a copy of the input data that was
both redundant and inadvertently corrupted at masked points). Return a
consistent type for the second value when ``niter=0``. [#7407]
* Set the minimum value for the ``bolometric_flux`` parameter of the
``BlackBody1D`` model to zero. [#7045]
> astropy.nddata
* Add two new uncertainty classes, ``astropy.nddata.VarianceUncertainty`` and
``astropy.nddata.InverseVariance``. [#6971]
> astropy.stats
* String values can now be used for the ``cenfunc`` and ``stdfunc``
keywords in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions now have a ``masked`` keyword,
which can be used to return either a masked array (default) or an
ndarray with the min/max values. [#7478]
* The ``iters`` keyword has been renamed (and deprecated) to
``maxiters`` in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
> astropy.table
* ``Table.read()`` on a FITS binary table file will convert any TDISPn header
keywords to a Python formatting string when possible, and store it in the
column ``format`` attribute. [#7226]
* No values provided to stack will now raise ``ValueError`` rather than
``TypeError``. [#7674]
> astropy.tests
* ``from astropy.tests.helper import *`` no longer includes
``quantity_allclose``. However,
``from astropy.tests.helper import quantity_allclose`` would still work.
[#7381]
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` now takes ``None`` as key.
Any deprecation message that is mapped to ``None`` will be ignored
regardless of the Python version. [#7790]
> astropy.time
* Added the ability to use ``local`` as time scale in ``Time`` and
``TimeDelta``. [#6487]
* Comparisons, addition, and subtraction of ``Time`` instances with non-time
instances will now return ``NotImplemented`` rather than raise the
``Time``-specific ``OperandTypeError``. This will generally lead to a
regular ``TypeError``. As a result, ``OperandTypeError`` now only occurs if
the operation is between ``Time`` instances of incompatible type or scale.
[#7584]
> astropy.units
* In ``UnitBase.compose()``, if a sequence (list|tuple) is passed in to
``units``, the default for ``include_prefix_units`` is set to
`True`, so that no units get ignored. [#6957]
* Negative parallaxes are now converted to NaN values when using the
``parallax`` equivalency. [#7988]
> astropy.utils
* ``InheritDocstrings`` now also works on class properties. [#7166]
* ``diff_values()``, ``report_diff_values()``, and ``where_not_allclose()``
utility functions are moved from ``astropy.io.fits.diff``. [#7444]
* ``invalidate_caches()`` has been removed from the
``astropy.utils.compat`` namespace, use it directly from ``importlib``. [#7872]
> astropy.visualization
* In ``ImageNormalize``, the default for ``clip`` is set to ``True``. [#7800]
* Changed ``AsymmetricPercentileInterval`` and ``MinMaxInterval`` to
ignore NaN values in arrays. [#7360]
* Automatically default to using ``grid_type='contours'`` in WCSAxes when using
a custom ``Transform`` object if the transform has no inverse. [#7847]
+ Performance Improvements
* Reduced import time by more cautious use of the standard library. [#7647]
> astropy.convolution
* Major performance overhaul to ``convolve()``. [#7293]
* ``convolve()``: Boundaries ``fill``, ``extend``, and ``wrap`` now use a single
implementation that pads the image with the correct boundary values before convolving.
The runtimes of these three were significantly skewed. They now have
equivalent runtimes that are also faster than before due to performant contiguous
memory access. However, this does increase the memory footprint as an entire
new image array is required plus that needed for the padded region.[#7293]
* ``convolve()``: Core computation ported from Cython to C. Several optimization
techniques have been implemented to achieve performance gains, e.g. compiler
hoisting, and vectorization, etc. Compiler optimization level ``-O2`` required for
hoisting and ``-O3`` for vectorization. [#7293]
* ``convolve()``: ``nan_treatment=‘interpolate’`` was slow to compute irrespective of
whether any NaN values exist within the array. The input array is now
checked for NaN values and interpolation is disabled if non are found. This is a
significant performance boost for arrays without NaN values. [#7293]
> astropy.coordinates
* Sped up creating SkyCoord objects by a factor of ~2 in some cases. [#7615]
* Sped up getting xyz vectors from ``CartesianRepresentation`` (which
is used a lot internally). [#7638]
* Sped up transformations and some representation methods by replacing
python code with (compiled) ``erfa`` ufuncs. [#7639]
* Sped up adding differential (velocity) data to representations by a factor of
~20, which improves the speed of frame and SkyCoord initialization. [#7924]
* Refactored ``SkyCoord`` initializer to improve performance and code clarity.
[#7958]
* Sped up initialization of ``Longitude`` by ~40%. [#7616]
> astropy.stats
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions are now significantly faster. [#7478]
* A Cython implementation for `astropy.stats.kuiper_two` and a vectorized
implementation for `astropy.stats.kuiper_false_positive_probability` have
been added, speeding up both functions. [#8104]
> astropy.units
* Sped up creating new composite units, and raising units to some power
[#7549, #7649]
* Sped up Unit.to when target unit is the same as the original unit.
[#7643]
* Lazy-load ``scipy.special`` to shorten ``astropy.units`` import time. [#7636]
> astropy.visualization
* Significantly sped up drawing of contours in WCSAxes. [#7568]
+ Bug Fixes
> astropy.convolution
* Fixed bug in ``convolve_fft`` where masked input was copied with
``numpy.asarray`` instead of ``numpy.asanyarray``.
``numpy.asarray`` removes the mask subclass causing
``numpy.ma.ismasked(input)`` to fail, causing ``convolve_fft``
to ignore all masked input. [#8137]
* Remove function side-effects of input data from ``convolve_fft``.
It was possible for input data to remain modified if particular exceptions
were raised. [#8152]
> astropy.coordinates
* ``EarthLocation.of_address`` now uses the OpenStreetMap geocoding API by
default to retrieve coordinates, with the Google API (which now requires an
API key) as an option. [#7918]
* Fixed a bug that caused frame objects with NaN distances to have NaN sky
positions, even if valid sky coordinates were specified. [#7988]
* Fixed ``represent_as()`` to not round-trip through cartesian if the same
representation class as the instance is passed in. [#7988]
> astropy.io.ascii
* Fixed a problem when ``guess=True`` that ``fast_reader`` options
could be dropped after the first fast reader class was tried. [#5578]
* Units in CDS-formatted tables are now parsed correctly by the units
module. [#7348]
> astropy.io.misc
* Fixed bug when writing a table with masked columns to HDF5. Previously
the mask was being silently dropped. If the ``serialize_meta`` option is
enabled the data mask will now be written as an additional column and the
masked columns will round-trip correctly. [#7481]
* Fixed a bug where writing to HDF5 failed for for tables with columns of
unicode strings. Now those columns are first encoded to UTF-8 and
written as byte strings. [#7024, #8017]
* Fixed a bug with serializing the bounding_box of models initialized
with ``Quantities`` . [#8052]
> astropy.io.fits
* Added support for ``copy.copy`` and ``copy.deepcopy`` for ``HDUList``. [#7218]
* Override ``HDUList.copy()`` to return a shallow HDUList instance. [#7218]
> astropy.modeling
* Fix behaviour of certain models with units, by making certain unit-related
attributes readonly. [#7210]
* Fixed an issue with validating a ``bounding_box`` whose items are
``Quantities``. [#8052]
* Fix ``Moffat1D`` and ``Moffat2D`` derivatives. [#8108]
> astropy.nddata
* Fixed rounding behavior in ``overlap_slices`` for even-sized small
arrays. [#7859]
* Added support for pickling ``NDData`` instances that have an uncertainty.
[#7383]
> astropy.stats
* Fix errors in ``kuiper_false_positive_probability``. [#7975]
> astropy.tests
* Fixing bug that prevented to run the doctests on only a single rst documentation
file rather than all of them. [#8055]
> astropy.time
* Fix a bug when setting a ``TimeDelta`` array item with plain float value(s).
This was always interpreted as a JD (day) value regardless of the
``TimeDelta`` format. [#7990]
> astropy.units
* To simplify fast creation of ``Quantity`` instances from arrays, one can now
write ``array << unit`` (equivalent to ``Quantity(array, unit, copy=False)``).
If ``array`` is already a ``Quantity``, this will convert the quantity to the
requested units; in-place conversion can be done with ``quantity <<= unit``.
[#7734]
> astropy.utils
* Fixed a bug due to which ``report_diff_values()`` was reporting incorrect
number of differences when comparing two ``numpy.ndarray``. [#7470]
* The download progress bar is now only displayed in terminals, to avoid
polluting piped output. [#7577]
* Ignore URL mirror caching when there is no internet. [#8163]
> astropy.visualization
* Right ascension coordinates are now shown in hours by default, and the
``set_format_unit`` method on ``CoordinateHelper`` now works correctly
with angle coordinates. [#7215]
+ Other Changes and Additions
* The documentation build now uses the Sphinx configuration from sphinx-astropy
rather than from astropy-helpers. [#7139]
* Versions of Numpy <1.13 are no longer supported. [#7058]
* Running tests now suppresses the output of the installation stage by default,
to allow easier viewing of the test results. To re-enable the output as
before, use ``python setup.py test --verbose-install``. [#7512]
* The ERFA functions are now wrapped in ufuncs instead of custom C code,
leading to some speed improvements, and setting the stage for allowing
overrides with ``__array_ufunc__``. [#7502]
* Updated the bundled CFITSIO library to 3.450. See
``cextern/cfitsio/docs/changes.txt`` for additional information. [#8014]
* The ``representation`` keywords in coordinate frames are now deprecated in
favor of the ``representation_type`` keywords (which are less
ambiguously named). [#8119]
- Update to 3.0.5
* Update to 3.* is a large step, which contains these main
improvements:
- Full support for velocities in astropy.coordinates
- Support for position updates based on source motion for
SkyCoord objects
- Context managers for versioned constants
- Support for quantities in scipy special functions
- showtable command line script
- Lossless writing and reading mixin columns to HDF5 and
FITS
- Support for FITS time standard
- FITS table performance enhancements
- False alarm probabilities in astropy.stats.LombScargle
- Reading large ASCII files in chunks
- Astropy now only supports Python 3
- pytest plugins moved to external packages
Full changelog is available at http://docs.astropy.org/en/stable/changelog.html
OBS-URL: https://build.opensuse.org/request/show/663419
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=4
2019-01-21 10:47:14 +01:00
|
|
|
|
2020-06-03 09:43:14 +02:00
|
|
|
%if %{with test}
|
2020-07-10 08:26:48 +02:00
|
|
|
%check
|
2022-01-28 21:51:37 +01:00
|
|
|
# these are flaky on obs
|
|
|
|
donttest="test_color_print3"
|
|
|
|
donttest+=" or test_ignore_sigint"
|
|
|
|
donttest+=" or (test_wcs and test_spectra)"
|
|
|
|
donttest+=" or (test_standard_profile and test_main)"
|
2022-05-31 22:53:10 +02:00
|
|
|
# segfaults on obs, but are okay when run on live system -- gh#astropy/astropy/13286
|
|
|
|
donttest+=" or test_celprm or test_prjprm"
|
2021-08-05 21:04:41 +02:00
|
|
|
%ifarch %arm32
|
2023-12-09 21:32:37 +01:00
|
|
|
# precision issues
|
|
|
|
donttest+=" or (TestFits2Bitmap and test_orientation)"
|
2021-08-05 21:04:41 +02:00
|
|
|
%endif
|
2020-07-10 08:26:48 +02:00
|
|
|
# http://docs.astropy.org/en/latest/development/testguide.html#running-tests
|
|
|
|
# running pytest directly would require building the extensions inplace
|
2021-04-17 17:31:35 +02:00
|
|
|
%{python_exec -B -c "
|
2020-10-23 13:32:38 +02:00
|
|
|
import sys, astropy
|
|
|
|
pytestargs = ('-v '
|
2023-12-09 21:32:37 +01:00
|
|
|
'-rsfE '
|
2020-10-23 13:32:38 +02:00
|
|
|
'-n auto ' # pytest-xdist
|
|
|
|
'-p no:cacheprovider '
|
|
|
|
'--hypothesis-profile=obs '
|
2022-01-28 21:51:37 +01:00
|
|
|
'-k \"not ($donttest)\"')
|
2020-10-23 13:32:38 +02:00
|
|
|
returncode = astropy.test(args=pytestargs)
|
|
|
|
sys.exit(returncode)
|
2021-04-17 17:31:35 +02:00
|
|
|
"}
|
2020-06-03 09:43:14 +02:00
|
|
|
%endif
|
2017-08-24 18:28:41 +02:00
|
|
|
|
2020-06-03 09:43:14 +02:00
|
|
|
%if !%{with test}
|
2020-05-28 09:33:22 +02:00
|
|
|
%post
|
2020-07-10 08:26:48 +02:00
|
|
|
%{expand:%(for b in %{binaries}; do echo "%%python_install_alternative $b"; done)}
|
2020-05-28 09:33:22 +02:00
|
|
|
|
|
|
|
%postun
|
2020-07-10 08:26:48 +02:00
|
|
|
%{expand:%(for b in %{binaries}; do echo "%%python_uninstall_alternative $b"; done)}
|
2020-05-28 09:33:22 +02:00
|
|
|
|
2017-08-24 18:28:41 +02:00
|
|
|
%files %{python_files}
|
|
|
|
%doc CHANGES.rst README.rst
|
2020-10-23 13:32:38 +02:00
|
|
|
%license LICENSE.rst licenses/*
|
2020-07-10 08:26:48 +02:00
|
|
|
%{expand:%(for b in %{binaries}; do echo "%%python_alternative %%{_bindir}/$b"; done)}
|
2017-08-24 18:28:41 +02:00
|
|
|
%{python_sitearch}/astropy/
|
2022-12-22 00:34:54 +01:00
|
|
|
%{python_sitearch}/astropy-%{version}.dist-info
|
2020-06-03 09:43:14 +02:00
|
|
|
%endif
|
2017-08-24 18:28:41 +02:00
|
|
|
|
|
|
|
%changelog
|