1
0
python-astropy/python-astropy.spec

165 lines
6.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-astropy
#
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
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Accepting request 717717 from home:TheBlackCat:branches:devel:languages:python:numeric - Update to 3.2.1 + Bug fixes * astropy.io.fits > Avoid reporting a warning with ``BinTableHDU.from_columns`` with keywords that are not provided by the user. > Fix ``Header.fromfile`` to work on FITS files. > Fix reading of empty ``BinTableHDU`` when stored in a gzip-compressed file. * astropy.table > Fix a problem where mask was dropped when creating a ``MaskedColumn`` from a list of ``MaskedArray`` objects. * astropy.wcs > Added ``None`` to be displayed as a ``world_axis_physical_types`` in the ``WCS`` repr, as ``None`` values are now supported in ``APE14``. - Update to 3.2 + New Features * astropy.constants > Add CODATA 2018 constants but not make them default because the redefinition of SI units that will follow has not been implemented yet. * astropy.coordinates > New ``BarycentricMeanEcliptic``, ``HeliocentricTrueEcliptic`` and ``GeocentricTrueEcliptic`` frames. The ecliptic frames are no longer considered experimental. > The default time scale for epochs like 'J2000' or 'B1975' is now "tt", which is the correct one for 'J2000' and avoids leap-second warnings for epochs in the far future or past. * astropy.extern > Bundled ``six`` now emits ``AstropyDeprecationWarning``. It will be removed in 4.0. * astropy.io.ascii > IPAC tables now output data types of ``float`` instead of ``double``, or ``int`` instead of ``long``, based on the column ``dtype.itemsize``. > Update handling of MaskedColumn columns when using the 'data_mask' serialization method. This can make writing ECSV significantly faster if the data do not actually have any masked values. > Fixed a bug that caused newlines to be incorrect when writing out ASCII tables on Windows (they were ``\r\r\n`` instead of ``\r\n``). * astropy.io.misc > Implement serialization of ``TimeDelta`` in ASDF. > Implement serialization of ``EarthLocation`` in ASDF. > Implement serialization of ``SkyCoord`` in ASDF. > Support serialization of Astropy tables with mixin columns in ASDF. > No warnings when reading HDF5 files with only one table and no ``path=`` argument > The HDF5 writer will now create a default table instead of raising an exception when ``path=`` is not specified and when writing to empty/new HDF5 files. * astropy.io.fits > Optimize parsing of cards within the ``Header`` class. > Optimize the parsing of headers to get the structural keywords that are needed to find extensions. Thanks to this, getting a random HDU from a file with many extensions is much faster than before, in particular when the extension headers contain many keywords. > Change behavior of FITS undefined value in ``Header`` such that ``None`` is used in Python to represent FITS undefined when using dict interface. ``Undefined`` can also be assigned and is translated to ``None``. Previously setting a header card value to ``None`` resulted in an empty string field rather than a FITS undefined value. > Allow ``Header.fromstring`` and ``Card.fromstring`` to accept ``bytes``. * astropy.io.registry > Implement ``Table`` reader and writer for ``ASDF``. > Implement ``Table`` reader and writer methods to wrap ``pandas`` I/O methods for CSV, Fixed width format, HTML, and JSON. > Add ``help()`` and ``list_formats()`` methods to unified I/O ``read`` and ``write`` methods. For example ``Table.read.help()`` gives help on available ``Table`` read formats and ``Table.read.help('fits')`` gives detailed help on the arguments for reading FITS table file. * astropy.table > Initializing a table with ``Table(rows=...)``, if the first item is an ``OrderedDict``, now uses the column order of the first row. > Added new pprint_all() and pformat_all() methods to Table. These two new methods print the entire table by default. > Removed restriction of initializing a Table from a dict with copy=False. > Improved speed of table row access by a factor of about 2-3. Improved speed of Table len() by a factor of around 3-10 (depending on the number of columns). > Improved the Table - pandas ``DataFrame`` interface (``to_pandas()`` and ``from_pandas()``). Mixin columns like ``Time`` and ``Quantity`` can now be converted to pandas by flattening the columns as necessary to plain columns. ``Time`` and ``TimeDelta`` columns get converted to corresponding pandas date or time delta types. The ``DataFrame`` index is now handled in the conversion methods. > Added ``rename_columns`` method to rename multiple columns in one call. > Improved Table performance by reducing unnecessary calls to copy and deepcopy, especially as related to the table and column ``meta`` attributes. Changed the behavior when slicing a table (either in rows or with a list of column names) so now the sliced output gets a light (key-only) copy of ``meta`` instead of a deepcopy. Changed the ``Table.meta`` class-level descriptor so that assigning directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy and instead just directly assigns the ``new_meta`` object reference. Changed Table initialization so that input ``meta`` is copied only if ``copy=True``. > Improved Table slicing performance with internal implementation changes related to column attribute access and certain input validation. > Added ``reverse`` argument to the ``sort`` and ``argsort`` methods to allow sorting in reverse order. > Improved ``Table.sort()`` performance by removing ``self[keys]`` from code which is creating deep copies of ``meta`` attribute and adding a new keyword ``names`` in ``get_index()`` to get index by using a list or tuple containing names of columns. > Expose ``represent_mixins_as_columns`` as a public function in the ``astropy.table`` subpackage. This previously-private function in the ``table.serialize`` module is used to represent mixin columns in a Table as one or more plain Column objects. * astropy.timeseries > Added a new astropy.timeseries sub-package to represent and manipulate sampled and binned time series. > The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to ``astropy.timeseries.periodograms`` from ``astropy.stats``. > Added the ability to provide absolute ``Time`` objects to the ``BoxLeastSquares`` and ``LombScargle`` periodogram classes. > Added model inspection methods (``model_parameters()``, ``design_matrix()``, and ``offset()``) to ``astropy.timeseries.LombScargle`` class . * astropy.units > ``Quantity`` overrides of ``ndarray`` methods such as ``sum``, ``min``, ``max``, which are implemented via reductions, have been removed since they are dealt with in ``Quantity.__array_ufunc__``. This should not affect subclasses, but they may consider doing similarly. Note that this does not include methods that use more complicated python code such as ``mean``, ``std`` and ``var``. * astropy.visualization > Added ``CompositeStretch``, which inherits from ``CompositeTransform`` and also ``BaseStretch`` so that it can be used with ``ImageNormalize``. > Added a ``log_a`` argument to the ``simple_norm`` method. Similar to the exposing of the ``asinh_a`` argument for ``AsinhStretch``, the new ``log_a`` argument is now exposed for ``LogStretch``. * astropy.wcs > WCSLIB was updated to v 6.2. This adds support for time-related WCS keywords (WCS Paper VII). FITS headers containing ``Time`` axis are parsed and the axis is included in the WCS object. > The ``OBSGEO`` attribute as expanded to 6 members - ``XYZLBH``. > Added a new class ``SlicedLowLevelWCS`` in ``astropy.wcs.wcsapi`` that can be used to slice any WCS that conforms to the ``BaseLowLevelWCS`` API. > Updated implementation of ``WCS.__getitem__`` and ``WCS.slice`` to now return a ``SlicedLowLevelWCS`` rather than raising an error when reducing the dimensionality of the WCS. + API Changes * astropy.coordinates > ``QuantityAttribute`` no longer has a default value for ``default``. The previous value of None was misleading as it always was an error. > The default J2000 has been changed to use be January 1, 2000 12:00 TT instead of UTC. This is more in line with convention. * astropy.io.ascii > IPAC tables now output data types of ``float`` instead of ``double``, or ``int`` instead of ``long``, based on the column ``dtype.itemsize``. * astropy.io.misc > Unit equivalencies can now be serialized to ASDF. * astropy.modeling > Composition of model classes is deprecated and will be removed in 4.0. Composition of model instances remain unaffected. * astropy.stats > The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to the ``astropy.timeseries.periodograms`` module and will now emit a deprecation warning when imported from ``astropy.stats``. * astropy.table > Converting an empty table to an array using ``as_array`` method now returns an empty array instead of ``None``. > Changed the behavior when slicing a table (either in rows or with a list of column names) so now the sliced output gets a light (key-only) copy of ``meta`` instead of a deepcopy. Changed the ``Table.meta`` class-level descriptor so that assigning directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy and instead just directly assigns the ``new_meta`` object reference. Changed Table initialization so that input ``meta`` is copied only if ``copy=True``. > Added a keyword ``names`` in ``Table.as_array()``. If provided this specifies a list of column names to include for the returned structured array. * astropy.tests > Removed ``pytest_plugins`` as they are completely broken for ``pytest>=4``. > Removed the ``astropy.tests.plugins.config`` plugin and removed the ``--astropy-config-dir`` and ``--astropy-cache-dir`` options from testing. Please use caching functionality that is natively in ``pytest``. * astropy.time > The default time scale for epochs like 'J2000' or 'B1975' is now "tt", which is the correct one for 'J2000' and avoids leap-second warnings for epochs in the far future or past. * astropy.units > Unit equivalencies can now be introspected. * astropy.wcs > The ``world_to_pixel``, ``world_to_array_index*``, ``pixel_to_world*`` and ``array_index_to_world*`` methods now all consistently return scalars, arrays, or objects not wrapped in a one-element tuple/list when only one scalar, array, or object (as was previously already the case for ``WCS.pixel_to_world`` and ``WCS.array_index_to_world``). * astropy.utils > It is now possible to control the number of cores used by ``ProgressBar.map`` by passing a positive integer as the ``multiprocess`` keyword argument. Use ``True`` to use all cores. + Bug Fixes * astropy.coordinates > ``BarycentricTrueEcliptic``, ``HeliocentricTrueEcliptic`` and ``GeocentricTrueEcliptic`` now use the correct transformation (including nutation), whereas the new ``*MeanEcliptic`` classes use the nutation-free transformation. > Representations with ``float32`` coordinates can now be transformed, although the output will always be ``float64``. > Fixed bug that prevented using differentials with HCRS<->ICRS transformations. * astropy.io.ascii > Fixed a bug where an exception was raised when writing a table which includes mixin columns (e.g. a Quantity column) and the output format was specified using the ``formats`` keyword. * astropy.io.misc > Fixed bug in ASDF tag that inadvertently introduced dependency on ``pytest``. * astropy.modeling > Fixed slowness for certain compound models consisting of large numbers of multi-input models > Fixed bugs in fitting of compound models with units. * astropy.nddata > Fixed bug in reading multi-extension FITS files written by earlier versions of ``CCDData``. > Fixed two errors in the way ``CCDData`` handles FITS files with WCS in the header. Some of the WCS keywords that should have been removed from the header were not, potentially leading to FITS files with inconsistent WCS. * astropy.table > Fixed a bug when initializing from an empty list: ``Table([])`` no longer results in a crash. > Fixed a bug when initializing from an existing ``Table``. In this case the input ``meta`` argument was being ignored. Now the input ``meta``, if supplied, will be used as the ``meta`` for the new ``Table``. > Fix the conversion of bytes values to Python ``str`` with ``Table.tolist``. * astropy.time > Fixed a number of issues to ensure a consistent output type resulting from multiplication or division involving a ``TimeDelta`` instance. The output is now always a ``TimeDelta`` if the result is a time unit (like u.s or u.d), otherwise it will be a ``Quantity``. > Multiplication between two ``TimeDelta`` instances is now possible, resulting in a ``Quantity`` with units of time squared (division already correctly resulted in a dimensionless ``Quantity``). > Like for comparisons, addition, and subtraction of ``Time`` instances with with non-time instances, multiplication and division of ``TimeDelta`` instances with incompatible other instances no longer immediately raise an ``UnitsError`` or ``TypeError`` (depending on the other instance), but rather go through the regular Python mechanism of ``TimeDelta`` returning ``NotImplemented`` (which will lead to a regular ``TypeError`` unless the other instance can handle ``TimeDelta``). > Corrected small rounding errors that could cause the ``jd2`` values in ``Time`` to fall outside the range of -0.5 to 0.5. * astropy.units > Added a ``Quantity.to_string`` method to add flexibility to the string formatting of quantities. It produces unadorned or LaTeX strings, and accepts two different sets of delimiters in the latter case: ``inline`` and ``display``. > Ensure classes that mimic quantities by having a ``unit`` attribute and/or ``to`` and ``to_value`` methods can be properly used to initialize ``Quantity`` or set ``Quantity`` instance items. > Add support for ``<<`` to create logarithmic units. > Add support for the ``clip`` ufunc, which in numpy 1.17 is used to implement ``np.clip``. As part of that, remove the ``Quantity.clip`` method under numpy 1.17. > Fix parsing of numerical powers in FITS-compatible units. * astropy.wcs > Added a ``PyUnitListProxy_richcmp`` method in ``UnitListProxy`` class to enable ``WCS.wcs.cunit`` equality testing. It helps to check whether the two instances of ``WCS.wcs.cunit`` are equal or not by comparing the data members of ``UnitListProxy`` class > Fixed ``SlicedLowLevelWCS`` when ``array_shape`` is ``None``. > Do not attempt to delete repeated distortion keywords multiple times when loading distortions with ``_read_distortion_kw`` and ``_read_det2im_kw``. + Other Changes and Additions > Update bundled expat to 2.2.6. > Added instructions for uploading releases to Zenodo. > The bug fixes to the behaviour of ``TimeDelta`` for multiplcation and division, which ensure that the output is now always a ``TimeDelta`` if the result is a time unit (like u.s or u.d) and otherwise a ``Quantity``, imply that sometimes the output type will be different than it was before. > For types unrecognized by ``TimeDelta``, multiplication and division now will consistently return a ``TypeError`` if the other instance cannot handle ``TimeDelta`` (rather than ``UnitsError`` or ``TypeError`` depending on presumed abilities of the other instance). > Multiplication between two ``TimeDelta`` instances will no longer result in an ``OperandTypeError``, but rather result in a ``Quantity`` with units of time squared (division already correctly resulted in a dimensionless ``Quantity``). > Made running the tests insensitive to local user configuration when running the tests in parallel mode or directly with pytest. > Added a narrative style guide to the documentation for contributor reference. > Ensure we call numpy equality functions in a way that reduces the number of ``DeprecationWarning``. + Installation > We now require setuptools 30.3.0 or later to install the core astropy package. > We now define groups of dependencies that can be installed with pip, e.g. ``pip install astropy[all]`` (to install all optional dependencies). OBS-URL: https://build.opensuse.org/request/show/717717 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=9
2019-07-23 04:10:03 +02:00
%define skip_python2 1
Name: python-astropy
Accepting request 717717 from home:TheBlackCat:branches:devel:languages:python:numeric - Update to 3.2.1 + Bug fixes * astropy.io.fits > Avoid reporting a warning with ``BinTableHDU.from_columns`` with keywords that are not provided by the user. > Fix ``Header.fromfile`` to work on FITS files. > Fix reading of empty ``BinTableHDU`` when stored in a gzip-compressed file. * astropy.table > Fix a problem where mask was dropped when creating a ``MaskedColumn`` from a list of ``MaskedArray`` objects. * astropy.wcs > Added ``None`` to be displayed as a ``world_axis_physical_types`` in the ``WCS`` repr, as ``None`` values are now supported in ``APE14``. - Update to 3.2 + New Features * astropy.constants > Add CODATA 2018 constants but not make them default because the redefinition of SI units that will follow has not been implemented yet. * astropy.coordinates > New ``BarycentricMeanEcliptic``, ``HeliocentricTrueEcliptic`` and ``GeocentricTrueEcliptic`` frames. The ecliptic frames are no longer considered experimental. > The default time scale for epochs like 'J2000' or 'B1975' is now "tt", which is the correct one for 'J2000' and avoids leap-second warnings for epochs in the far future or past. * astropy.extern > Bundled ``six`` now emits ``AstropyDeprecationWarning``. It will be removed in 4.0. * astropy.io.ascii > IPAC tables now output data types of ``float`` instead of ``double``, or ``int`` instead of ``long``, based on the column ``dtype.itemsize``. > Update handling of MaskedColumn columns when using the 'data_mask' serialization method. This can make writing ECSV significantly faster if the data do not actually have any masked values. > Fixed a bug that caused newlines to be incorrect when writing out ASCII tables on Windows (they were ``\r\r\n`` instead of ``\r\n``). * astropy.io.misc > Implement serialization of ``TimeDelta`` in ASDF. > Implement serialization of ``EarthLocation`` in ASDF. > Implement serialization of ``SkyCoord`` in ASDF. > Support serialization of Astropy tables with mixin columns in ASDF. > No warnings when reading HDF5 files with only one table and no ``path=`` argument > The HDF5 writer will now create a default table instead of raising an exception when ``path=`` is not specified and when writing to empty/new HDF5 files. * astropy.io.fits > Optimize parsing of cards within the ``Header`` class. > Optimize the parsing of headers to get the structural keywords that are needed to find extensions. Thanks to this, getting a random HDU from a file with many extensions is much faster than before, in particular when the extension headers contain many keywords. > Change behavior of FITS undefined value in ``Header`` such that ``None`` is used in Python to represent FITS undefined when using dict interface. ``Undefined`` can also be assigned and is translated to ``None``. Previously setting a header card value to ``None`` resulted in an empty string field rather than a FITS undefined value. > Allow ``Header.fromstring`` and ``Card.fromstring`` to accept ``bytes``. * astropy.io.registry > Implement ``Table`` reader and writer for ``ASDF``. > Implement ``Table`` reader and writer methods to wrap ``pandas`` I/O methods for CSV, Fixed width format, HTML, and JSON. > Add ``help()`` and ``list_formats()`` methods to unified I/O ``read`` and ``write`` methods. For example ``Table.read.help()`` gives help on available ``Table`` read formats and ``Table.read.help('fits')`` gives detailed help on the arguments for reading FITS table file. * astropy.table > Initializing a table with ``Table(rows=...)``, if the first item is an ``OrderedDict``, now uses the column order of the first row. > Added new pprint_all() and pformat_all() methods to Table. These two new methods print the entire table by default. > Removed restriction of initializing a Table from a dict with copy=False. > Improved speed of table row access by a factor of about 2-3. Improved speed of Table len() by a factor of around 3-10 (depending on the number of columns). > Improved the Table - pandas ``DataFrame`` interface (``to_pandas()`` and ``from_pandas()``). Mixin columns like ``Time`` and ``Quantity`` can now be converted to pandas by flattening the columns as necessary to plain columns. ``Time`` and ``TimeDelta`` columns get converted to corresponding pandas date or time delta types. The ``DataFrame`` index is now handled in the conversion methods. > Added ``rename_columns`` method to rename multiple columns in one call. > Improved Table performance by reducing unnecessary calls to copy and deepcopy, especially as related to the table and column ``meta`` attributes. Changed the behavior when slicing a table (either in rows or with a list of column names) so now the sliced output gets a light (key-only) copy of ``meta`` instead of a deepcopy. Changed the ``Table.meta`` class-level descriptor so that assigning directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy and instead just directly assigns the ``new_meta`` object reference. Changed Table initialization so that input ``meta`` is copied only if ``copy=True``. > Improved Table slicing performance with internal implementation changes related to column attribute access and certain input validation. > Added ``reverse`` argument to the ``sort`` and ``argsort`` methods to allow sorting in reverse order. > Improved ``Table.sort()`` performance by removing ``self[keys]`` from code which is creating deep copies of ``meta`` attribute and adding a new keyword ``names`` in ``get_index()`` to get index by using a list or tuple containing names of columns. > Expose ``represent_mixins_as_columns`` as a public function in the ``astropy.table`` subpackage. This previously-private function in the ``table.serialize`` module is used to represent mixin columns in a Table as one or more plain Column objects. * astropy.timeseries > Added a new astropy.timeseries sub-package to represent and manipulate sampled and binned time series. > The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to ``astropy.timeseries.periodograms`` from ``astropy.stats``. > Added the ability to provide absolute ``Time`` objects to the ``BoxLeastSquares`` and ``LombScargle`` periodogram classes. > Added model inspection methods (``model_parameters()``, ``design_matrix()``, and ``offset()``) to ``astropy.timeseries.LombScargle`` class . * astropy.units > ``Quantity`` overrides of ``ndarray`` methods such as ``sum``, ``min``, ``max``, which are implemented via reductions, have been removed since they are dealt with in ``Quantity.__array_ufunc__``. This should not affect subclasses, but they may consider doing similarly. Note that this does not include methods that use more complicated python code such as ``mean``, ``std`` and ``var``. * astropy.visualization > Added ``CompositeStretch``, which inherits from ``CompositeTransform`` and also ``BaseStretch`` so that it can be used with ``ImageNormalize``. > Added a ``log_a`` argument to the ``simple_norm`` method. Similar to the exposing of the ``asinh_a`` argument for ``AsinhStretch``, the new ``log_a`` argument is now exposed for ``LogStretch``. * astropy.wcs > WCSLIB was updated to v 6.2. This adds support for time-related WCS keywords (WCS Paper VII). FITS headers containing ``Time`` axis are parsed and the axis is included in the WCS object. > The ``OBSGEO`` attribute as expanded to 6 members - ``XYZLBH``. > Added a new class ``SlicedLowLevelWCS`` in ``astropy.wcs.wcsapi`` that can be used to slice any WCS that conforms to the ``BaseLowLevelWCS`` API. > Updated implementation of ``WCS.__getitem__`` and ``WCS.slice`` to now return a ``SlicedLowLevelWCS`` rather than raising an error when reducing the dimensionality of the WCS. + API Changes * astropy.coordinates > ``QuantityAttribute`` no longer has a default value for ``default``. The previous value of None was misleading as it always was an error. > The default J2000 has been changed to use be January 1, 2000 12:00 TT instead of UTC. This is more in line with convention. * astropy.io.ascii > IPAC tables now output data types of ``float`` instead of ``double``, or ``int`` instead of ``long``, based on the column ``dtype.itemsize``. * astropy.io.misc > Unit equivalencies can now be serialized to ASDF. * astropy.modeling > Composition of model classes is deprecated and will be removed in 4.0. Composition of model instances remain unaffected. * astropy.stats > The ``BoxLeastSquares`` and ``LombScargle`` classes have been moved to the ``astropy.timeseries.periodograms`` module and will now emit a deprecation warning when imported from ``astropy.stats``. * astropy.table > Converting an empty table to an array using ``as_array`` method now returns an empty array instead of ``None``. > Changed the behavior when slicing a table (either in rows or with a list of column names) so now the sliced output gets a light (key-only) copy of ``meta`` instead of a deepcopy. Changed the ``Table.meta`` class-level descriptor so that assigning directly to ``meta``, e.g. ``tbl.meta = new_meta`` no longer does a deepcopy and instead just directly assigns the ``new_meta`` object reference. Changed Table initialization so that input ``meta`` is copied only if ``copy=True``. > Added a keyword ``names`` in ``Table.as_array()``. If provided this specifies a list of column names to include for the returned structured array. * astropy.tests > Removed ``pytest_plugins`` as they are completely broken for ``pytest>=4``. > Removed the ``astropy.tests.plugins.config`` plugin and removed the ``--astropy-config-dir`` and ``--astropy-cache-dir`` options from testing. Please use caching functionality that is natively in ``pytest``. * astropy.time > The default time scale for epochs like 'J2000' or 'B1975' is now "tt", which is the correct one for 'J2000' and avoids leap-second warnings for epochs in the far future or past. * astropy.units > Unit equivalencies can now be introspected. * astropy.wcs > The ``world_to_pixel``, ``world_to_array_index*``, ``pixel_to_world*`` and ``array_index_to_world*`` methods now all consistently return scalars, arrays, or objects not wrapped in a one-element tuple/list when only one scalar, array, or object (as was previously already the case for ``WCS.pixel_to_world`` and ``WCS.array_index_to_world``). * astropy.utils > It is now possible to control the number of cores used by ``ProgressBar.map`` by passing a positive integer as the ``multiprocess`` keyword argument. Use ``True`` to use all cores. + Bug Fixes * astropy.coordinates > ``BarycentricTrueEcliptic``, ``HeliocentricTrueEcliptic`` and ``GeocentricTrueEcliptic`` now use the correct transformation (including nutation), whereas the new ``*MeanEcliptic`` classes use the nutation-free transformation. > Representations with ``float32`` coordinates can now be transformed, although the output will always be ``float64``. > Fixed bug that prevented using differentials with HCRS<->ICRS transformations. * astropy.io.ascii > Fixed a bug where an exception was raised when writing a table which includes mixin columns (e.g. a Quantity column) and the output format was specified using the ``formats`` keyword. * astropy.io.misc > Fixed bug in ASDF tag that inadvertently introduced dependency on ``pytest``. * astropy.modeling > Fixed slowness for certain compound models consisting of large numbers of multi-input models > Fixed bugs in fitting of compound models with units. * astropy.nddata > Fixed bug in reading multi-extension FITS files written by earlier versions of ``CCDData``. > Fixed two errors in the way ``CCDData`` handles FITS files with WCS in the header. Some of the WCS keywords that should have been removed from the header were not, potentially leading to FITS files with inconsistent WCS. * astropy.table > Fixed a bug when initializing from an empty list: ``Table([])`` no longer results in a crash. > Fixed a bug when initializing from an existing ``Table``. In this case the input ``meta`` argument was being ignored. Now the input ``meta``, if supplied, will be used as the ``meta`` for the new ``Table``. > Fix the conversion of bytes values to Python ``str`` with ``Table.tolist``. * astropy.time > Fixed a number of issues to ensure a consistent output type resulting from multiplication or division involving a ``TimeDelta`` instance. The output is now always a ``TimeDelta`` if the result is a time unit (like u.s or u.d), otherwise it will be a ``Quantity``. > Multiplication between two ``TimeDelta`` instances is now possible, resulting in a ``Quantity`` with units of time squared (division already correctly resulted in a dimensionless ``Quantity``). > Like for comparisons, addition, and subtraction of ``Time`` instances with with non-time instances, multiplication and division of ``TimeDelta`` instances with incompatible other instances no longer immediately raise an ``UnitsError`` or ``TypeError`` (depending on the other instance), but rather go through the regular Python mechanism of ``TimeDelta`` returning ``NotImplemented`` (which will lead to a regular ``TypeError`` unless the other instance can handle ``TimeDelta``). > Corrected small rounding errors that could cause the ``jd2`` values in ``Time`` to fall outside the range of -0.5 to 0.5. * astropy.units > Added a ``Quantity.to_string`` method to add flexibility to the string formatting of quantities. It produces unadorned or LaTeX strings, and accepts two different sets of delimiters in the latter case: ``inline`` and ``display``. > Ensure classes that mimic quantities by having a ``unit`` attribute and/or ``to`` and ``to_value`` methods can be properly used to initialize ``Quantity`` or set ``Quantity`` instance items. > Add support for ``<<`` to create logarithmic units. > Add support for the ``clip`` ufunc, which in numpy 1.17 is used to implement ``np.clip``. As part of that, remove the ``Quantity.clip`` method under numpy 1.17. > Fix parsing of numerical powers in FITS-compatible units. * astropy.wcs > Added a ``PyUnitListProxy_richcmp`` method in ``UnitListProxy`` class to enable ``WCS.wcs.cunit`` equality testing. It helps to check whether the two instances of ``WCS.wcs.cunit`` are equal or not by comparing the data members of ``UnitListProxy`` class > Fixed ``SlicedLowLevelWCS`` when ``array_shape`` is ``None``. > Do not attempt to delete repeated distortion keywords multiple times when loading distortions with ``_read_distortion_kw`` and ``_read_det2im_kw``. + Other Changes and Additions > Update bundled expat to 2.2.6. > Added instructions for uploading releases to Zenodo. > The bug fixes to the behaviour of ``TimeDelta`` for multiplcation and division, which ensure that the output is now always a ``TimeDelta`` if the result is a time unit (like u.s or u.d) and otherwise a ``Quantity``, imply that sometimes the output type will be different than it was before. > For types unrecognized by ``TimeDelta``, multiplication and division now will consistently return a ``TypeError`` if the other instance cannot handle ``TimeDelta`` (rather than ``UnitsError`` or ``TypeError`` depending on presumed abilities of the other instance). > Multiplication between two ``TimeDelta`` instances will no longer result in an ``OperandTypeError``, but rather result in a ``Quantity`` with units of time squared (division already correctly resulted in a dimensionless ``Quantity``). > Made running the tests insensitive to local user configuration when running the tests in parallel mode or directly with pytest. > Added a narrative style guide to the documentation for contributor reference. > Ensure we call numpy equality functions in a way that reduces the number of ``DeprecationWarning``. + Installation > We now require setuptools 30.3.0 or later to install the core astropy package. > We now define groups of dependencies that can be installed with pip, e.g. ``pip install astropy[all]`` (to install all optional dependencies). OBS-URL: https://build.opensuse.org/request/show/717717 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=9
2019-07-23 04:10:03 +02:00
Version: 3.2.1
Release: 0
Summary: Community-developed python astronomy tools
License: BSD-3-Clause
Group: Development/Languages/Python
URL: http://astropy.org
Source: https://files.pythonhosted.org/packages/source/a/astropy/astropy-%{version}.tar.gz
# 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
BuildRequires: %{python_module Cython >= 0.21}
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
BuildRequires: %{python_module astropy-helpers}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module jupyter_ipython}
BuildRequires: %{python_module numpy-devel >= 1.7.0}
BuildRequires: %{python_module ply}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: hdf5-devel
BuildRequires: libxml2-tools
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(cfitsio)
BuildRequires: pkgconfig(erfa) >= 1.3.0
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(wcslib)
Requires: hdf5
Requires: liberfa1 >= 1.3.0
Requires: python-numpy >= 1.7.0
Requires(post): update-alternatives
Requires(preun): update-alternatives
Recommends: libxml2-tools
Recommends: python-Jinja2
Recommends: python-PyYAML
Recommends: python-beautifulsoup4
Recommends: python-bleach
Recommends: python-h5py
Recommends: python-jplephem
Recommends: python-matplotlib
Recommends: python-pandas
Recommends: python-scikit-image
Recommends: python-scipy
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 Optional requirements
BuildRequires: %{python_module Jinja2}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module beautifulsoup4}
BuildRequires: %{python_module bleach}
BuildRequires: %{python_module h5py}
BuildRequires: %{python_module jplephem}
BuildRequires: %{python_module matplotlib}
BuildRequires: %{python_module pandas}
BuildRequires: %{python_module scipy}
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
# SECTION test requirements
BuildRequires: %{python_module mpmath}
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
BuildRequires: %{python_module pytest >= 3.1.0}
BuildRequires: %{python_module pytest-arraydiff >= 0.1}
BuildRequires: %{python_module pytest-astropy}
BuildRequires: %{python_module pytest-doctestplus}
BuildRequires: %{python_module pytest-openfiles}
BuildRequires: %{python_module pytest-remotedata}
# /SECTION
Conflicts: perl-Data-ShowTable
%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.
%prep
%setup -q -n astropy-%{version}
# Make sure bundled libs are not used
rm -rf cextern/expat
rm -rf cextern/erfa
rm -rf cextern/cfitsio
rm -rf cextern/wcslib
echo "[build]" >> setup.cfg
echo "use_system_libraries=1" >> setup.cfg
%build
%python_build --use-system-libraries --offline
%install
%python_install --use-system-libraries --offline
%python_clone -a %{buildroot}%{_bindir}/fitscheck
%python_clone -a %{buildroot}%{_bindir}/fitsdiff
%python_clone -a %{buildroot}%{_bindir}/fitsheader
%python_clone -a %{buildroot}%{_bindir}/fitsinfo
%python_clone -a %{buildroot}%{_bindir}/fits2bitmap
%python_clone -a %{buildroot}%{_bindir}/samp_hub
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
%python_clone -a %{buildroot}%{_bindir}/showtable
%python_clone -a %{buildroot}%{_bindir}/volint
%python_clone -a %{buildroot}%{_bindir}/wcslint
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
# Deduplicating files can generate a RPMLINT warning for pyc mtime
%{python_expand %fdupes %{buildroot}%{$python_sitearch}
$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/io/misc/tests/
$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/io/misc/tests/
$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/io/votable/tests/
$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/io/votable/tests/
$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/stats/bls/tests/
$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/stats/bls/tests/
$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/wcs/tests/
$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/astropy/wcs/tests/
%fdupes %{buildroot}%{$python_sitearch}
}
%check
export PYTHONDONTWRITEBYTECODE=1
pushd static
%{python_expand export PYTHONPATH="%{buildroot}%{$python_sitearch}"
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
$python -B -c "import astropy;astropy.test()"
rm -rf %{buildroot}%{$python_sitearch}/astropy/wcs/tests/extension/build
}
popd
%post
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
%{python_install_alternative fitscheck fitsdiff fitsheader fitsinfo fits2bitmap samp_hub showtable volint wcslint}
%preun
%python_uninstall_alternative fitscheck
%files %{python_files}
%doc CHANGES.rst README.rst
%doc licenses/
%python_alternative %{_bindir}/fitsdiff
%python_alternative %{_bindir}/fitsheader
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
%python_alternative %{_bindir}/fitscheck
%python_alternative %{_bindir}/fitsinfo
%python_alternative %{_bindir}/fits2bitmap
%python_alternative %{_bindir}/samp_hub
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
%python_alternative %{_bindir}/showtable
%python_alternative %{_bindir}/volint
%python_alternative %{_bindir}/wcslint
%{python_sitearch}/astropy/
%{python_sitearch}/astropy-%{version}-py*.egg-info
%changelog