- Update to version 4.3.post1
Astropy 4.3 is a major release that adds significant new
functionality since the 4.2.x series of releases.
* Transformations to AltAz are now much more precise (and faster)
* Improvements in making Astropy thread-safe
* Performance improvements to sigma clipping
* Changes in the Time and IERS leap second handling
* Support for multidimensional and object columns in ECSV
* Support for reading and writing tables to QDP format
* Append table to existing FITS file
* General masked class for Quantity and other ndarray subclasses
* Configuration file improvements
* Support for different solvers and bracket option in z_at_value
* Full changelog:
https://docs.astropy.org/en/stable/changelog.html
- Drop patch and files merged upstream:
* astropy-pr11260+pr11549-wcs76.patch
* dss.14.29.56-62.41.05.fits.gz
* tab-time-last-axis.fits
- Use bundled cfitsio for s390x, Power and ARM
- Increase Hypothesis test deadline to 5s
OBS-URL: https://build.opensuse.org/request/show/910367
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=56
- Update to version 4.2.1
astropy.cosmology
* Fixed an issue where specializations of the comoving distance
calculation for certain cosmologies could not handle redshift
arrays. [#10980]
astropy.io.fits
* Fix bug where manual fixes to invalid header cards were not
preserved when saving a FITS file. [#11108]
astropy.io.votable
* NumericArray converter now properly broadcasts scalar mask to
array. [#11157]
astropy.table
* Fix bug when initializing a Table subclass that uses
TableAttribute's. If the data were an instance of the table
then attributes provided in the table initialization call
could be ignored. [#11217]
astropy.time
* Change epoch of TimeUnixTAI ("unix_tai") from
1970-01-01T00:00:00 UTC to 1970-01-01T00:00:00 TAI to match
the intended and documented behaviour. This essentially
changes the resulting times by 8.000082 seconds, the initial
offset between TAI and UTC. [#11249]
astropy.units
* Fixed a bug with the quantity_input decorator where allowing
dimensionless inputs for an argument inadvertently disabled
any checking of compatible units for that argument. [#11283]
astropy.utils
* Fix a bug so that np.shape, np.ndim and np.size again work on
classes that use ShapedLikeNDArray, like representations,
frames, sky coordinates, and times. [#11133] (forwarded request 883882 from bnavigator)
OBS-URL: https://build.opensuse.org/request/show/883883
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=21
- Update to version 4.2.1
astropy.cosmology
* Fixed an issue where specializations of the comoving distance
calculation for certain cosmologies could not handle redshift
arrays. [#10980]
astropy.io.fits
* Fix bug where manual fixes to invalid header cards were not
preserved when saving a FITS file. [#11108]
astropy.io.votable
* NumericArray converter now properly broadcasts scalar mask to
array. [#11157]
astropy.table
* Fix bug when initializing a Table subclass that uses
TableAttribute's. If the data were an instance of the table
then attributes provided in the table initialization call
could be ignored. [#11217]
astropy.time
* Change epoch of TimeUnixTAI ("unix_tai") from
1970-01-01T00:00:00 UTC to 1970-01-01T00:00:00 TAI to match
the intended and documented behaviour. This essentially
changes the resulting times by 8.000082 seconds, the initial
offset between TAI and UTC. [#11249]
astropy.units
* Fixed a bug with the quantity_input decorator where allowing
dimensionless inputs for an argument inadvertently disabled
any checking of compatible units for that argument. [#11283]
astropy.utils
* Fix a bug so that np.shape, np.ndim and np.size again work on
classes that use ShapedLikeNDArray, like representations,
frames, sky coordinates, and times. [#11133]
OBS-URL: https://build.opensuse.org/request/show/883882
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=51
- Update to Version 4.2
Astropy 4.2 is a major release that adds new funcionality since
the 4.1 release.
In particular, this release includes:
* Planck 2018 is accepted and now the default cosmology
* Time performance improvements
* Removed ERFA module
In addition to these major changes, Astropy v4.2 includes smaller
improvements and bug fixes and significant cleanup, which are
described in the Full Changelog. By the numbers:
* 183 issues have been closed since v4.1
* 105 pull requests have been merged since v4.1
* 63 distinct people have contributed code
- Bump requirements versions
- Drop astropy-pr10329-unbundle-erfa_4.1.patch merged upstream
OBS-URL: https://build.opensuse.org/request/show/851660
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=38
- Update to 4.1
Astropy 4.1 is a major release that contains bug fixes and new
features since the 4.0.x series of releases. In particular, this
release includes:
* A new SpectralCoord class for representing and transforming
spectral quantities
* Support for writing Dask arrays to FITS files
* Added True Equator Mean Equinox (TEME) frame for satellite two-
line ephemeris data
* Support for in-place setting of array-valued SkyCoord and frame
objects
* Change in the definition of equality comparison for coordinate
classes
* Support use of SkyCoord in table vstack, dstack, and insert_row
* Support for table cross-match join with SkyCoord or N-d columns
* Support for custom attributes in Table subclasses
* Added a new Time subformat unix_tai
* Added support for the -TAB convention in FITS WCS
* Support for replacing submodels in CompoundModel
* Support for units on otherwise unitless models via the
Model.coerce_units method.
* Support for ASDF serialization of models
In addition to these major changes, Astropy v4.0 includes a large
number of smaller improvements and bug fixes, which are described
in the Full Changelog. By the numbers:
* 381 issues have been closed since v4.0
* 511 pull requests have been merged since v4.0
* 66 distinct people have contributed code to this release, 23 of
which are first time contributors to Astropy
- Drop astropy-pr10545-remove-newline-3d_cd_hdr.patch
* merged upstream
* gh#astropy/astropy#10545
- Add astropy-pr10329-unbundle-erfa_4.1.patch
* Remove bundled _erfa but use system package pyerfa instead
* gh#astropy/astropy#10329
- enable optional pytest-xdist
- Update to 4.0.3
* astropy.table
Fixed a small bug where initializing an empty `Column`
with a structured dtype with a length and a shape
failed to give the requested dtype. [#10819]
* Fixed installation of the source distribution with
pip<19. [#10837, #10852]
OBS-URL: https://build.opensuse.org/request/show/843474
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=36
- Update to 4.0.2
New Features
* astropy.utils
astropy.utils.data.download_file now supports FTPS/FTP over
TLS. [#9964]
astropy.utils.data now uses a lock-free mechanism for caching.
This new mechanism uses a new cache layout and so ignores
caches created using earlier mechanisms (which were causing
lockups on clusters). The two cache formats can coexist but do
not share any files. [#10437, #10683]
astropy.utils.data now ignores the config item
astropy.utils.data.conf.download_cache_lock_attempts since no
locking is done. [#10437, #10683]
astropy.utils.data.download_file and related functions now
interpret the parameter or config file setting timeout=0 to
mean they should make no attempt to download files. [#10437,
#10683]
astropy.utils.import_file_to_cache now accepts a keyword-only
argument replace, defaulting to True, to determine whether it
should replace existing files in the cache, in a way as close
to atomic as possible. [#10437, #10683]
astropy.utils.data.download_file and related functions now
treat http://example.com and http://example.com/ as equivalent.
[#10631]
* astropy.wcs
The new auxiliary WCS parameters added in WCSLIB 7.1 are now
exposed as the aux attribute of Wcsprm. [#10333]
Updated bundled version of WCSLIB to v7.3. [#10433]
Bug fixes
* astropy.config
Added an extra fallback to os.expanduser('~') when trying to
find the user home directory. [#10570]
* astropy.constants
Corrected definition of parsec to 648 000 / pi AU following IAU
2015 B2 [#10569]
* astropy.convolution
Fixed a bug where a float-typed integers in the argument
x_range of astropy.convolution.utils.discretize_oversample_1D
(and the 2D version as well) fails because it uses
numpy.linspace, which requires an int. [#10696]
* astropy.coordinates
Ensure that for size-1 array SkyCoord and coordinate frames the
attributes also properly become scalars when indexed with 0.
[#10113]
Fixed a bug where SkyCoord.separation() and
SkyCoord.separation_3d were not accepting a frame object.
[#10332]
Ensure that the lon values in SkyOffsetFrame are wrapped
correctly at 180 degree regardless of how the underlying data
is represented. [#10163]
Fixed an error in the obliquity of the ecliptic when
transforming to/from the *TrueEcliptic coordinate frames. The
error would primarily result in an inaccuracy in the ecliptic
latitude on the order of arcseconds. [#10129]
Fixed an error in the computation of the location of solar
system bodies where the Earth location of the observer was
ignored during the correction for light travel time. [#10292]
Ensure that coordinates with proper motion that are transformed
to other coordinate frames still can be represented properly.
[#10276]
Improve the error message given when trying to get a cartesian
representation for coordinates that have both proper motion and
radial velocity, but no distance. [#10276]
Fixed an error where SkyCoord.apply_space_motion would return
incorrect results when no distance is set and proper motion is
high. [#10296]
Make the parsing of angles thread-safe so that Angle can be
used in Python multithreading. [#10556]
Fixed reporting of EarthLocation.info which previously raised
an exception. [#10592]
* astropy.io.ascii
Fixed a bug with the C fast_reader not correctly parsing
newlines when delimiter was also set to \n or \r; ensured
consistent handling of input strings without newline
characters. [#9929]
* astropy.io.fits
Fix integer formats of TFORMn=Iw columns in ASCII tables to
correctly read values exceeding int32 - setting int16, int32 or
int64 according to w. [#9901]
Fix unclosed memory-mapped FITS files in FITSDiff when
difference found. [#10159]
Fix crash when reading an invalid table file. [#10171]
Fix duplication issue when setting a keyword ending with space.
[#10482]
Fix ResourceWarning with fits.writeto and pathlib.Path object.
[#10599]
Fix repr for commentary cards and strip spaces for commentary
keywords. [#10640]
Fix compilation of cfitsio with Xcode 12. [#10772]
Fix handling of 1-dimensional arrays with a single element in
BinTableHDU [#10768]
* astropy.io.misc
Fix id URL in baseframe-1.0.0 ASDF schema. [#10223]
Write keys to ASDF only if the value is present, to account for
a change in behavior in asdf 2.8. [#10674]
* astropy.io.registry
Fix Table.(read|write).help when reader or writer has no
docstring. [#10460]
* astropy.io.votable
Fixed parsing failure of VOTable with no fields. When detecting
a non-empty table with no fields, the following warning/
exception is issued: E25 "No FIELDs are defined; DATA section
will be ignored." [#10192]
* astropy.modeling
Fixed a problem with mapping input_units and return_units of a
CompoundModel to the units of the constituent models. [#10158]
Removed hard-coded names of inputs and outputs. [#10174]
Fixed a problem where slicing a CompoundModel by name will
crash if there fix_inputs operators are present. [#10224]
Removed a limitation of fitting of data with units with
compound models without units when the expression involves
operators other than addition and subtraction. [#10415]
Fixed a problem with fitting Linear1D and Planar2D in model
sets. [#10623]
Fixed reported module name of math_functions model classes.
[#10694]
Fixed reported module name of tabular model classes. [#10709]
Do not create new math_functions models for ufuncs that are
only aliases (divide and mod). [#10697]
Fix calculation of the Moffat2D derivative with respect to
gamma. [#10784]
* astropy.stats
Fixed an API regression where SigmaClip.__call__ would convert
masked elements to nan and upcast the dtype to float64 in its
output MaskedArray when using the axis parameter along with the
defaults masked=True and copy=True. [#10610]
Fixed an issue where fully masked MaskedArray input to
sigma_clipped_stats gave incorrect results. [#10099]
Fixed an issue where sigma_clip and SigmaClip.__call__ would
return a masked array instead of a ndarray when masked=False
and the input was a full-masked MaskedArray. [#10099]
Fixed bug with funcs.poisson_conf_interval where an integer for
N with interval='kraft-burrows-nousek' would throw an error
with mpmath backend. [#10427]
Fixed bug in funcs.poisson_conf_interval with interval='kraft-
burrows-nousek' where certain combinations of source and
background count numbers led to ValueError due to the choice of
starting value for numerical optimization. [#10618]
* astropy.table
Fixed a bug when writing a table with mixin columns to FITS,
ECSV or HDF5. If one of the data attributes of the mixin (e.g.
skycoord.ra) had the same name as one of the table column names
(ra), the column (ra) would be dropped when reading the table
back. [#10222]
Fixed a bug when sorting an indexed table on the indexed column
after first sorting on another column. [#10103]
Fixed a bug in table argsort when called with reverse=True for
an indexed table. [#10103]
Fixed a performance regression introduced in #9048 when
initializing a table from Python lists. Also fixed incorrect
behavior (for data types other than float) when those lists
contain np.ma.masked elements to indicate masked data. [#10636]
Avoid modifying .meta when serializing columns to FITS.
[#10485]
Avoid crash when reading a FITS table that contains mixin info
and PyYAML is missing. [#10485]
* astropy.time
Ensure that for size-1 array Time, the location also properly
becomes a scalar when indexed with 0. [#10113]
* astropy.units
Refined test_parallax to resolve difference between 2012 and
2015 definitions. [#10569]
* astropy.utils
The default IERS server has been updated to use the FTPS server
hosted by CDDIS. [#9964]
Fixed memory allocation on 64-bit systems within xml.iterparse
[#10076]
Fix case where None could be used in a numerical computation.
[#10126]
* astropy.visualization
Fixed a bug where the ImageNormalize clip keyword was ignored
when used with calling the object on data. [#10098]
Fixed a bug where axes.xlabel/axes.ylabel where not correctly
set nor returned on an EllipticalFrame class WCSAxes plot.
[#10446]
* astropy.wcs
Handled WCS 360 -> 0 deg crossover in fit_wcs_from_points
[#10155]
Do not issue DATREF warning when MJDREF has default value.
[#10440]
Fixed a bug due to which naxis argument was ignored if header
was supplied during the initialization of a WCS object.
[#10532]
Other Changes and Additions
* Improved the speed of sorting a large Table on a single column
by a factor of around 5. [#10103]
* Ensure that astropy can be used inside Application bundles
built with pyinstaller. [#8795]
* Updated the bundled CFITSIO library to 3.49. See cextern/
cfitsio/docs/changes.txt for additional information. [#10256,
#10665]
* extract_array raises a ValueError if the data type of the input
array is inconsistent with the fill_value. [#10602]
- Drop merged PR patches
* astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433
* astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440
- Skip test_compound_fitting_with_units gh#astropy/astropy#10675
OBS-URL: https://build.opensuse.org/request/show/840965
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=34
:test flavor is currently failing but undetected!
- actually detect unit test failures with sys.exit(astropy.tests())
- do not fail on DeprecationWarnings
- support updated system lib wcslib 7.3 with
astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433
astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440
- clean up blank lines after pytest report and prevent possible
failure of tests depending on test order
astropy-pr10545-remove-newline-3d_cd_hdr.patch
gh#astropy/astropy#10545
OBS-URL: https://build.opensuse.org/request/show/821523
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=32
- Update to 4.0.1.post1
* astropy.config
[gh#astropy/astropy#9975]
Fixed a bug where importing a development version of a package that
uses ``astropy`` configuration system can result in a
``~/.astropy/config/package..cfg`` file.
* astropy.coordinates
[gh#astropy/astropy#9815]
Fixed a bug where a vestigal trace of a frame class could persist in the
transformation graph even after the removal of all transformations involving
that frame class.
[gh#astropy/astropy#9815]
Fixed a bug with ``TransformGraph.remove_transform()`` when the "from" and
"to" frame classes are not explicitly specified.
[gh#astropy/astropy#9900]
Read-only longitudes can now be passed in to ``EarthLocation`` even if
they include angles outside of the range of -180 to 180 degrees.
[gh#astropy/astropy#9980]
```SkyCoord.radial_velocity_correction``` no longer raises an Exception
when space motion information is present on the SkyCoord.
* astropy.io
[gh#astropy/astropy#9866]
Fixed a bug that prevented the unified I/O infrastructure from working with
datasets that are represented by directories rather than files.
* astropy.io.ascii
[gh#astropy/astropy#9918]
Fixed a bug in the ``fast_reader`` C parsers incorrectly returning entries
of isolated positive/negative signs as ``float`` instead of ``str``.
[gh#astropy/astropy#9923]
Fixed a segmentation fault in the ``fast_reader`` C parsers when parsing an
invalid file with ``guess=True`` and the file contains inconsistent column
numbers in combination with a quoted field; e.g., ``"1 2\n 3 4 '5'"``.
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``ecsv`` files.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.io.fits
[gh#astropy/astropy#9711, gh#astropy/astropy#9934]
Fix regression with ``GroupsHDU`` which needs to modify the header to handle
invalid headers, and fix accesing ``.data`` for empty HDU.
[gh#astropy/astropy#9711]
Fix ``fitsdiff`` when its arguments are directories that contain other
directories.
[gh#astropy/astropy#9958]
Fix writing noncontiguous data to a compressed HDU.
[gh#astropy/astropy#9978]
Added verification of ``disp`` (``TDISP``) keyword to ``fits.Column`` and
extended tests for ``TFORM`` and ``TDISP`` validation.
[gh#astropy/astropy#10012]
Fix checksum verification to process all HDUs instead of only the first one
because of the lazy loading feature.
[gh#astropy/astropy#10030]
Allow passing ``output_verify`` to ``.close`` when using the context manager.
[gh#astropy/astropy#10041]
Prevent instantiation of ``PrimaryHDU`` and ``ImageHDU`` with a scalar.
[gh#astropy/astropy#10069]
Fix column access by attribute with FITS_rec: columns with scaling or columns
from ASCII tables where not properly converted when accessed by attribute
name.
* astropy.io.misc
[gh#astropy/astropy#9933]
Magnitude, decibel, and dex can now be stored in ``hdf5`` files.
[gh#astropy/astropy#9956, gh#astropy/astropy#9961]
Fixed serialization of polynomial models to include non default values of
domain and window values.
[gh#astropy/astropy#9950]
Fixed a bug which affected overwriting tables within ``hdf5`` files.
Overwriting an existing path with associated column meta data now also
overwrites the meta data associated with the table.
[gh#astropy/astropy#9983]
Fixed serialization of Time objects with location under time-1.0.0
ASDF schema.
* astropy.modeling
[gh#astropy/astropy#9987]
Fixed a bug in setting default values of parameters of orthonormal
polynomials when constructing a model set.
* astropy.table
[gh#astropy/astropy#9839]
Fixed bug in ``Table.reverse`` for tables that contain non-mutable mixin columns
(like ``SkyCoord``) for which in-place item update is not allowed.
[gh#astropy/astropy#9933]
Tables containing Magnitude, decibel, and dex columns can now be saved to
``ecsv`` files.
[gh#astropy/astropy#10027]
Fixed bug where adding or inserting a row fails on a table with an index
defined on a column that is not the first one.
[gh#astropy/astropy#10068]
Ensured that ``table.show_in_browser`` also worked for mixin columns like
``Time`` and ``SkyCoord``.
* astropy.time
[gh#astropy/astropy#9679]
Fix inaccuracy when converting between TimeDelta and datetime.timedelta.
[gh#astropy/astropy#9812]
Fixed exception when changing ``format`` in the case when ``out_subfmt`` is
defined and is incompatible with the new format.
[gh#astropy/astropy#9812]
Fixed exceptions in ``Time.to_value()``: when supplying any ``subfmt`` argument
for string-based formats like 'iso', and for ``subfmt='long'`` for the formats
'byear', 'jyear', and 'decimalyear'.
[gh#astropy/astropy#9969]
Fixed bug where the location attribute was lost when creating a new ``Time``
object from an existing ``Time`` or list of ``Time`` objects.
[gh#astropy/astropy#10034]
Fixed a bug where an exception occurred when creating a ``Time`` object
if the ``val1`` argument was a regular double and the ``val2`` argument
was a ``longdouble``.
* astropy.timeseries
[gh#astropy/astropy#10013]
Fixed issue with reference time for the ``transit_time`` parameter returned by
the ``BoxLeastSquares`` periodogram. Now, the ``transit_time`` will be within
the range of the input data and arbitrary time offsets/zero points no longer
affect results.
* astropy.units
[gh#astropy/astropy#9948]
Fix for ``quantity_input`` annotation raising an exception on iterable
types that don't define a general ``__contains__`` for checking if ``None``
is contained (e.g. Enum as of python3.8), by instead checking for instance of
Sequence.
[gh#astropy/astropy#10066]
Fix for ``u.Quantity`` not taking into account ``ndmin`` if constructed from
another ``u.Quantity`` instance with different but convertible unit
* astropy.utils
[gh#astropy/astropy#9981]
Fixed ``deprecated_renamed_argument`` not passing in user value to
deprecated keyword when the keyword has no new name.
[gh#astropy/astropy#9985]
Fixed ``deprecated_renamed_argument`` not issuing a deprecation warning when
deprecated keyword without new name is passed in as positional argument.
[gh#astropy/astropy#10007]
Fixed detection of read-only filesystems in the caching code.
* astropy.visualization
[gh#astropy/astropy#9848]
Fixed bug from matplotlib >=3.1 where an empty Quantity array is
sent for unit conversion as an empty list.
[gh#astropy/astropy#9913]
Fix bug in ``ZScaleInterval`` to return the array minimum and
maximum when there are less then ``min_npixels`` in the input array.
[gh#astropy/astropy#8004, gh#astropy/astropy#9991]
Fix a bug in simplifying axis labels that affected non-rectangular frames.
* Increase minimum asdf version to 2.5.2.
[gh#astropy/astropy#9996, gh#astropy/astropy#9819]
* Updated wcslib to v7.2. [gh#astropy/astropy#10021]
- updated test requirements and recommends
- run pytest directly
OBS-URL: https://build.opensuse.org/request/show/795557
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=23
- Require erfa >= 1.7 because of https://github.com/astropy/astropy/issues/9654
- Update to 4.0
+ New Features
> astropy.config
* The config and cache directories and the name of the config file are now
customizable. This allows affiliated packages to put their configuration
files in locations other than ``CONFIG_DIR/.astropy/``.
> astropy.constants
* The version of constants can be specified via ScienceState in a way
that ``constants`` and ``units`` will be consistent.
* Default constants now use CODATA 2018 and IAU 2015 definitions.
* Constants can be pickled and unpickled.
> astropy.convolution
* Fixed a bug where having a kernel defined using unitless astropy
quantity objects would result in a crash
> astropy.coordinates
* Changed ``coordinates.solar_system_ephemeris`` to also accept local files
as input. The ephemeris can now be selected by either keyword (e.g. 'jpl',
'de430'), URL or file path.
* Added a ``cylindrical`` property to ``SkyCoord`` for shorthand access to a
``CylindricalRepresentation`` of the coordinate, as is already available
for other common representations.
* The default parameters for the ``Galactocentric`` frame are now controlled by
a ``ScienceState`` subclass, ``galactocentric_frame_defaults``. New
parameter sets will be added to this object periodically to keep up with
ever-improved measurements of the solar position and motion.
* Coordinate frame classes can now have multiple aliases by assigning a list
of aliases to the class variable ``name``. Any of the aliases can be used
for attribute-style access or as the target of ``tranform_to()`` calls.
* Passing a NaN to ``Distance`` no longer raises a warning.
> astropy.cosmology
* The pre-publication Planck 2018 cosmological parameters are included as the
``Planck2018_arXiv_v2`` object. Please note that the values are preliminary,
and when the paper is accepted a final version will be included as
``Planck18``.
> astropy.io.ascii
* Removed incorrect warnings on ``Overflow`` when reading in
``FloatType`` 0.0 with ``use_fast_converter``; synchronised
``IntType`` ``Overflow`` warning messages.
> astropy.io.misc
* Eliminate deprecated compatibility mode when writing ``Table`` metadata to
HDF5 format.
* Add support for orthogonal polynomial models to ASDF.
> astropy.io.fits
* Changed the ``fitscheck`` and ``fitsdiff`` script to use the ``argparse``
module instead of ``optparse``.
* Allow writing of ``Table`` objects with ``Time`` columns that are also table
indices to FITS files.
> astropy.io.votable
* Support VOTable version 1.4. The main addition is the new element, TIMESYS,
which allows defining of metadata for temporal coordinates much like COOSYS
defines metadata for celestial coordinates.
> astropy.logger
* Added a configuration option to specify the text encoding of the log file,
with the default behavior being the platform-preferred encoding.
> astropy.modeling
* Major rework of modeling internals. `See modeling documentation for details.
<https://docs.astropy.org/en/v4.0.x/modeling/changes_for_4.html>`_ .
* Add ``Tabular1D.inverse``.
* ``Model.rename`` was changed to add the ability to rename ``Model.inputs``
and ``Model.outputs``.
* New function ``fix_inputs`` to generate new models from others by fixing
specific inputs variable values to constants.
* ``inputs`` and ``outputs`` are now model instance attributes, and ``n_inputs``
and ``n_outputs`` are class attributes. Backwards compatible default
values of ``inputs`` and ``outputs`` are generated. ``Model.inputs`` and
``Model.outputs`` are now settable which allows renaming them on per user
case.
* Add a new model representing a sequence of rotations in 3D around an
arbitrary number of axes.
* Add many of the numpy ufunc functions as models.
* Add ``BlackBody`` model.
* Add ``Drude1D`` model.
* Added analytical King model (KingProjectedAnalytic1D).
* Added Exponential1D and Logarithmic1D models.
> astropy.nddata
* Add a way for technically invalid but unambiguous units in a fits header
to be parsed by ``CCDData``.
* ``NDData`` now only accepts WCS objects which implement either the high, or
low level APE 14 WCS API. All WCS objects are converted to a high level WCS
object, so ``NDData.wcs`` now always returns a high level APE 14 object. Not
all array slices are valid for wcs objects, so some slicing operations which
used to work may now fail.
> astropy.stats
* The ``biweight_location``, ``biweight_scale``, and
``biweight_midvariance`` functions now allow for the ``axis``
keyword to be a tuple of integers.
* Added an ``ignore_nan`` option to the ``biweight_location``,
``biweight_scale``, and ``biweight_midvariance`` functions.
* A numpy ``MaskedArray`` can now be input to the ``biweight_location``,
``biweight_scale``, and ``biweight_midvariance`` functions.
* Removed the warning related to p0 in the Bayesian blocks algorithm. The
caveat related to p0 is described in the docstring for ``Events``.
> astropy.table
* Improved the implementation of ``Table.replace_column()`` to provide
a speed-up of 5 to 10 times for wide tables. The method can now accept
any input which convertible to a column of the correct length, not just
``Column`` subclasses.
* Improved the implementation of ``Table.add_column()`` to provide a speed-up
of 2 to 10 (or more) when adding a column to tables, with increasing benefit
as the number of columns increases. The method can now accept any input
which is convertible to a column of the correct length, not just ``Column``
subclasses.
* Changed the implementation of ``Table.add_columns()`` to use the new
``Table.add_column()`` method. In most cases the performance is similar
or slightly faster to the previous implemenation.
* ``MaskedColumn.data`` will now return a plain ``MaskedArray`` rather than
the previous (unintended) ``masked_BaseColumn``.
* Added depth-wise stacking ``dstack()`` in higher level table operation.
It help will in stacking table column depth-wise.
* Added a new table equality method ``values_equal()`` which allows comparison
table values to another table, list, or value, and returns an
element-by-element equality table.
* Added new ``join_type='cartesian'`` option to the ``join`` operation.
* Allow adding a table column as a list of mixin-type objects, for instance
``t['q'] = [1 * u.m, 2 * u.m]``.
* Allow table ``join()`` using any sortable key column (e.g. Time), not
just ndarray subclasses. A column is considered sortable if there is a
``<column>.info.get_sortable_arrays()`` method that is implemented.
* Added ``Table.iterrows()`` for making row-wise iteration faster.
* Allow table to be initialized with a list of dict where the dict keys
are not the same in every row. The table column names are the set of all keys
found in the input data, and any missing key/value pairs are turned into
missing data in the table.
* Prevent unnecessary ERFA warnings when indexing by ``Time`` columns.
* Added support for sorting tables which contain non-mutable mixin columns
(like ``SkyCoord``) for which in-place item update is not allowed.
* Ensured that inserting ``np.ma.masked`` (or any other value with a mask) into
a ``MaskedColumn`` causes a masked entry to be inserted.
* Fixed a bug that caused an exception when initializing a ``MaskedColumn`` from
another ``MaskedColumn`` that has a structured dtype.
> astropy.tests
* The plugin that handles the custom header in the test output has been
moved to the ``pytest-astropy-header plugin`` package. `See the README at
<https://github.com/astropy/pytest-astropy-header>`__ for information about
using this new plugin.
> astropy.time
* Added a new time format ``ymdhms`` for representing times via year, month,
day, hour, minute, and second attributes.
* ``TimeDelta`` gained a ``to_value`` method, so that it becomes easier to
use it wherever a ``Quantity`` with units of time could be used.
* Made scalar ``Time`` and ``TimeDelta`` objects hashable based on JD, time
scale, and location attributes.
* Improved error message when bad input is used to initialize a ``Time`` or
``TimeDelta`` object and the format is specified.
* Allow numeric time formats to be initialized with numpy ``longdouble``,
``Decimal`` instances, and strings. One can select just one of these
using ``in_subfmt``. The output can be similarly set using ``out_subfmt``.
* Introduce a new ``.to_value()`` method for ``Time`` (and adjusted the
existing method for ``TimeDelta``) so that one can get values in a given
``format`` and possible ``subfmt`` (e.g., ``to_value('mjd', 'str')``.
* Prevent unecessary ERFA warnings when sorting ``Time`` objects.
> astropy.timeseries
* Addig ``epoch_phase``, ``wrap_phase`` and ``normalize_phase`` keywords to
``TimeSeries.fold()`` to control the phase of the epoch and to return
normalized phase rather than time for the folded TimeSeries.
> astropy.uncertainty
* ``Distribution`` was rewritten such that it deals better with subclasses.
As a result, Quantity distributions now behave correctly with ``to`` methods
yielding new distributions of the kind expected for the starting
distribution, and ``to_value`` yielding ``NdarrayDistribution`` instances.
* The ``pdf_*`` properties that were used to calculate statistical properties
of ``Distrubution`` instances were changed into methods. This allows one
to pass parameters such as ``ddof`` to ``pdf_std`` and ``pdf_var`` (which
generally should equal 1 instead of the default 0), and reflects that these
are fairly involved calcuations, not just "properties".
> astropy.units
* Support for unicode parsing. Currently supported superscripts are Ohm,
Ångström, and the micro-sign.
* Accept non-unit type annotations in @quantity_input.
* For numpy 1.17 and later, the new ``__array_function__`` protocol is used to
ensure that all top-level numpy functions interact properly with
``Quantity``, preserving units also in operations like ``np.concatenate``.
* Add equivalencies for surface brightness units to spectral_density.
> astropy.utils
* ``astropy.utils.data.download_file`` and
``astropy.utils.data.get_readable_fileobj`` now provides an ``http_headers``
keyword to pass in specific request headers for the download. It also now
defaults to providing ``User-Agent: Astropy`` and ``Accept: */*``
headers. The default ``User-Agent`` value can be set with a new
``astropy.data.conf.default_http_user_agent`` configuration item.
* Added a new ``astropy.utils.misc.unbroadcast`` function which can be used
to return the smallest array that can be broadcasted back to the initial
array.
* The specific IERS Earth rotation parameter table used for time and
coordinate transformations can now be set, either in a context or per
session, using ``astropy.utils.iers.earth_rotation_table``.
* Added ``export_cache`` and ``import_cache`` to permit transporting
downloaded data to machines with no Internet connection. Several new
functions are available to investigate the cache contents; e.g.,
``check_download_cache`` can be used to confirm that the persistent
cache has not become damaged.
* A new ``astropy.utils.iers.LeapSeconds`` class has been added to track
leap seconds.
> astropy.visualization
* Added a new ``time_support`` context manager/function for making it easy to
plot and format ``Time`` objects in Matplotlib.
* Added support for plotting any WCS compliant with the generalized (APE 14)
WCS API with WCSAxes.
* Improved display of information when inspecting ``WCSAxes.coords``.
* Improved error checking for the ``slices=`` argument to ``WCSAxes``.
* Added support for more solar frames in WCSAxes.
* Add support for one dimensional plots to ``WCSAxes``.
* Add a ``get_format_unit`` to ``wcsaxes.CoordinateHelper``.
* ``WCSAxes`` now, by default, sets a default label for plot axes which is the
WCS physical type (and unit) for that axis. This can be disabled using the
``coords[i].set_auto_axislabel(False)`` or by explicitly setting an axis
label.
* Fixed the display of tick labels when plotting all sky images that have a
coord_wrap less than 360.
> astropy.wcs
* Added a ``astropy.wcs.wcsapi.pixel_to_pixel`` function that can be used to
transform pixel coordinates in one dataset with a WCS to pixel coordinates
in another dataset with a different WCS. This function is designed to be
efficient when the input arrays are broadcasted views of smaller
arrays.
* Added a ``local_partial_pixel_derivatives`` function that can be used to
determine a matrix of partial derivatives of each world coordinate with
respect to each pixel coordinate.
* Updated wcslib to v6.4.
* Improved the ``SlicedLowLevelWCS`` class in ``astropy.wcs.wcsapi`` to avoid
storing chains of nested ``SlicedLowLevelWCS`` objects when applying multiple
slicing operations in turn.
* Added a ``wcs_info_str`` function to ``astropy.wcs.wcsapi`` to show a summary
of an APE-14-compliant WCS as a string.
* Added two new optional attributes to the APE 14 low-level WCS:
``pixel_axis_names`` and ``world_axis_names``.
* Updated the WCS class to now correctly take and return ``Time`` objects in
the high-level APE 14 API (e.g. ``pixel_to_world``.
* ``SlicedLowLevelWCS`` now raises ``IndexError`` rather than ``ValueError`` on
an invalid slice.
* Added ``fit_wcs_from_points`` function to ``astropy.wcs.utils``. Fits a WCS
object to set of matched detector/sky coordinates.
* Fix various bugs in ``SlicedLowLevelWCS`` when the WCS being sliced was one
dimensional.
+ API Changes
> astropy.constants
* Deprecated ``set_enabled_constants`` context manager. Use
``astropy.physical_constants`` and ``astropy.astronomical_constants``.
> astropy.convolution
* Removed the deprecated keyword argument ``interpolate_nan`` from
``convolve_fft``.
* Removed the deprecated keyword argument ``stddev`` from
``Gaussian2DKernel``.
* Deprecated and renamed ``MexicanHat1DKernel`` and ``MexicanHat2DKernel``
to ``RickerWavelet1DKernel`` and ``RickerWavelet2DKernel``.
> astropy.coordinates
* Removed the ``recommended_units`` attribute from Representations; it was
deprecated since 3.0.
* Removed the deprecated frame attribute classes, ``FrameAttribute``,
``TimeFrameAttribute``, ``QuantityFrameAttribute``,
``CartesianRepresentationFrameAttribute``; deprecated since 3.0.
* Removed ``longitude`` and ``latitude`` attributes from ``EarthLocation``;
deprecated since 2.0.
* The ``DifferentialAttribute`` for frame classes now passes through any input
to the ``allowed_classes`` if only one allowed class is specified, i.e. this
now allows passing a quantity in for frame attributes that use
``DifferentialAttribute``.
* Removed the deprecated ``galcen_ra`` and ``galcen_dec`` attributes from the
``Galactocentric`` frame.
> astropy.extern
* Remove the bundled ``six`` module.
> astropy.io.ascii
* Masked column handling has changed, see ``astropy.table`` entry below.
> astropy.io.misc
* Masked column handling has changed, see ``astropy.table`` entry below.
* Removed deprecated ``usecPickle`` kwarg from ``fnunpickle`` and
``fnpickle``.
> astropy.io.fits
* Masked column handling has changed, see ``astropy.table`` entry below.
* ``io.fits.Header`` has been made safe for subclasses for copying and slicing.
As a result of this change, the private subclass ``CompImageHeader``
now always should be passed an explicit ``image_header``.
* Removed the deprecated ``tolerance`` option in ``fitsdiff`` and
``io.fits.diff`` classes.
* Removed deprecated keyword arguments for ``CompImageHDU``:
``compressionType``, ``tileSize``, ``hcompScale``, ``hcompSmooth``,
``quantizeLevel``.
> astropy.io.votable
* Changed ``pedantic`` argument to ``verify`` and change it to have three
string-based options (``ignore``, ``warn``, and ``exception``) instead of
just being a boolean. In addition, changed default to ``ignore``, which means
that warnings will not be shown by default when loading VO tables.
> astropy.modeling
* Eliminates support for compound classes (but not compound instances!)
* Slicing compound models more restrictive.
* Shape of parameters now includes n_models as dimension.
* Parameter instances now hold values instead of models.
* Compound model parameters now share instance and value with
constituent models.
* No longer possible to assign slices of parameter values to model parameters
attribute (it is possible to replace it with a complete array).
* Many private attributes and methods have changed (see documentation).
* Deprecated ``BlackBody1D`` model and ``blackbody_nu`` and
``blackbody_lambda`` functions.
* The deprecated ``rotations.rotation_matrix_from_angle`` was removed.
* Deprecated and renamed ``MexicanHat1D`` and ``MexicanHat2D``
to ``RickerWavelet1D`` and ``RickerWavelet2D``.
* Deprecated ``modeling.utils.ExpressionTree``.
> astropy.stats
* Removed the ``iters`` keyword from sigma clipping stats functions.
* Renamed the ``a`` parameter to ``data`` in biweight stat functions.
* Renamed the ``a`` parameter to ``data`` in ``median_absolute_deviation``.
* Renamed the ``conflevel`` keyword to ``confidence_level`` in
``poisson_conf_interval``. Usage of ``conflevel`` now issues
``AstropyDeprecationWarning``.
* Renamed the ``conf`` keyword to ``confidence_level`` in
``binom_conf_interval`` and ``binned_binom_proportion``. Usage of ``conf``
now issues ``AstropyDeprecationWarning``.
* Renamed the ``conf_lvl`` keyword to ``confidence_level`` in
``jackknife_stats``. Usage of ``conf_lvl`` now issues
``AstropyDeprecationWarning``.
> astropy.table
* The handling of masked columns in the ``Table`` class has changed in a way
that may impact program behavior. Now a ``Table`` with ``masked=False``
may contain both ``Column`` and ``MaskedColumn`` objects, and adding a
masked column or row to a table no longer "upgrades" the table and columns
to masked. This means that tables with masked data which are read via
``Table.read()`` will now always have ``masked=False``, though specific
columns will be masked as needed. Two new table properties
``has_masked_columns`` and ``has_masked_values`` were added. See the
`Masking change in astropy 4.0 section within
<https://docs.astropy.org/en/v4.0.x/table/masking.html>`_ for
details.
* Table operation functions such as ``join``, ``vstack``, ``hstack``, etc now
always return a table with ``masked=False``, though the individual columns
may be masked as necessary.
* Changed implementation of ``Table.add_column()`` and ``Table.add_columns()``
methods. Now it is possible add any object(s) which can be converted or
broadcasted to a valid column for the table. ``Table.__setitem__`` now
just calls ``add_column``.
* Changed default table configuration setting ``replace_warnings`` from
``['slice']`` to ``[]``. This removes the default warning when replacing
a table column that is a slice of another column.
* Removed the non-public method
``astropy.table.np_utils.recarray_fromrecords``.
> astropy.tests
* In addition to ``DeprecationWarning``, now ``FutureWarning`` and
``ImportWarning`` would also be turned into exceptions.
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` has changed. Please refer to API
documentation.
* Default settings for ``warnings_to_ignore_by_pyver`` are updated to remove
very old warnings that are no longer relevant and to add a new warning
caused by ``pytest-doctestplus``.
> astropy.time
* ``Time.get_ut1_utc`` now uses the auto-updated ``IERS_Auto`` by default,
instead of the bundled ``IERS_B`` file.
* Time formats that do not use ``val2`` now raise ValueError instead of
silently ignoring a provided value.
* Custom time formats can now accept floating-point types with extended
precision. Existing time formats raise exceptions rather than discarding
extended precision through conversion to ordinary floating-point.
* Time formats (implemented in subclasses of ``TimeFormat``) now have
their input and output routines more thoroughly validated, making it more
difficult to create damaged ``Time`` objects.
* The ``TimeDelta.to_value()`` method now can also take the ``format`` name
as its argument, in which case the value will be calculated using the
``TimeFormat`` machinery. For this case, one can also pass a ``subfmt``
argument to retrieve the value in another form than ``float``.
> astropy.timeseries
* Keyword ``midpoint_epoch`` is renamed to ``epoch_time``.
> astropy.uncertainty
* ``Distribution`` was rewritten such that it deals better with subclasses.
As a result, Quantity distributions now behave correctly with ``to`` methods
yielding new distributions of the kind expected for the starting distribution,
and ``to_value`` yielding ``NdarrayDistribution`` instances.
> astropy.units
* For consistency with ``ndarray``, scalar ``Quantity.value`` will now return
a numpy scalar rather than a python one. This should help keep track of
precision better, but may lead to unexpected results for the rare cases
where numpy scalars behave differently than python ones (e.g., taking the
square root of a negative number).
* Removed the ``magnitude_zero_points`` module, which was deprecated in
favour of ``astropy.units.photometric`` since 3.1.
* ``EquivalentUnitsList`` now has a ``_repr_html_`` method to output a HTML
table on a call to ``find_equivalent_units`` in Jupyter notebooks.
> astropy.utils
* ``download_file`` and related functions now accept a list of fallback
sources, and they are able to update the cache at the user's request.
* Allow ``astropy.utils.console.ProgressBarOrSpinner.map`` and
``.map_unordered`` to take an argument ``multiprocessing_start_method`` to
control how subprocesses are started; the different methods (``fork``,
``spawn``, and ``forkserver``) have different implications in terms of
security, efficiency, and behavioural anomalies. The option is useful in
particular for cross-platform testing because Windows supports only ``spawn``
while Linux defaults to ``fork``.
* All operations that act on the astropy download cache now take an argument
``pkgname`` that allows one to specify which package's cache to use.
* Removed deprecated ``funcsigs`` and ``futures`` from
``astropy.utils.compat``.
* Removed the deprecated ``astropy.utils.compat.numpy`` module.
* Deprecated ``InheritDocstrings`` as it is natively supported by
Sphinx 1.7 or higher.
* Deprecated ``astropy.utils.timer`` module, which has been moved to
``astroquery.utils.timer`` and will be part of ``astroquery`` 0.4.0.
* Deprecated ``astropy.utils.misc.set_locale`` function, as it is meant for
internal use only.
* The implementation of ``data_info.DataInfo`` has changed (for a considerable
performance boost). Generally, this should not affect simple subclasses, but
because the class now uses ``__slots__`` any attributes on the class have to
be explicitly given a slot.
* ``IERS`` tables now use ``nan`` to mark missing values
(rather than ``1e20``).
> astropy.visualization
* The default ``clip`` value is now ``False`` in ``ImageNormalize``.
* The default ``clip`` value is now ``False`` in ``simple_norm``.
* Infinite values are now excluded when calculating limits in
``ManualInterval`` and ``MinMaxInterval``. They were already excluded in
all other interval classes.
+ Bug Fixes
> astropy.coordinates
* The ``QuantityAttribute`` class now supports a None default value if a unit
is specified.
* When ``Representation`` classes with the same name are defined, this no
longer leads to a ``ValueError``, but instead to a warning and the removal
of both from the name registry (i.e., one either has to use the class itself
to set, e.g., ``representation_type``, or refer to the class by its fully
qualified name).
> astropy.io.fits
* Implemented skip (after warning) of header cards with reserved
keywords in ``table_to_hdu``.
* Add ``AstropyDeprecationWarning`` to ``read_table_fits`` when ``hdu=`` is
selected, but does not match single present table HDU.
> astropy.io.votable
* Ignore BINARY2 null mask bits for string values
on parsing a VOTable. In this way, the reader should never create masked
values for string types.
* Corrected a spurious warning issued for the ``value`` attribute of the
``<OPTION>`` element in VOTable, as well as a test that erroneously
treated the warning as acceptable.
> astropy.nddata
* ``Cutout2D`` will now get the WCS from its first argument if that argument
has with WCS property.
* ``overlap_slices`` will now raise a ``ValueError`` if the input
position contains any non-finite values (e.g. NaN or inf).
> astropy.stats
* Fixed a bug where ``bayesian_blocks`` returned a single edge.
* Fixed input data type validation for ``bayesian_blocks`` to work int
arrays.
> astropy.table
* Fix bug where adding a column consisting of a list of masked arrays was
dropping the masks.
* ``Quantity`` columns with custom units can now round-trip via FITS tables,
as long as the custom unit is enabled during reading (otherwise, the unit
will become an ``UnrecognizedUnit``).
* Fix bug where string values could be truncated when inserting into a
``Column`` or ``MaskedColumn``, or when adding or inserting a row containing
string values.
> astropy.time
* Fix bug when ``Time`` object is created with only masked elements.
* Fix inaccuracy when converting between TimeDelta and datetime.timedelta.
> astropy.units
* Ensure that output from test functions of and comparisons between quantities
can be stored into pre-allocated output arrays (using ``out=array``)
> astropy.utils
* For the default ``IERS_Auto`` table, which combines IERS A and B values, the
IERS nutation parameters "dX_2000A" and "dY_2000A" are now also taken from
the actual IERS B file rather than from the B values stored in the IERS A
file. Any differences should be negligible for any practical application,
but this may help exactly reproducing results.
> astropy.visualization
* Calling ``WCSAxes.set_axis_off()`` now correctly turns off drawing the Axes.
* Fix incorrect transformation behavior in ``WCSAxes.plot_coord`` and correctly
handle when input coordinates are not already in spherical representations.
* Fixed ``ImageNormalize`` so that when it is intialized without
``data`` it will still use the input ``interval`` class.
* Fixed ``ImageNormalize`` to handle input data with non-finite
values.
> astropy.wcs
* Fix incorrect value returned by
``wcsapi.HighLevelWCSWrapper.axis_correlation_matrix``.
* Fix NaN-masking of world coordinates when some but not all of the coordinates
were flagged as invalid by WCSLIB. This occurred for example with WCS with >2
dimensions where two of the dimensions were celestial coordinates and pixel
coordinates ouside of the 'sky' were converted to world coordinates -
previously all world coordinates were masked even if uncorrelated with the
celestial axes, but this is no longer the case.
* The default WCS to celestial frame mapping for world coordinate systems that
specify ``TLON`` and ``TLAT`` coordinates will now return an ITRS frame with
the representation class set to ``SphericalRepresentation``. This fixes a bug
that caused ``WCS.pixel_to_world`` to raise an error for such world
coordinate systems.
* ``FITSWCSAPIMixin`` now returns tuples not lists from ``pixel_to_world`` and
``world_to_pixel``.
+ Other Changes and Additions
* Versions of Python <3.6 are no longer supported.
* Matplotlib 2.1 and later is now required.
* Versions of Numpy <1.16 are no longer supported.
* Updated the bundled CFITSIO library to 3.470. See
``cextern/cfitsio/docs/changes.txt`` for additional information.
* The bundled ERFA was updated to version 1.7.0. This is based on
SOFA 20190722. This includes a fix to avoid precision loss for negative
JDs, and also includes additional routines to allow updates to the
leap-second table.
* The default server for the IERS data files has been updated to reflect
long-term downtime of the canonical USNO server.
OBS-URL: https://build.opensuse.org/request/show/761637
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=8