- Update to 5.1.1
# API Changes
## astropy.wcs
* The pixel argument to
astropy.visualization.wcsaxes.ticklabels.TickLabels.add no
longer does anything, is deprecated, and will be removed in a
future astropy version. It has been replaced by a new required
data argument, which should be used to specify the data
coordinates of the tick label being added.
* This changes has been made because it is (in general) not
possible to correctly calculate pixel coordinates before
Matplotlib is drawing a figure. [#12630]
# Bug Fixes
## astropy.coordinates
* Fixed a bug that prevented SkyOffsetFrame instances to be
pickled by adding a custom __reduce__ method to the class (see
issue #9249). [#13305]
* Fixed the check for invalid Latitude values for float32 values.
Latitude now accepts the float32 value of pi/2, which was
rejected before because a comparison was made using the
slightly smaller float64 representation. See issue #13708.
[#13745]
## astropy.io.ascii
* Fixed confusing chained exception messages of read() function
when it fails. [#13170]
* When writing out a :class:`~astropy.table.Table` to HTML
format, the formats keyword argument to the
:meth:`~astropy.table.Table.write` method will now be applied.
[#13453]
## astropy.io.fits
OBS-URL: https://build.opensuse.org/request/show/1030591
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=78
- Update to 5.1
* Astropy 5.1 is a major release that adds significant new
functionality since the 5.0 LTS release.
* In particular, this release includes:
- Updates to cosmology
- doppler_redshift() equivalency
- Specifying data types when reading ASCII tables
- Structured Columns
- New model fitters have been added
- Allow time conversions without predictive Earth rotation data
(IERS-A)
- Uncertainty classes can be transformed into each other
- Schechter1D Model
* In addition to these major changes, Astropy v5.1 includes a
large number of smaller improvements and bug fixes, which are
described in the Full Changelog.
OBS-URL: https://build.opensuse.org/request/show/980179
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=72
- Update to 5.0.4
# Bug Fixes
## astropy.modeling
* Fixed the Gaussian2D bounding_box when theta is an angular
Quantity. [#13021]
## astropy.utils
* Reverted astropy.utils.iers.iers.IERS_A_URL to
maia.usno.navy.mil domain instead of NASA FTP to work around
server issues. [#13004]
# Other Changes and Additions
* Updated bundled WCSLIB to version 7.9 with several bugfixes and
added support for time coordinate axes in wcsset() and
wcssub(). The four-digit type code for the time axis will have
the first digit set to 4, i.e., four digit code will be 4xxx
where x is a digit 0-9. For a full list of bug fixes see
https://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES [#12994]
(when building --without system_wcslib)
- Release 5.0.3
# Bug Fixes
## astropy.convolution
* Bugfix in astropy.convolution.utils.discretize_model which
allows the function to handle a CompoundModel. Before this fix,
discretize_model was confusing CompoundModel with a callable
function. [#12959]
## astropy.io.fits
* Fix write and read FITS tables with multidimensional items,
using from_columns without previousely defined ColDefs
structure. [#12863]
## astropy.io.votable
* Fix VOTable linting to avoid use of shell option. [#12985]
astropy.utils
* Fix XML linting to avoid use of shell option. [#12985]
# Other Changes and Additions
* Updated the bundled CFITSIO library to 4.1.0. [#12967]
(when building --without system_cfitsio)
OBS-URL: https://build.opensuse.org/request/show/966482
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=67
- Update to 5.0.2
astropy.io.ascii
* Bugfix to add backwards compatibility for reading ECSV version
0.9 files with non-standard column datatypes (such as `object`,
`str`, `datetime64`, etc.), which would raise a ValueError in
ECSV version 1.0. [#12880]
* astropy.io.misc
* Bugfix for `units_mapping` schema's property name conflicts.
Changes:
- `inputs` to `unit_inputs`
- `outputs` to `unit_outputs` [#12800]
astropy.io.votable
* Fixed a bug where `astropy.io.votable.validate` was printing
output to `sys.stdout` when the `output` paramter was set to
`None`. `validate` now returns a string when `output` is set to
`None`, as documented. [#12604]
astropy.modeling
* Fix handling of units on `scale` parameter in BlackBody model.
[#12318]
* Indexing on models can now be used with all types of integers
(like `numpy.int64`) instead of just `int`. [#12561]
* Fix computation of the separability of a `CompoundModel` where
another `CompoundModel` is on the right hand side of the `&`
operator. [#12907]
* Provide a hook (`Model._calculate_separability_matrix`) to
allow subclasses of `Model` to define how to compute their
separability matrix. [#12900]
astropy.stats
* Fixed a bug in which running
`kuiper_false_positive_probability(D,N)` on distributions with
many data points could produce NaN values for the false
positive probability of the Kuiper statistic. [#12896]
astropy.wcs
* Fixed a bug due to which `naxis`, `pixel_shape`, and
`pixel_bounds` attributes of `astropy.wcs.WCS` were not
restored when an `astropy.wcs.WCS` object was unpickled. This
fix also eliminates `FITSFixedWarning` warning issued during
unpiclikng of the WCS objects related to the number of axes.
This fix also eliminates errors when unpickling WCS objects
originally created using non-default values for `key`,
`colsel`, and `keysel` parameters. [#12844]
OBS-URL: https://build.opensuse.org/request/show/961615
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=65
- Update to 5.0.1
astropy.coordinates
* Trying to create an instance of astropy.coordinates.Distance by
providing both z and parallax now raises the expected
ValueError. [#12531]
* Fixed a bug where changing the wrap angle of the longitude
component of a representation could raise a warning or error in
certain situations. [#12556]
* astropy.coordinates.Distance constructor no longer ignores the
unit keyword when parallax is provided. [#12569]
astropy.cosmology
* astropy.cosmology.utils.aszarr can now convert Column objects.
[#12525]
* Reading a cosmology from an ECSV will load redshift and Hubble
parameter units from the cosmology units module. [#12636]
astropy.io.fits
* Fix formatting issue in _dump_coldefs and add tests for
tabledump and tableload convenience functions. [#12526]
astropy.io.misc
* YAML can now also represent quantities and arrays with
structured dtype, as well as structured scalars based on
np.void. [#12509]
astropy.modeling
* Fixes error when fitting multiplication or division based
compound models where the sub-models have different output
units. [#12475]
* Bugfix for incorrectly initialized and filled parameters data
for Spline1D model. [#12523]
* Bugfix for keyerror thrown by Model.input_units_equivalencies
when used on fix_inputs models which have no set unit
OBS-URL: https://build.opensuse.org/request/show/949763
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=64
- Update to version 5.0
* https://docs.astropy.org/en/stable/whatsnew/5.0.html
* Astropy 5.0 is a major release that adds significant new
functionality since the 4.3.x series of releases. In addition,
it is a long-term support release (LTS) which will be supported
with bug fixes for two years. In particular, this release
includes:
* Support for reading, writing, and converting Cosmology
* Cosmology units module
* New Models
* Added support for dask arrays in tables
* Added support for registering array-like objects as mixin
columns
* Support for reading and writing tables to Parquet format
* Support for reading and writing tables to MRT format
* Support for masked quantity columns, including masked FITS
columns with units
* Converting SkyCoord to QTable
* New Unified I/O architecture
* In addition to these major changes, Astropy v5.0 includes a
large number of smaller improvements and bug fixes, which
are described in the Full Changelog.
https://docs.astropy.org/en/stable/changelog.html#changelog
- Drop patches fixed upstream
* astropy-pr12006-cfitsio4.patch
* astropy-pr12159-py310.patch
OBS-URL: https://build.opensuse.org/request/show/942935
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=62
Bug Fixes
astropy.io.fits
* In fits.io.getdata do not fall back to first non-primary
extension when user explicitly specifies an extension. [#11860]
* Ensure multidimensional masked columns round-trip properly to
FITS. [#11911]
* Ensure masked times round-trip to FITS, even if
multi-dimensional. [#11913]
* Raise ValueError if an np.float32 NaN/Inf value is assigned to
a header keyword. [#11922]
astropy.modeling
* Fixed bug in fix_inputs handling of bounding boxes. [#11908]
astropy.table
* Fix an error when converting to pandas any Table subclass that
automatically adds a table index when the table is created. An
example is a binned TimeSeries table. [#12018]
astropy.units
* Ensure that unpickling quantities and units in new sessions
does not change hashes and thus cause problems with (de)
composition such as getting different answers from the .si
attribute. [#11879]
* Fixed cannot import name imperial from astropy.units
namespace. [#11977]
astropy.utils
* Ensure any .info on Masked instances is propagated correctly
when viewing or slicing. As a consequence, MaskedQuantity can
now be correctly written to, e.g., ECSV format with
serialize_method='data_mask'. [#11910]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=58
- Update to version 4.3.post1
Astropy 4.3 is a major release that adds significant new
functionality since the 4.2.x series of releases.
* Transformations to AltAz are now much more precise (and faster)
* Improvements in making Astropy thread-safe
* Performance improvements to sigma clipping
* Changes in the Time and IERS leap second handling
* Support for multidimensional and object columns in ECSV
* Support for reading and writing tables to QDP format
* Append table to existing FITS file
* General masked class for Quantity and other ndarray subclasses
* Configuration file improvements
* Support for different solvers and bracket option in z_at_value
* Full changelog:
https://docs.astropy.org/en/stable/changelog.html
- Drop patch and files merged upstream:
* astropy-pr11260+pr11549-wcs76.patch
* dss.14.29.56-62.41.05.fits.gz
* tab-time-last-axis.fits
- Use bundled cfitsio for s390x, Power and ARM
- Increase Hypothesis test deadline to 5s
OBS-URL: https://build.opensuse.org/request/show/910367
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=56
- Update to version 4.2.1
astropy.cosmology
* Fixed an issue where specializations of the comoving distance
calculation for certain cosmologies could not handle redshift
arrays. [#10980]
astropy.io.fits
* Fix bug where manual fixes to invalid header cards were not
preserved when saving a FITS file. [#11108]
astropy.io.votable
* NumericArray converter now properly broadcasts scalar mask to
array. [#11157]
astropy.table
* Fix bug when initializing a Table subclass that uses
TableAttribute's. If the data were an instance of the table
then attributes provided in the table initialization call
could be ignored. [#11217]
astropy.time
* Change epoch of TimeUnixTAI ("unix_tai") from
1970-01-01T00:00:00 UTC to 1970-01-01T00:00:00 TAI to match
the intended and documented behaviour. This essentially
changes the resulting times by 8.000082 seconds, the initial
offset between TAI and UTC. [#11249]
astropy.units
* Fixed a bug with the quantity_input decorator where allowing
dimensionless inputs for an argument inadvertently disabled
any checking of compatible units for that argument. [#11283]
astropy.utils
* Fix a bug so that np.shape, np.ndim and np.size again work on
classes that use ShapedLikeNDArray, like representations,
frames, sky coordinates, and times. [#11133]
OBS-URL: https://build.opensuse.org/request/show/883882
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=51
- Update to Version 4.2
Astropy 4.2 is a major release that adds new funcionality since
the 4.1 release.
In particular, this release includes:
* Planck 2018 is accepted and now the default cosmology
* Time performance improvements
* Removed ERFA module
In addition to these major changes, Astropy v4.2 includes smaller
improvements and bug fixes and significant cleanup, which are
described in the Full Changelog. By the numbers:
* 183 issues have been closed since v4.1
* 105 pull requests have been merged since v4.1
* 63 distinct people have contributed code
- Bump requirements versions
- Drop astropy-pr10329-unbundle-erfa_4.1.patch merged upstream
OBS-URL: https://build.opensuse.org/request/show/851660
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=38
- Update to 4.1
Astropy 4.1 is a major release that contains bug fixes and new
features since the 4.0.x series of releases. In particular, this
release includes:
* A new SpectralCoord class for representing and transforming
spectral quantities
* Support for writing Dask arrays to FITS files
* Added True Equator Mean Equinox (TEME) frame for satellite two-
line ephemeris data
* Support for in-place setting of array-valued SkyCoord and frame
objects
* Change in the definition of equality comparison for coordinate
classes
* Support use of SkyCoord in table vstack, dstack, and insert_row
* Support for table cross-match join with SkyCoord or N-d columns
* Support for custom attributes in Table subclasses
* Added a new Time subformat unix_tai
* Added support for the -TAB convention in FITS WCS
* Support for replacing submodels in CompoundModel
* Support for units on otherwise unitless models via the
Model.coerce_units method.
* Support for ASDF serialization of models
In addition to these major changes, Astropy v4.0 includes a large
number of smaller improvements and bug fixes, which are described
in the Full Changelog. By the numbers:
* 381 issues have been closed since v4.0
* 511 pull requests have been merged since v4.0
* 66 distinct people have contributed code to this release, 23 of
which are first time contributors to Astropy
- Drop astropy-pr10545-remove-newline-3d_cd_hdr.patch
* merged upstream
* gh#astropy/astropy#10545
- Add astropy-pr10329-unbundle-erfa_4.1.patch
* Remove bundled _erfa but use system package pyerfa instead
* gh#astropy/astropy#10329
- enable optional pytest-xdist
- Update to 4.0.3
* astropy.table
Fixed a small bug where initializing an empty `Column`
with a structured dtype with a length and a shape
failed to give the requested dtype. [#10819]
* Fixed installation of the source distribution with
pip<19. [#10837, #10852]
OBS-URL: https://build.opensuse.org/request/show/843474
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=36
- Update to 4.0.2
New Features
* astropy.utils
astropy.utils.data.download_file now supports FTPS/FTP over
TLS. [#9964]
astropy.utils.data now uses a lock-free mechanism for caching.
This new mechanism uses a new cache layout and so ignores
caches created using earlier mechanisms (which were causing
lockups on clusters). The two cache formats can coexist but do
not share any files. [#10437, #10683]
astropy.utils.data now ignores the config item
astropy.utils.data.conf.download_cache_lock_attempts since no
locking is done. [#10437, #10683]
astropy.utils.data.download_file and related functions now
interpret the parameter or config file setting timeout=0 to
mean they should make no attempt to download files. [#10437,
#10683]
astropy.utils.import_file_to_cache now accepts a keyword-only
argument replace, defaulting to True, to determine whether it
should replace existing files in the cache, in a way as close
to atomic as possible. [#10437, #10683]
astropy.utils.data.download_file and related functions now
treat http://example.com and http://example.com/ as equivalent.
[#10631]
* astropy.wcs
The new auxiliary WCS parameters added in WCSLIB 7.1 are now
exposed as the aux attribute of Wcsprm. [#10333]
Updated bundled version of WCSLIB to v7.3. [#10433]
Bug fixes
* astropy.config
Added an extra fallback to os.expanduser('~') when trying to
find the user home directory. [#10570]
* astropy.constants
Corrected definition of parsec to 648 000 / pi AU following IAU
2015 B2 [#10569]
* astropy.convolution
Fixed a bug where a float-typed integers in the argument
x_range of astropy.convolution.utils.discretize_oversample_1D
(and the 2D version as well) fails because it uses
numpy.linspace, which requires an int. [#10696]
* astropy.coordinates
Ensure that for size-1 array SkyCoord and coordinate frames the
attributes also properly become scalars when indexed with 0.
[#10113]
Fixed a bug where SkyCoord.separation() and
SkyCoord.separation_3d were not accepting a frame object.
[#10332]
Ensure that the lon values in SkyOffsetFrame are wrapped
correctly at 180 degree regardless of how the underlying data
is represented. [#10163]
Fixed an error in the obliquity of the ecliptic when
transforming to/from the *TrueEcliptic coordinate frames. The
error would primarily result in an inaccuracy in the ecliptic
latitude on the order of arcseconds. [#10129]
Fixed an error in the computation of the location of solar
system bodies where the Earth location of the observer was
ignored during the correction for light travel time. [#10292]
Ensure that coordinates with proper motion that are transformed
to other coordinate frames still can be represented properly.
[#10276]
Improve the error message given when trying to get a cartesian
representation for coordinates that have both proper motion and
radial velocity, but no distance. [#10276]
Fixed an error where SkyCoord.apply_space_motion would return
incorrect results when no distance is set and proper motion is
high. [#10296]
Make the parsing of angles thread-safe so that Angle can be
used in Python multithreading. [#10556]
Fixed reporting of EarthLocation.info which previously raised
an exception. [#10592]
* astropy.io.ascii
Fixed a bug with the C fast_reader not correctly parsing
newlines when delimiter was also set to \n or \r; ensured
consistent handling of input strings without newline
characters. [#9929]
* astropy.io.fits
Fix integer formats of TFORMn=Iw columns in ASCII tables to
correctly read values exceeding int32 - setting int16, int32 or
int64 according to w. [#9901]
Fix unclosed memory-mapped FITS files in FITSDiff when
difference found. [#10159]
Fix crash when reading an invalid table file. [#10171]
Fix duplication issue when setting a keyword ending with space.
[#10482]
Fix ResourceWarning with fits.writeto and pathlib.Path object.
[#10599]
Fix repr for commentary cards and strip spaces for commentary
keywords. [#10640]
Fix compilation of cfitsio with Xcode 12. [#10772]
Fix handling of 1-dimensional arrays with a single element in
BinTableHDU [#10768]
* astropy.io.misc
Fix id URL in baseframe-1.0.0 ASDF schema. [#10223]
Write keys to ASDF only if the value is present, to account for
a change in behavior in asdf 2.8. [#10674]
* astropy.io.registry
Fix Table.(read|write).help when reader or writer has no
docstring. [#10460]
* astropy.io.votable
Fixed parsing failure of VOTable with no fields. When detecting
a non-empty table with no fields, the following warning/
exception is issued: E25 "No FIELDs are defined; DATA section
will be ignored." [#10192]
* astropy.modeling
Fixed a problem with mapping input_units and return_units of a
CompoundModel to the units of the constituent models. [#10158]
Removed hard-coded names of inputs and outputs. [#10174]
Fixed a problem where slicing a CompoundModel by name will
crash if there fix_inputs operators are present. [#10224]
Removed a limitation of fitting of data with units with
compound models without units when the expression involves
operators other than addition and subtraction. [#10415]
Fixed a problem with fitting Linear1D and Planar2D in model
sets. [#10623]
Fixed reported module name of math_functions model classes.
[#10694]
Fixed reported module name of tabular model classes. [#10709]
Do not create new math_functions models for ufuncs that are
only aliases (divide and mod). [#10697]
Fix calculation of the Moffat2D derivative with respect to
gamma. [#10784]
* astropy.stats
Fixed an API regression where SigmaClip.__call__ would convert
masked elements to nan and upcast the dtype to float64 in its
output MaskedArray when using the axis parameter along with the
defaults masked=True and copy=True. [#10610]
Fixed an issue where fully masked MaskedArray input to
sigma_clipped_stats gave incorrect results. [#10099]
Fixed an issue where sigma_clip and SigmaClip.__call__ would
return a masked array instead of a ndarray when masked=False
and the input was a full-masked MaskedArray. [#10099]
Fixed bug with funcs.poisson_conf_interval where an integer for
N with interval='kraft-burrows-nousek' would throw an error
with mpmath backend. [#10427]
Fixed bug in funcs.poisson_conf_interval with interval='kraft-
burrows-nousek' where certain combinations of source and
background count numbers led to ValueError due to the choice of
starting value for numerical optimization. [#10618]
* astropy.table
Fixed a bug when writing a table with mixin columns to FITS,
ECSV or HDF5. If one of the data attributes of the mixin (e.g.
skycoord.ra) had the same name as one of the table column names
(ra), the column (ra) would be dropped when reading the table
back. [#10222]
Fixed a bug when sorting an indexed table on the indexed column
after first sorting on another column. [#10103]
Fixed a bug in table argsort when called with reverse=True for
an indexed table. [#10103]
Fixed a performance regression introduced in #9048 when
initializing a table from Python lists. Also fixed incorrect
behavior (for data types other than float) when those lists
contain np.ma.masked elements to indicate masked data. [#10636]
Avoid modifying .meta when serializing columns to FITS.
[#10485]
Avoid crash when reading a FITS table that contains mixin info
and PyYAML is missing. [#10485]
* astropy.time
Ensure that for size-1 array Time, the location also properly
becomes a scalar when indexed with 0. [#10113]
* astropy.units
Refined test_parallax to resolve difference between 2012 and
2015 definitions. [#10569]
* astropy.utils
The default IERS server has been updated to use the FTPS server
hosted by CDDIS. [#9964]
Fixed memory allocation on 64-bit systems within xml.iterparse
[#10076]
Fix case where None could be used in a numerical computation.
[#10126]
* astropy.visualization
Fixed a bug where the ImageNormalize clip keyword was ignored
when used with calling the object on data. [#10098]
Fixed a bug where axes.xlabel/axes.ylabel where not correctly
set nor returned on an EllipticalFrame class WCSAxes plot.
[#10446]
* astropy.wcs
Handled WCS 360 -> 0 deg crossover in fit_wcs_from_points
[#10155]
Do not issue DATREF warning when MJDREF has default value.
[#10440]
Fixed a bug due to which naxis argument was ignored if header
was supplied during the initialization of a WCS object.
[#10532]
Other Changes and Additions
* Improved the speed of sorting a large Table on a single column
by a factor of around 5. [#10103]
* Ensure that astropy can be used inside Application bundles
built with pyinstaller. [#8795]
* Updated the bundled CFITSIO library to 3.49. See cextern/
cfitsio/docs/changes.txt for additional information. [#10256,
#10665]
* extract_array raises a ValueError if the data type of the input
array is inconsistent with the fill_value. [#10602]
- Drop merged PR patches
* astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433
* astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440
- Skip test_compound_fitting_with_units gh#astropy/astropy#10675
OBS-URL: https://build.opensuse.org/request/show/840965
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=34
:test flavor is currently failing but undetected!
- actually detect unit test failures with sys.exit(astropy.tests())
- do not fail on DeprecationWarnings
- support updated system lib wcslib 7.3 with
astropy-pr10433-wcslib73-tests.patch gh#astropy/astropy#10433
astropy-pr10440-wcs-datfix.patch gh#astropy/astropy#10440
- clean up blank lines after pytest report and prevent possible
failure of tests depending on test order
astropy-pr10545-remove-newline-3d_cd_hdr.patch
gh#astropy/astropy#10545
OBS-URL: https://build.opensuse.org/request/show/821523
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=32
- 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
- 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