- Update to 6.1.5
## Bug Fixes
### astropy.coordinates
* Ensure that coordinates can be transformed to other coordinate
frames also if they have size zero (i.e., hold empty data
arrays). [#17013]
* Longitude and Latitude can no longer be initialized with
strings ending in “N” or “S”, and “E” or “W”, respectively,
since those suggest the other type. [#17132]
* np.nanvar(angle) now produces a Quantity with the correct unit,
rather than raising an exception. [#17239]
* Fix a crash when instantiating Angle (or Latitude, or
Longitude) from a non-numpy array (for instance pyarrow
arrays). [#17263]
### astropy.io.fits
* Fix access to VLA columns after slicing .data. [#16996]
### astropy.io.votable
* Updated xml writer for VOTable Resource elements to include
groups. [#17344]
### astropy.nddata
* Add support for positional only and keyword only arguments when
using the support_nddata decorator. [#17281]
### astropy.stats
* Fixed a bug where float32 inputs to sigma_clip and SigmaClip
were changed to float. [#17086]
### astropy.table
* Fix a crash when calling Column.pprint on a scalar column.
[#15749]
* Ensure that setting an existing column to a scalar always
properly fills it (rather than breaking the table if there was
OBS-URL: https://build.opensuse.org/request/show/1222846
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=58
- Update to 6.1.3
## Bug Fixes
### astropy.io.fits
* Fix reading zero-width columns such as 0A fields. [#16894]
* Ensure that QTable, like Table, can read zero-length string
columns, and not convert them to length 1 strings. In the
process, avoid a needless copy of all the data for QTable.
[#16898]
### astropy.io.votable
* Fix KeyError when parsing certain VOTables. [#16830]
### astropy.modeling
* Fixed the fit_deriv calculations in the Lorentz1D model.
[#16794]
### astropy.table
* Pretty-printing of Tables now also works in the presence of
zero-length string columns (which sometimes are present in FITS
tables). [#16898]
### astropy.utils
* Fix the return type for np.broadcast_arrays on a single Masked
instance: it now correctly returns a 1-element sequence instead
of a single array, just like would be the case with a regular
array. [#16842]
### astropy.wcs
* Fix a bug where wcs_info_str’s results would look different in
numpy 2 VS numpy 1. [#16586]
## Other Changes and Additions
* The minimum required version of PyArrow is now v7.0.0. [#16785] (forwarded request 1197897 from bnavigator)
OBS-URL: https://build.opensuse.org/request/show/1197898
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=57
- Don't require numpy 2.
- update to 6.1.2:
* When reading CDS and MRT files, only interpret a line as a
section delimiter if it contains exclusively dashes or equal
signs. This enables rows starting with dashes.
* Fix a spurious exception when reading integer compressed
images with blanks.
* Fixed a crash that occurred for files opened via
fits.open(..., mode='update'), on Windows, and with numpy 2.0
installed. A warning is now emitted in cases most likely to
escalate into undefined behavior (e.g., segfaults), i.e.,
when a closed memory map object is still referenced by
external code. Please report any regression found.
* Fixed a bug that caused models returned by non-linear fitters
to have sync_constraints set to False, which caused
constraints accessed through, e.g., Model.fixed to not be in
sync with the fixed attribute of the parameters.
* Fixed a bug that caused CompoundModel.without_units_for_data
to return an incorrectly constructed model when the compound
model contained a * or / operation, and which also caused
fitting to not work correctly with compound models that
contained * or / operations.
* The OGIP parser is now less restrictive with strings that
represent a unit that includes the sqrt function. For
example, u.Unit("sqrt(m)**3", format="ogip") no longer causes
a ValueError.
* Fixed an edge-case bug in overlap_slices where the function
could return an empty slice for non-overlapping slices.
* Fixed a WCSAxes bug when overlaying a frame with default
OBS-URL: https://build.opensuse.org/request/show/1194255
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=56
- Update to 6.1.1:
* Let fitsdiff compare files with lower case HIERARCH keywords
* Fix writing a ``HDUList`` to file when numpy 2 is installed and at least
some of the data is represented as dask arrays.
* Fix display of diff reports with numpy 2.
* Ensure that also zero-length tables preserve whether integer data are
signed or unsigned.
* Fix YAML table serialization compatibility with numpy 2.
* Fix bugs in io.votable related to numpy 2's representation of scalars.
* Ensure that return types from ``sigma_clip`` ``cenfunc`` and ``stdfunc``
are np.float64 for scalar values.
* Ensure structured ``MaskedColumn`` are serialized correctly, including
the mask.
* Fix problems converting Pandas Series to ``Table`` with numpy >=2.0.
* Ensure Time in ymdhms format can also be serialized to files as part of a
table if it is masked.
* Ensure Masked versions of ``np.recarray`` will show the correct class
name of ``MaskedRecarray`` in their ``repr``, and that they will be
serialized correctly if part of a table.
* Fix bugs with how masked structured arrays were represented with numpy 2.
* ``MaskedQuantity`` now works properly with ``np.block``.
* Fix a bug where ``WCSAxes`` could be missing negative signs on axis
labels when using matplotlib's ``usetex`` mode.
* Fix compilation with gcc 14, avoid implicit pointer conversions.
- Drop patch 16450.patch, included upstream.
- Remove upper bound on pytest, no longer required.
OBS-URL: https://build.opensuse.org/request/show/1183096
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=54
* Let fitsdiff compare files with lower case HIERARCH keywords
* Fix writing a ``HDUList`` to file when numpy 2 is installed and at least
some of the data is represented as dask arrays.
* Fix display of diff reports with numpy 2.
* Ensure that also zero-length tables preserve whether integer data are
signed or unsigned.
* Fix YAML table serialization compatibility with numpy 2.
* Fix bugs in io.votable related to numpy 2's representation of scalars.
* Ensure that return types from ``sigma_clip`` ``cenfunc`` and ``stdfunc``
are np.float64 for scalar values.
* Ensure structured ``MaskedColumn`` are serialized correctly, including
the mask.
* Fix problems converting Pandas Series to ``Table`` with numpy >=2.0.
* Ensure Time in ymdhms format can also be serialized to files as part of a
table if it is masked.
* Ensure Masked versions of ``np.recarray`` will show the correct class
name of ``MaskedRecarray`` in their ``repr``, and that they will be
serialized correctly if part of a table.
* Fix bugs with how masked structured arrays were represented with numpy 2.
* ``MaskedQuantity`` now works properly with ``np.block``.
* Fix a bug where ``WCSAxes`` could be missing negative signs on axis
labels when using matplotlib's ``usetex`` mode.
* Fix compilation with gcc 14, avoid implicit pointer conversions.
- Drop patch 16450.patch, included upstream.
- Remove upper bound on pytest, no longer required.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=124
- Update to 6.1.0
## Highlights
* Updated minimum Python version to 3.10
* Order-dependent angular separations now come with warnings
* io.ascii uses 64-integers by default for integer columns
* Changes to semantics of copy= keyword arguments
* Cosmology is now a dataclass()
## New Features
### astropy.coordinates
* BaseCoordinateFrame now has a position_angle() method, which is
the same as the position_angle method of SkyCoord instances.
[#15737]
* By default the SkyCoord and BaseCoordinateFrame separation()
methods now emit a warning if they have to perform a coordinate
transformation that is not a pure rotation to inform the user
that the angular separation can depend on the direction of the
transformation. It is possible to modify this behaviour with
the new optional keyword-only origin_mismatch argument.
Specifying origin_mismatch="ignore" allows any transformation
to succeed without warning, which has been the behaviour so
far. origin_mismatch="error" forbids all transformations that
are not pure rotations. [#16246]
### astropy.io.ascii
* Clearer error message in reading ASCII tables when there is a
mismatch between converter type and column type. [#15991]
### astropy.io.registry
* The module astropy.io.typing has been added to provide type
annotations for I/O-related functionality. [#15916]
### astropy.samp
* SAMP web profile CORS HTTP server implements Private Network
Access proposal. [#16193]
### astropy.table
* Table now has a setdefault() method, analogous to
dict.setdefault(). [#16188]
### astropy.units
* Added a new module astropy.units.typing that provides support
for type annotations related to astropy.units. [#15860]
* Added a new CGS unit Oersted. [#15962]
* Added “surface brightness”, “surface brightness wav”, “photon
surface brightness”, and “photon surface brightness wav” to
recognized physical types. [#16032]
* Added magnetic helicity as a physical type. [#16101]
### astropy.utils
* For gufuncs on Masked instances, add support for the axes
argument. [#16121]
* Masked instances now support the various numpy array set
operations, such as np.unique and np.isin. [#16224]
### astropy.wcs
* Added support for slicing WCS objects containing cpdis or
det2im distortions, which previously were ignored. [#16163]
## API Changes
### astropy.coordinates
* The astropy.coordinates.transformations module has been
refactored into a module. There should be no user-visible
changes, but if you notice any, please open an Issue. [#15895]
* Changed the default value of the copy argument in
astropy.coordinates.representation.CylindricalDifferential.__init__
from False to True, which is the intended behaviour for all
subclasses of
astropy.coordinates.representation.BaseDifferential. [#16198]
### astropy.cosmology
* Cosmology and its subclasses are now frozen dataclass objects.
[#15484]
* The argument verbose in the function z_at_value is now
keyword-only. [#15855]
### astropy.io.ascii
* The io.ascii Python and C table readers were updated to use a
64-bit integer field by default when reading a column of
integer numeric data. This changes the default behavior on
Windows and potentially 32-bit architectures. Previously on
those platforms, table columns with any long integers which
overflowed the 32-bit integer would be returned as string
columns. The new default behavior is consistent with numpy v2
and pandas. [#16005]
* The parallel fast-reader parser for reading ASCII files has
been removed. Since astropy v4.0.4 requesting this option has
issued a warning that this option is broken and that the serial
parser will be used. The parallel key in the fast_reader
argument for reading ASCII tables is no longer available.
[#16103]
### astropy.table
* show_in_notebook is deprecated and it is recommended to use
dedicated tools in the Jupyter ecosystem to create interactive
plots in notebooks. [#15905]
* A warning is now emitted when Quantity values are inserted into
empty Column objects via Table.insert_row or Table.add_row.
[#16038]
* show_in_browser is deprecated (pending feedback from the
community). Please use astropy/astropy#16067 if you are
actively using the function. [#16068]
* TableColumns.setdefault() and TableColumns.update() methods
(which would typically be called as Table.columns.setdefault()
and Table.columns.update()) have been deprecated because they
can easily corrupt the Table instance the TableColumns instance
is attached to. The Table.setdefault() and Table.update()
methods are safe. [#16154]
### astropy.time
* TIME_FORMATS and TIME_DELTA_FORMATS in astropy.time.formats are
changed from OrderedDict to Python dict. [#15491]
* A FutureWarning is now emitted when mutating Time.location
post-initialization. [#16063]
* Following the removal of np.ndarray.ptp in Numpy v2, Time.ptp
is now deprecated in favor of np.ptp. [#16212]
### astropy.units
* If any iterable such as a list of tuple was input to Quantity,
a check was done to see if they contained only quantities, and,
if so, the quantities were concatenated. This makes sense for
list and tuple, but is not necessarily logical for all
iterables and indeed was broken for those that do not have a
length (such as array_api array instances). Hence, the check
will now be done only for values where it makes sense, i.e.,
instances of list and tuple. [#15752]
* Units now exposes get_converter which returns a function that
will convert a scalar or array from one unit to another. This
can be useful to speed up code that converts many quantities
with the same unit to another one, especially if the quantity
has not many elements, so that the overhead of creating a
conversion function is relatively large. [#16139]
### astropy.utils
* Deprecate importing ErfaError and ErfaWarning from
astropy.utils.exceptions. They should be imported directly from
erfa instead. [#15777]
* introspection.isinstancemethod() and
introspection.find_mod_objs() are deprecated. [#15934]
* astropy.utils.console.terminal_size is now deprecated in favour
of shutil.get_terminal_size from the standard library. [#16045]
* indent() is deprecated. Use textwrap.indent() from Python
standard library instead. [#16223]
* Unmasked Masked scalar instances are now considered hashable,
to match the implicit behaviour of regular arrays, where if an
operation leads to a scalar, a hashable array scalar is
returned. [#16224]
### astropy.visualization
* Renamed the min_cut and max_cut keywords in simple_norm and
fits2bitmap to vmin and vmax. The old names are deprecated.
[#15621]
* If vmin == vmax, the ImageNormalize class now maps the input
data to 0. If vmin > vmax, the ImageNormalize class now raises
a ValueError. [#15622]
## Bug Fixes
### astropy.convolution
* Avoid a segfault when calling astropy.convolution.convolve on
an empty array. An exception is now raised instead. [#15840]
### astropy.coordinates
* Previously passing a SkyCoord instance to the
BaseCoordinateFrame separation() or separation_3d() methods
could produce wrong results, depending on what additional frame
attributes were defined on the SkyCoord, but now SkyCoord input
can be used safely. [#15659]
* Distance now accepts as parallax any angle-like value. This
includes types like Column which have a unit but are not
Quantity subclasses. [#15712]
* The new default for the class method SkyCoord.from_name() is to
look for coordinates first in SIMBAD, then in NED, and then in
VizieR, instead of having no specific order. [#16046]
* Fix Angle.to_string() for angles in degrees represented in
‘hms’ and angles in hours represented in ‘dms’. [#16085]
* Fix a bug where SkyCoord.spherical_offsets_by would crash when
a wrap was needed. [#16241]
* search_around_3d() now always raises a UnitConversionError if
the units of the distances in coord1 and coord2 and the unit of
distlimit do not agree. Previously the error was not raised if
at least one of the coordinates was empty. [#16280]
### astropy.cosmology
* Fixed a bug where the attribute ParametersAttribute.attr_name
could be None instead of a string. [#15882]
### astropy.io.ascii
* Reading of CDS header files with multi-line descriptions where
the continued line started with a number was broken. This is
now fixed. [#15617]
* Ensure that the names of mixin columns are properly propagated
as labels for the MRT format. [#15848]
* Fixed reading IPAC tables for long column type on some
platforms, e.g., Windows. [#16005]
### astropy.io.fits
* Avoid WinError 1455 in opening some large files with memory
mapping on windows. [#15388]
* Fix TDISP parsing for floating numbers. [#16007]
* Fix a crash when calling FITS writeto methods with stdout as
the output stream. [#16008]
* Fix TDISP parsing for floating numbers in formats ES / EN.
[#16015]
* Fix conversion of Table to BinTableHDU with
character_as_bytes=True. [#16358]
* Improved error message when instantiating a fits table with an
ill-formed array. [#16363]
### astropy.io.misc
* Reading an empty table stored in parquet format now creates an
empty table instead of raising an unexpected error. [#16237]
### astropy.io.votable
* When reading a VOTable, if some user-requested columns were not
present then the resulting error message previously listed all
the requested column names. Now only columns that are actually
missing are shown. [#15956]
### astropy.stats
* Fix a spurious warning when calling sigma_clipped_stats on a
MaskedColumn. [#15844]
### astropy.table
* Fix a Table bug when setting items (via slice or index list) in
a bytes type MaskedColumn would cause the column mask to be set
to all False. A common way to trigger this bug was reading a
FITS file with masked string data and then sorting the table.
[#15669]
* Fix slicing logic for Row. Previously, slicing a
astropy.table.row.Row object would incorrectly return a column,
now it correctly returns a list of values from that row.
[#15733]
* Fix a ValueError raised by table.join when fed with large
tables. This would typically happen in situations when the
result joined table would be too large to fit in memory. In
those situations, the error message is now much more clearly
about the necessary memory size. [#15734]
* Fix an unintended exception being raised when attempting to
compare two unequal Table instances. [#15845]
* Ensure that if a Column is initialized with a Quantity it will
use by default a possible name defined on the quantity’s .info.
[#15848]
* Fix a bug where columns with dtype=object wouldn’t be properly
deep-copied using copy.deepcopy. [#15871]
* Fix hasattr(Table, "iloc") raising an exception, preventing use
of tables e.g. with scikit-learn. [#15913]
* Calling Table.group_by on an empty table no longer raises an
exception. [#16093]
* The unit conversion convert_unit_to with MaskedColumn was
broken as it was storing the old unit in a dictionary attached
to underlying np.ma.MaskedArray. This fixes it by overwriting
the old unit after unit conversion. [#16118]
* astropy.table.vstack will no longer modify the input list even
when it contains non-Table objects like astropy.table.Row.
[#16130]
* Update old dataTables.js version. This should not affect the
end user. [#16315]
### astropy.time
* Fix comparing NaN Quantity with TimeDelta object. [#15830]
* Scalar Time instances are now hashable if they are not masked,
also if one uses Masked internally, matching the behaviour
prior to astropy 6.0 (and the current behaviour when masking
using np.ma.MaskedArray). [#16224]
### astropy.units
* Fix rare signature incompatibilities between helper and helped
array functions. Most involve cases where the corresponding
numpy function has had its arguments renamed between numpy
versions. Since all those generally changed the first
arguments, which are typically passed as positional arguments,
this should not affect user code. Affected functions: -
numpy.array_str - numpy.choose - numpy.convolve -
numpy.correlate - numpy.histogram - numpy.histogramdd -
numpy.histogram2d - numpy.isin - numpy.inner - numpy.nanmedian
- numpy.unique - numpy.matrix_rank - numpy.unwrap - numpy.vdot
- numpy.lib.recfunctions.unstructured_to_structured [#15710]
* Fix an issue with unicode string representations of units shown
as superscripts (like degree) when raised to some power. Like
for LaTeX representations, now the superscript unicode
character is replaced by the literal short name before adding
the power. [#15755]
* Fix a missing Sun unit in the list of VOUnits simple_units.
[#15832]
* Fix an unhelpful TypeError when attempting truediv, lshift (<<)
or mul (*) or truediv (/) with a Unit for right operand and a
numpy array with non-numerical dtype for left operand. [#15883]
* Fix write/read roundtrips with empty Table dumped to ECSV.
[#15885]
* Fix a bug where LaTeX formatter would return empty strings for
unity (1) input. [#15923]
* Fix extraneous space in LaTeX repr for Quantity objects with
superscript units (e.g. angles or temperatures in degree
Celsius). [#16043]
* Ensure powers of units are consistently as simple as possible.
So, an integer if possible, otherwise a float, or a fraction if
the float is really close to that. This also ensures the hash
of a unit is unique for any given unit (previously, the same
power could be represented as float, int or fraction, which
made the hash different). [#16058]
* Ensure that find_equivalent_units only returns actual units,
not units that raised to some power match the requested one.
With this fix, (u.m**-3).find_equivalent_units() properly finds
nothing, rather than all units of length. [#16127]
* Using a dimensionless Quantity as an exponent works anew. In
astropy 6.0.1 an exception was erroneously raised. [#16261]
### astropy.utils
* Fix rare signature incompatibilities between helper and helped
array functions. These typically cover corner cases and should
not affect user code. Some arguments weren’t being re-exposed
correctly or at all, depending on numpy’s version. Affected
functions: - numpy.broadcast_arrays - numpy.median -
numpy.quantile - numpy.empty_like - numpy.ones_like -
numpy.zeros_like - numpy.full_like [#16025]
* Fix a bug where astropy.utils.console.Spinner would leak
newlines for messages longer than terminal width. [#16040]
* Update report_diff_values so the diff no longer depends on the
console terminal size. [#16065]
* Fix support in Masked for generalized ufuncs with more than a
single core dimension (such as erfa.rxp). [#16120]
* Masked array instances now deal more properly with structured
dtypes, combining field masks to get element masks for
generalized ufuncs, and allowing .view() any time the mask can
be viewed as well. This allows a larger number of erfa routines
to work with masked data. [#16125]
### astropy.visualization
* WCSAxes will correctly set certain defaults when
wcs.world_axis_physical_types contains custom: prefixes.
[#15626]
* Fix an edge case where quantity_support would produce duplicate
tick labels for small data ranges. [#15841]
* Fix a bug where AngleFormatterLocator and
ScalarFormatterLocator wouldn’t respect matplotlib.rc’s
axes.unicode_minus parameter. [#15902]
* Fixed a bug in CoordinateHelper.grid method to properly handle
draw_grid=False and draw_grid=None, ensuring grid lines are
controlled correctly even when not explicitly called. [#15985]
### astropy.wcs
* Updated bundled WCSLIB version to 8.2.2. This update fixes
character buffer overflows in the comment string for the
longitude and latitude axes triggered by some projections in
wcshdo(), and also the formatting for generic coordinate
systems. For a full list of changes - see
http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or
astropy/cextern/wcslib/CHANGES [#15795]
* Fixed a bug in fit_wcs_from_points that does not set the
default value of the cdelt of the returned WCS object. [#16027]
* Fixed a bug in DistortionLookupTable (which implements cpdis
and det2im projection corrections to a WCS) in which image
pixels received an incorrect distortion value, from a location
in the lookup table incorrectly offset by about 1 table pixel.
[#16163]
## Other Changes and Additions
* Update minimum supported Python version to 3.10 [#15603]
* The minimum required NumPy version is now 1.23 and the minimum
required SciPy version is 1.8. [#15706]
* Fix loading parser tabs on pyc-only installations.
* Fix a bug in the wrappers for the lex and yacc wrappers that
are used for parsing Astropy units so that they work on
pyc-only installations.
* According to the Python module loading flow chart, when
evaluating import foo and foo.py is not found, Python then
reads foo.pyc.
* One can take advantage of this fact to strip source files and
leave only Python bytecode files for deployment
inspace-constrained execution environments such as AWS Lambda.
Astropy is now compatible with pyc-only deployments. [#16159]
* Change the default value of copy arguments in public APIs from
False to None if Numpy 2.0 or newer is installed. For details,
see the “Copy semantics” section on the What’s New page for
Astropy 6.1 . [#16181]
OBS-URL: https://build.opensuse.org/request/show/1171972
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=118
- Update to 6.0.1
## Bug Fixes
### astropy.coordinates
* Previously passing a SkyCoord instance to the
BaseCoordinateFrame separation() or separation_3d() methods
could produce wrong results, depending on what additional frame
attributes were defined on the SkyCoord, but now SkyCoord input
can be used safely. [#15659]
* Distance now accepts as parallax any angle-like value. This
includes types like Column which have a unit but are not
Quantity subclasses. [#15712]
* The new default for the class method SkyCoord.from_name() is to
look for coordinates first in SIMBAD, then in NED, and then in
VizieR, instead of having no specific order. [#16046]
### astropy.io.ascii
* Reading of CDS header files with multi-line descriptions where
the continued line started with a number was broken. This is
now fixed. [#15617]
* Ensure that the names of mixin columns are properly propagated
as labels for the MRT format. [#15848]
* Fixed reading IPAC tables for long column type on some
platforms, e.g., Windows. [#15992]
### astropy.io.fits
* Fix TDISP parsing for floating numbers. [#16007]
* Fix a crash when calling FITS writeto methods with stdout as
the output stream. [#16008]
* Fix TDISP parsing for floating numbers in formats ES / EN.
[#16015]
### astropy.stats
* Fix a spurious warning when calling sigma_clipped_stats on a
OBS-URL: https://build.opensuse.org/request/show/1163558
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=51
## Bug Fixes
### astropy.coordinates
* Previously passing a SkyCoord instance to the
BaseCoordinateFrame separation() or separation_3d() methods
could produce wrong results, depending on what additional frame
attributes were defined on the SkyCoord, but now SkyCoord input
can be used safely. [#15659]
* Distance now accepts as parallax any angle-like value. This
includes types like Column which have a unit but are not
Quantity subclasses. [#15712]
* The new default for the class method SkyCoord.from_name() is to
look for coordinates first in SIMBAD, then in NED, and then in
VizieR, instead of having no specific order. [#16046]
### astropy.io.ascii
* Reading of CDS header files with multi-line descriptions where
the continued line started with a number was broken. This is
now fixed. [#15617]
* Ensure that the names of mixin columns are properly propagated
as labels for the MRT format. [#15848]
* Fixed reading IPAC tables for long column type on some
platforms, e.g., Windows. [#15992]
### astropy.io.fits
* Fix TDISP parsing for floating numbers. [#16007]
* Fix a crash when calling FITS writeto methods with stdout as
the output stream. [#16008]
* Fix TDISP parsing for floating numbers in formats ES / EN.
[#16015]
### astropy.stats
* Fix a spurious warning when calling sigma_clipped_stats on a
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=116
- Update to 6.0.0
## New Features
### astropy.config
* The new ConfigNamespace.help() method provides a convenient way
to get information about configuration items. [#13499]
### astropy.coordinates
* Support has been added to create geodetic representations not
just for existing ellipsoids from ERFA, but also with
explicitly provided values, by defining a subclass of
BaseGeodeticRepresentation with the equatorial radius and
flattening assigned to _equatorial_radius and _flattening
attributes. [#14763]
* Add BaseBodycentricRepresentation, a new spheroidal
representation for bodycentric latitudes and longitudes.
[#14851]
* Support Numpy broadcasting over frame data and attributes.
[#15121]
### astropy.cosmology
* Registered a latex writer for exporting a Cosmology object to a
LaTex table. [#14701]
* Added argument rename to Cosmology’s I/O, allowing for input
and output symbols to be renamed. [#14780]
* All non-abstract Cosmology subclasses are now automatically
registered to work with Astropy’s YAML serialization. [#14979]
* Cosmology I/O now auto-identifies the ‘.tex’ suffix with the
‘ascii.latex’ format. [#15088]
* The Cosmology class now has a new property to access the
parameters of the cosmology: .parameters. This property return
a read-only dictionary of all the non-derived parameter values
on the cosmology object. When accessed from the class (not an
instance) the dictionary contains Parameter instances, not the
values. [#15168]
* The field default has been added to Parameter. This can be used
to introspect the default value of a parameter on a cosmology
class e.g. LambdaCDM.H0.default. [#15400]
### astropy.io.fits
* Add new option decompress_in_memory to fits.open, to decompress
the whole file in memory at once, instead of decompressing the
file progressively as data is needed. Default behavior is
better for memory usage but sometimes slow, especially for
files with many small HDUs. [#15501]
### astropy.io.votable
* Add support for Parquet serialization of VOTables. Writing of
this serialization is available with using the new
'votable.parquet' format. [#15281]
* Added MIVOT feature through the MivotBlock class that allows
model annotations reading and writing in VOTable. [#15390]
### astropy.modeling
* Added a GeneralSersic2D model that can have “boxy” or “disky”
isophotes. [#15545]
### astropy.nddata
* A more flexible and/or compact string representation is now
available for NDData objects which visually indicates masked
entries, and provides for better for dask array support.
[#14438]
### astropy.table
* The new Row.get() method, analogous to dict.get(), returns the
value of the specified column from the row if the column
present, otherwise it returns a fallback value, which by
default is None. [#14878]
### astropy.time
* Masked Time instances now use astropy’s own Masked class
internally. This means that Masked input is now properly
recognized, and that masks get propagated also to Quantity
output (such as from a TimeDelta converted to a unit of time),
creating MaskedQuantity instances. [#15231]
* Added a TimeDelta format quantity_str that represents the time
delta as a string with one or more Quantity components. This
format provides a human-readable multi-scale string
representation of a time delta. The default output sub-format
is not considered stable in this release, please see
astropy/astropy#15485 for more information. [#15264]
### astropy.uncertainty
* Uncertainty Distribution now support structured data types, and
as a result it now works also with EarthLocation. [#15304]
* Uncertainty Distribution can now be used inside
representations, which also allows basic support in SkyCoord.
While most calculations work, there are remaining issues. For
instance, the repr does not show that the coordinates are
distributions. [#15395]
### astropy.units
* Add support for gc2gde and gd2gce erfa functions to allow
geodetic representations using equatorial radius and
flattening. [#14729]
### astropy.utils
* The astropy.utils.metadata.MetaData default dictionary can now
be set with the default_factory keyword argument. [#15265]
* astropy.utils.decorators.deprecated now adds the __deprecated__
attribute to the objects it wraps, following the practice in
https://peps.python.org/pep-0702/. [#15310]
### astropy.visualization
* Add WCSAxes.text_coord method to print text using SkyCoord
objects parallel to plotting data points with
WCSAxes.plot_coord. [#14661]
### astropy.wcs
* Support WCS descriptions of basic planetary coordinate frames.
[#14820]
* Updated bundled WCSLIB version to 8.1. This update adds support
planetary keywords A_RADIUS, B_RADIUS, C_RADIUS, BLON_OBS,
BLAT_OBS, and BDIS_OBS in auxprm and adds wcsprm::time to the
wcsprm struct to record the TIME axis. This update also
includes several bug fixes. For a full list of changes - see
http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES [#15035]
## API Changes
### astropy.config
* Removed deprecated ConfigurationMissingWarning class and
update_default_config function; There are no replacements as
they should no be used anymore. [#15466]
### astropy.convolution
* Invalid kernel arithmetic operations now raise a
KernelArithmeticError instead of a bare Exception. [#14728]
* Added base KernelError error class and removed
DiscretizationError error class (a ValueError will be raised
instead). [#14732]
* discretize_model will now raise a ValueError if
mode='oversample' and factor does not have an integer value.
[#14794]
### astropy.coordinates
* Removed deprecated angle parsing and formatting utilities from
angle_utilities. Use the functions from angle_formats instead.
[#14675]
* The deprecated functionality of initializing Angle or Longitude
from a tuple is no longer supported. [#15205]
* Angle-related classes and functions have been moved within
astropy.coordinates. There is no change to public API as
everything moved should still be imported from
astropy.coordinates, not a sub-module. If you are using private
API, try importing from astropy.coordinates instead. If you
need something that has been moved and is not available in
astropy.coordinates, please open an issue on the Astropy issue
tracker. [#15220]
* It is no longer possible to pass frame classes to the
transform_to() method of a low-level coordinate-frame class. It
is still possible to pass frame instances. The transform_to()
method of the high-level SkyCoord class is unaffected. [#15500]
### astropy.cosmology
* Removed support of importing private constants and functions
from astropy.cosmology.flrw. [#14672]
* Removed deprecated Cosmology Parameter argument fmt. [#14673]
* Removed deprecated vectorize_if_needed and inf_like from
cosmology.utils. [#14677]
* Removed deprecated import paths from astropy.cosmology.core.
[#14782]
* Cosmology Parameter is now a dataclass, and can work with all
of Python’s dataclasses machinery, like field introspection and
type conversion. [#14874]
* A new property – scale_factor0 – has been added to Cosmology
objects. This is the scale factor at redshift 0, and is defined
to be 1.0. [#14931]
* Added registration label ascii.latex to Cosmology IO. [#14938]
* The private module astropy.cosmology.utils has been deprecated.
[#14980]
* Removed deprecated get_cosmology_from_string class method in
default_cosmology; use get instead. [#15467]
### astropy.io.ascii
* Several arguments in functions within astropy.io.ascii have
been deprecated and are either renamed or scheduled to be
removed.
* read(): - Reader will be removed. Instead supply the equivalent
format argument. - Inputter has been renamed to inputter_cls. -
Outputter has been renamed to outputter_cls.
* get_reader(): - Reader has been renamed to reader_cls. -
Inputter has been renamed to inputter_cls. - Outputter has been
renamed to outputter_cls.
* write(): - Writer will be removed. Instead supply the
equivalent format argument.
* get_writer(): - Writer has been renamed to writer_cls. [#14914]
* Removed deprecated astropy.io.ascii.tests.common.raises test
helper; use pytest.raises instead. [#15470]
### astropy.io.fits
* Deprecate _ExtensionHDU and _NonstandardExtHDU (use
ExtensionHDU or NonstandardExtHDU instead). [#15396]
* Remove special handling of TCTYP TCUNI TCRPX TCRVL TCDLT TRPOS
(#7157). [#15396]
* Rename and deprecate TableHDU.update to TableHDU.update_header,
for consistency with ImageHDU. [#15396]
### astropy.io.misc
* Removed deprecated astropy.io.misc.asdf subpackage. Use
asdf-astropy package instead. [#14668]
* fnunpickle and fnpickle are deprecated because they are not
used anywhere within astropy. If you must, use the module from
Python standard library but be advised that pickle is insecure
so you should only unpickle data that you trust. [#15418]
### astropy.io.votable
* Removed deprecated pedantic option from the
astropy.io.votable.table.parse() function and the corresponding
configuration setting. Use the verify option instead. [#14669]
* Class astropy.io.votable.tree.Table has been renamed to
TableElement to avoid sharing the name with
astropy.table.Table. [#15372]
* Fully removed support for version = ‘1.0’ on
VOTableFile__init__() and changed its tests to check correctly.
It was raising a DeprecationWarning and now is raising a
ValueError. [#15490]
### astropy.modeling
* Removed the AliasDict class from modeling.utils. [#12943]
* Creating a model instance with parameters that have
incompatible shapes will now raise a ValueError rather than an
IncompatibleShapeError. [#15209]
* Removal of deprecated code _model_to_fit_params and
_fitter_to_model_params from fitting.py. [#15461]
### astropy.stats
* The BoxLeastSquares, BoxLeastSquaresResults and LombScargle
classes are not available from astropy.stats anymore, they are
now available only from astropy.timeseries. [#15530]
### astropy.tests
* Removed deprecated deprecation, warning, and exception handling
functionality provided by astropy.tests.helper. [#14670]
* astropy.tests.command.FixRemoteDataOption and
astropy.tests.command.AstropyTest are deprecated. They are no
longer necessary after sunsetting astropy-helpers. [#15204]
### astropy.time
* Time has switched to use Masked arrays internally, instead of
indicating masked values using NaN in the internal jd2
attribute. As a result, any output from instances, such as one
gets with, say, the .isot format, will also use Masked by
default.
* For backwards compatibility, a new configuration item,
astropy.time.conf.masked_array_type is introduced which is set
to “astropy” by default (which indicates one wants to use
Masked), but can also be set to “numpy”, in which case
numpy.ma.MaskedArray will be used where possible (essentially,
for all but Quantity). [#15231]
* Changed the TimeDelta init signature to be consistent with that
of Time. Previously the argument order was val, val2, format,
scale, copy. Now the order is val, val2, format, scale, *,
precision, in_subfmt, out_subfmt, copy, where the arguments
after the * must be specified by keyword. [#15264]
### astropy.timeseries
* Removed deprecated midpoint_epoch in fold function; use
epoch_time instead. [#15462]
### astropy.uncertainty
* The .dtype attribute exposed by Distribution is now that of the
samples, rather than one that has a “samples” entry. This makes
quantities with structured data types and units easier to
support, and generally makes the Distribution appear more
similar to regular arrays. It should have little effect on
code. For instance, distribution["samples"] still will return
the actual distribution.
* As a consequence of this refactoring, most arrays that are not
C-contiguous can now be viewed and will thus not be copied on
input any more. The only exceptions are arrays for which the
strides are negative.
* Note that the true data type is considered an implementation
detail. But for reference, it now is a structured data type
with a single field, “samples”, which itself is an array of
“sample” fields, which contain the actual data. [#15304]
### astropy.units
* Like np.ndarray, under numpy 2.0 Quantity and all its
subclasses (Angle, Masked, etc.) will no longer support the
.ptp() method. Use np.ptp(...) instead.
* Similarly, support for the much less frequently used
.newbyteorder() and .itemset() methods has been removed.
[#15378]
* The following deprecated functionality has been removed:
- littleh unit and with_H0 equivalency. They are still
available from cosmology.units.
- brightness_temperature equivalency no longer automatically
swaps the order of its arguments if it does not match the
expectation.
- PhysicalType no longer supports str methods and attributes.
[#15514]
### astropy.utils
* Removed deprecated OrderedDescriptor,
OrderedDescriptorContainer, and set_locale in
astropy.utils.misc. [#14679]
* is_path_hidden() and walk_skip_hidden() are deprecated.
[#14759]
* The structure of utils.metadata has been refactored, but all
the available functions and classes are still present and
should be imported as before. [#15166]
* The astropy.utils.metadata.MetaData class, which is used
throughout astropy to carry metadata on tables, columns, etc.,
can now also be used on dataclasses.
* When accessing the meta attribute on a class
astropy.utils.metadata.MetaData now returns None instead of
itself. [#15237]
* The astropy.utils.metadata.MetaData class, which is used
throughout astropy to carry metadata on tables, columns, etc.,
can now also be used on frozen dataclasses. [#15404]
* Removed deprecated version_path in minversion function; it is
no longer used. [#15468]
### astropy.visualization
* The bboxes, ticklabels_bbox, and tick_out_size arguments to
astropy.visualization.wcaxes.ticklabels.TickLabels.draw() now
have no effect and are deprecated. This is to allow rasterized
ticks to be drawn correctly on WCSAxes. [#14760]
* It is now not possible to pass any keyword arguments to
astropy.visualization.wcsaxes.WCSAxes.draw(). Previously
passing any keyword arguments would have errored anyway, as
matplotlib.axes.Axes.draw() does not accept keyword arguments.
[#14772]
* Deprecated the exp attribute in the LogStretch,
InvertedLogStretch, PowerDistStretch, and
InvertedPowerDistStretch stretch classes, and the power
attribute in the PowerStretch. Instead, use the a attribute,
which matches the input keyword. [#15538]
* Removed the maximum value of the a parameter in the
AsinhStretch and SinhStretch stretch classes. [#15539]
### astropy.wcs
* Removed deprecated accuracy from all_world2pix method in WCS;
use tolerance instead. [#15464]
* NoConvergence no longer accepts arbitrary keyword arguments.
[#15504]
## Bug Fixes
### astropy.coordinates
* Fixed minor bug when getting solar system positions of objects
from Type 3 SPICE kernel files. [#15612]
### astropy.cosmology
* The exponent in w0wzCDM.de_density_scale has been corrected to
3, from -3. This correction has also been made to the scalar
inv_efunc cpython functions. [#14991]
* pandas.Series are now uniformly converted to their underlying
data type when given as an argument to a Cosmology method.
[#15600]
### astropy.io.fits
* Reading a table from FITS now respects the TNULL property of a
column, passing it into the column’s fill_value. [#14723]
* Fix crash when a PrimaryHDU has a GROUPS keyword with a
non-boolean value (i.e. not a random-groups HDU). [#14998]
* Fixed a bug that caused Cutout2D to not work correctly with
CompImageHDU.section [#14999]
* Fixed a bug that caused compressed images with TFORM missing
the optional ‘1’ prefix to not be readable. [#15001]
* Ensure that tables written to FITS with both masked and
unmasked columns roundtrip properly (previously, all integer
columns would become masked if any column was masked). [#15473]
* Fix segfault with error report in tile decompression. [#15489]
### astropy.io.votable
* Output of repr for VOTable instance now clearly shows it is a
VOTable and not generic astropy Table. [#14702]
### astropy.modeling
* All models can be pickled now. [#14902]
### astropy.nddata
* Restore bitmask propagation behavior in NDData.mask, plus a fix
for arithmetic between masked and unmasked NDData objects.
[#14995]
### astropy.table
* Table.as_array now respects the fill_value property of masked
columns. [#14723]
* Fix a bug where table indexes were not using a stable sort
order. This was causing the order of rows within groups to not
match the original table order when an indexed table was
grouped. [#14907]
* Fixed issue #14964 that when grouping a Table on a mixin column
such as Quantity or Time, the grouped table keys did not
reflect the original column values. For Quantity this meant
that the key values were pure float values without the unit,
while for Time the key values were the pair of jd1 and jd2
float values. [#14966]
### astropy.time
* Ensure that the Time caches of formats and scales do not get
out of sync with the actual data, even if another instance,
holding a view of the data is written to. E.g., if one does t01
= t[:2], and sets t[0] after, it is now guaranteed that
t01.value will correctly reflect that change in value. [#15453]
### astropy.units
* In VOunits, “pix”, “au”, “a”, and “ct” are removed from the
list of deprecated units. [#14885]
### astropy.utils
* Ufuncs with more than 2 operands (such as erfa.dtf2d) now work
also if all inputs are scalars and more than two inputs have
masks. [#15450]
* Ensured that str(masked_array) looks like str(unmasked_array)
also for array scalars. Thus, like regular array scalars, the
precision is ignored for float, and strings do not include
extra quoting. [#15451]
### astropy.visualization
* The location of ticklabels on a WCSAxes is now correctly
calculated when the figure is rasterized. [#14760]
* Fixed a bug where a ValueError would be raised in the
AsinhStretch and SinhStretch classes for valid a parameter
values. [#15539]
### astropy.wcs
* wcs.validate(filename) now properly closes the file handler.
[#15054]
* Fix a regression in custom WCS mapping due to the recent
introduction of Solar System frames. [#15630]
## Other Changes and Additions
* The minimum supported version of NumPy is now 1.22. [#15006]
* Moved International Earth Rotation and Reference Systems (IERS)
and Leap Second files out into standalone astropy-iers-data
package, maintaining full backward-compatibility in the
astropy.utils.iers API. Deprecation warnings may be issued when
certain files are accessed directly. [#14819]
* Switch from using setup.cfg for project configuration to using
pyproject.toml. [#15247]
* Update bundled expat to 2.5.0. [#15585]
- Drop astropy-pr15479-pvstar.patch
OBS-URL: https://build.opensuse.org/request/show/1132348
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=48
- Update to 6.0.0
## New Features
### astropy.config
* The new ConfigNamespace.help() method provides a convenient way
to get information about configuration items. [#13499]
### astropy.coordinates
* Support has been added to create geodetic representations not
just for existing ellipsoids from ERFA, but also with
explicitly provided values, by defining a subclass of
BaseGeodeticRepresentation with the equatorial radius and
flattening assigned to _equatorial_radius and _flattening
attributes. [#14763]
* Add BaseBodycentricRepresentation, a new spheroidal
representation for bodycentric latitudes and longitudes.
[#14851]
* Support Numpy broadcasting over frame data and attributes.
[#15121]
### astropy.cosmology
* Registered a latex writer for exporting a Cosmology object to a
LaTex table. [#14701]
* Added argument rename to Cosmology’s I/O, allowing for input
and output symbols to be renamed. [#14780]
* All non-abstract Cosmology subclasses are now automatically
registered to work with Astropy’s YAML serialization. [#14979]
* Cosmology I/O now auto-identifies the ‘.tex’ suffix with the
‘ascii.latex’ format. [#15088]
* The Cosmology class now has a new property to access the
parameters of the cosmology: .parameters. This property return
a read-only dictionary of all the non-derived parameter values
on the cosmology object. When accessed from the class (not an
OBS-URL: https://build.opensuse.org/request/show/1132272
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=108
- Update to 5.3.4
## Bug Fixes
### astropy.io.misc
* Updated ``astropy.io.misc.yaml`` so ``dump()` with a numpy
object array or ``load()`` with YAML representing a Numpy
object array both raise ``TypeError``. This prevents problems
like a segmentation fault. [#15373]
### astropy.io.votable
* Fixed a bug in ``convert_to_writable_filelike`` where
``GzipFile`` was not closed properly. [#15359]
### astropy.units
* In VOUnit, the spaces around the slash were removed in the
formatting of fractions, and fractional powers now also use the
"**" operator. [#15282]
* We now ensure that the unit ``u.cgs.cm`` is just an alias of
``u.si.cm``, instead of a redefinition. This ensures that
``u.Unit("cm") / u.cm`` will reliably cancel to dimensionless
(instead of some "cm / cm"). [#15368]
### astropy.utils
* For ``Masked``, ``np.ptp`` and the ``.ptp()`` method now
properly account for the mask, ensuring the result is identical
to subtracting the maximum and minimum (with the same
arguments). [#15380]
## Other Changes and Additions
* Compatibility with Python 3.12. [#14784]
* Replaced the URL of ``IETF_LEAP_SECOND_URL`` because the
original is now defunct and IETF now defers to IANA for such
look-up. [#15421]
OBS-URL: https://build.opensuse.org/request/show/1115987
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=46
## Bug Fixes
### astropy.io.misc
* Updated ``astropy.io.misc.yaml`` so ``dump()` with a numpy
object array or ``load()`` with YAML representing a Numpy
object array both raise ``TypeError``. This prevents problems
like a segmentation fault. [#15373]
### astropy.io.votable
* Fixed a bug in ``convert_to_writable_filelike`` where
``GzipFile`` was not closed properly. [#15359]
### astropy.units
* In VOUnit, the spaces around the slash were removed in the
formatting of fractions, and fractional powers now also use the
"**" operator. [#15282]
* We now ensure that the unit ``u.cgs.cm`` is just an alias of
``u.si.cm``, instead of a redefinition. This ensures that
``u.Unit("cm") / u.cm`` will reliably cancel to dimensionless
(instead of some "cm / cm"). [#15368]
### astropy.utils
* For ``Masked``, ``np.ptp`` and the ``.ptp()`` method now
properly account for the mask, ensuring the result is identical
to subtracting the maximum and minimum (with the same
arguments). [#15380]
## Other Changes and Additions
* Compatibility with Python 3.12. [#14784]
* Replaced the URL of ``IETF_LEAP_SECOND_URL`` because the
original is now defunct and IETF now defers to IANA for such
look-up. [#15421]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=104
- Update to 5.3.3
## Bug Fixes
### astropy.coordinates
* TransformGraph.to_dot_graph() now throws an exception for
invalid savelayout.
### astropy.cosmology
* The exponent of w0wzCDM functions in inv_efunc has been
corrected to 3, from -3. [#15224]
### astropy.modeling
* Astropy modeling can filter non-finite data values using the
filter_non_finite keyword argument in a fitter call. Now when
filter_non_finite is True, non-finite weights will also be
filtered to prevent crashes in LevMarLSQFitter. [#15215]
### astropy.units
* Fixed astropy.units.Quantity’s implementation of
numpy.nanmedian(), where for Numpy >= 1.25 an exception was
raised for some array shapes and axis combinations. [#15228]
## Other Changes and Additions
* v5.3.x will not support NumPy 2.0 or later. [#15234]
- Restrain to Cython < 3 -- gh#astropy/astropy#15315
OBS-URL: https://build.opensuse.org/request/show/1111062
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=45
## Bug Fixes
### astropy.coordinates
* TransformGraph.to_dot_graph() now throws an exception for
invalid savelayout.
### astropy.cosmology
* The exponent of w0wzCDM functions in inv_efunc has been
corrected to 3, from -3. [#15224]
### astropy.modeling
* Astropy modeling can filter non-finite data values using the
filter_non_finite keyword argument in a fitter call. Now when
filter_non_finite is True, non-finite weights will also be
filtered to prevent crashes in LevMarLSQFitter. [#15215]
### astropy.units
* Fixed astropy.units.Quantity’s implementation of
numpy.nanmedian(), where for Numpy >= 1.25 an exception was
raised for some array shapes and axis combinations. [#15228]
## Other Changes and Additions
* v5.3.x will not support NumPy 2.0 or later. [#15234]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=100
* The exponent in ``wowzCDM.de_density_scale`` has been
corrected to 3, from -3.
* Fix crash when a PrimaryHDU has a GROUPS keyword with a non-
boolean value (i.e. not a random-groups HDU).
* Fixed a bug that caused ``Cutout2D`` to not work correctly
with ``CompImageHDU.section``
* Fixed a bug that caused compressed images with TFORM missing
the optional '1' prefix to not be readable. [#15001]
* Restore bitmask propagation behavior in ``NDData.mask``, plus
a fix for arithmetic between masked and unmasked ``NDData``
objects.
* Fix a bug where table indexes were not using a stable sort
order. This was causing the order of rows within groups to
not match the original table order when an indexed table
was grouped. [#14907]
* In VOunits, "pix", "au", "a", and "ct" are removed from the
list of deprecated units. [#14885]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=96
- Update to 5.3
* New flat astropy.cosmology classes
* New union operators for Table
* Efficient data access for compressed FITS files
* Added support for NOCOMPRESS for compressed FITS files
* New fraction option for representing units as strings
* Change in order in unit string representations
* Support for collapse operations on arbitrary axes in nddata
* Refresh cached observatory site registry for EarthLocation
methods
* Support for collapse operations on arbitrary axes in nddata
* New LombScargleMultiband class for multiband datasets
- Remove unbundling of cfitsio -- gh#astropy/astropy#14311
OBS-URL: https://build.opensuse.org/request/show/1096299
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=42
* New flat astropy.cosmology classes
* New union operators for Table
* Efficient data access for compressed FITS files
* Added support for NOCOMPRESS for compressed FITS files
* New fraction option for representing units as strings
* Change in order in unit string representations
* Support for collapse operations on arbitrary axes in nddata
* Refresh cached observatory site registry for EarthLocation
methods
* Support for collapse operations on arbitrary axes in nddata
* New LombScargleMultiband class for multiband datasets
- Remove unbundling of cfitsio -- gh#astropy/astropy#14311
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=94
- Update to 5.2.2
## Bug Fixes
### astropy.io.ascii
* CDS and MRT tables with units that contain with multiple
divisions, such as km/s/Mpc now parse correctly as being equal
to km/(s.Mpc). [#14369]
### astropy.io.fits
* Fix FITSDiff when table contains a VLA column with the Q type.
[#14539]
### astropy.table
* Fix a bug when creating a QTable when a Quantity input column
is present and the units argument modifies the unit of that
column. This now works as expected where previously this caused
an exception. [#14357]
### astropy.units
* CDS units with multiple divisions, such as km/s/Mpc now parse
correctly as being equal to km/(s.Mpc). [#14369]
### astropy.wcs
* Fixed a bug that caused subclasses of BaseHighLevelWCS and
HighLevelWCSMixin to not work correctly under certain
conditions if they did not have world_n_dim and pixel_n_dim
defined on them. [#14495]
OBS-URL: https://build.opensuse.org/request/show/1082978
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=92
- Update to 5.2.1
## Bug Fixes
### astropy.coordinates
* Fix to ITRS frame earth_location attribute to give the correct
result for a topocentric frame. [#14180]
### astropy.cosmology
* Bounds are no longer passed to the scipy minimizer for methods
Brent and Golden. The scipy minimizer never used the bounds but
silently accepted them. In scipy v1.11.0.dev0+ an error is
raised, so we now pass None as the bounds to the minimizer.
Users should not be affected by this change. [#14232]
### astropy.io.fits
* Tables with multidimensional variable length array can now be
properly read and written. [#13417]
### astropy.units
* Modified the behavior of numpy.histogram(),
numpy.histogram_bin_edges(), numpy.histogram2d(), and
numpy.histogramdd() so that the range argument must a
compatible instance of astropy.units.Quantity if the other
arguments are instances of astropy.units.Quantity. [#14213]
### astropy.visualization
* Improved the performance of drawing WCSAxes grids by skipping
some unnecessary computations. [#14164]
* Fixed WCSAxes sometimes triggering a NumPy RuntimeWarning when
determining the coordinate range of the axes. [#14211]
## Other Changes and Additions
* Fix compatibility with Numpy 1.24. [#14193]
- Drop astropy-pr14194-numpy1.24.patch (forwarded request 1058279 from bnavigator)
OBS-URL: https://build.opensuse.org/request/show/1058280
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=39
- Update to 5.2.1
## Bug Fixes
### astropy.coordinates
* Fix to ITRS frame earth_location attribute to give the correct
result for a topocentric frame. [#14180]
### astropy.cosmology
* Bounds are no longer passed to the scipy minimizer for methods
Brent and Golden. The scipy minimizer never used the bounds but
silently accepted them. In scipy v1.11.0.dev0+ an error is
raised, so we now pass None as the bounds to the minimizer.
Users should not be affected by this change. [#14232]
### astropy.io.fits
* Tables with multidimensional variable length array can now be
properly read and written. [#13417]
### astropy.units
* Modified the behavior of numpy.histogram(),
numpy.histogram_bin_edges(), numpy.histogram2d(), and
numpy.histogramdd() so that the range argument must a
compatible instance of astropy.units.Quantity if the other
arguments are instances of astropy.units.Quantity. [#14213]
### astropy.visualization
* Improved the performance of drawing WCSAxes grids by skipping
some unnecessary computations. [#14164]
* Fixed WCSAxes sometimes triggering a NumPy RuntimeWarning when
determining the coordinate range of the axes. [#14211]
## Other Changes and Additions
* Fix compatibility with Numpy 1.24. [#14193]
- Drop astropy-pr14194-numpy1.24.patch
OBS-URL: https://build.opensuse.org/request/show/1058279
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=88
- Update to 5.2
* Astropy 5.2 is a major release that adds significant new
functionality since the 5.1 release.
* In particular, this release includes:
* Quantity data types
* Updates to astropy.cosmology
* Topocentric ITRS Frame
* Enhanced Fixed Width ASCII Tables
* Accessing cloud-hosted FITS files
* Drawing the instrument beam and a physical scale bar on
celestial images
* Interior ticks and tick labels
* Support for tilde-prefixed paths
* CCDData PSF Image representation
* In addition to these major changes, Astropy 5.2 includes a
large number of smaller improvements and bug fixes.
- Move to PEP517 build
- Revert rpmlintrc: the whitelist error category has been removed
from rpmlint
OBS-URL: https://build.opensuse.org/request/show/1044138
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=85
- Update to 5.1.1
# API Changes
## astropy.wcs
* The pixel argument to
astropy.visualization.wcsaxes.ticklabels.TickLabels.add no
longer does anything, is deprecated, and will be removed in a
future astropy version. It has been replaced by a new required
data argument, which should be used to specify the data
coordinates of the tick label being added.
* This changes has been made because it is (in general) not
possible to correctly calculate pixel coordinates before
Matplotlib is drawing a figure. [#12630]
# Bug Fixes
## astropy.coordinates
* Fixed a bug that prevented SkyOffsetFrame instances to be
pickled by adding a custom __reduce__ method to the class (see
issue #9249). [#13305]
* Fixed the check for invalid Latitude values for float32 values.
Latitude now accepts the float32 value of pi/2, which was
rejected before because a comparison was made using the
slightly smaller float64 representation. See issue #13708.
[#13745]
## astropy.io.ascii
* Fixed confusing chained exception messages of read() function
when it fails. [#13170]
* When writing out a :class:`~astropy.table.Table` to HTML
format, the formats keyword argument to the
:meth:`~astropy.table.Table.write` method will now be applied.
[#13453]
## astropy.io.fits
* heapsize is now checked for VLA tables. An error is thrown
whether P format is used but the heap size is bigger than what
can be indexed with a 32 bit signed int. [#13429]
* Fix parsing of ascii TFORM when precision is missing. [#13520]
* A compressed image HDU created from the header of a PRIMARY
HDU, now correctly updates 'XTENSION' and 'SIMPLE' keywords.
[#13557]
* Empty variable-length arrays are now properly handled when
pathological combinations of heapoffset and heapsize are
encountered. [#13621]
* PCOUNT and GCOUNT keywords are now removed from an uncompressed
Primary header, for compliancy with fitsverify behavior.
[#13753]
## astropy.modeling
* Bugfix for using MagUnit units on model parameters. [#13158]
* Fix bug in using non-linear fitters to fit 0-degree polynomials
using weights. [#13628]
## astropy.table
* Fix a problem where accessing one field of a structured column
returned a Column with the same info as the original column.
This resulted in unintuitive behavior in general and an
exception if the format for the column was set. [#13269]
* Tables with columns with structured data can now be properly
stacked and joined. [#13306]
* Update jQuery to 3.6.0, to pick up security fixes. [#13438]
* Fix a Python 3.11 compatibility issue. Ensure that when
removing a table column that the pprint_include_names or
pprint_exclude_names attributes get updated correctly. [#13639]
* When using add_columns with same indexes in indexes option or
without specifying the option, the order of the new columns
will now be kept. [#13783]
* Fix a bug when printing or getting the representation of a
multidimensional table column that has a zero dimension.
[#13838]
* Ensure that mixin columns and their info are not shared between
tables even when their underlying data is shared with
copy=False. [#13842]
## astropy.time
* Fix Time.insert() on times which have their out_subfmt set.
[#12732]
* Prevent Time() from being initialized with an invalid precision
leading to incorrect results when representing the time as a
string. [#13068]
* Fix a bug in Time where a date string like "2022-08-01.123" was
being parsed as an ISO-format time "2022-08-01 00:00:00.123".
The fractional part at the end of the string was being taken as
seconds. Now this raises an exception because the string is not
in ISO format. [#13731]
## astropy.units
* Significantly improved the performance of parsing composite
units with the FITS format, by ensuring the detailed_exception
argument is properly passed on and thus used. [#12699]
* Ensure that np.concatenate on quantities can take a dtype
argument (added in numpy 1.20). [#13323]
* Ensure that the units of any initial argument to reductions
such as np.add.reduce (which underlies np.sum) are properly
taken into account. [#13340]
## astropy.utils
* Ensure that np.concatenate on masked data can take a dtype
argument (added in numpy 1.20). [#13323]
* Fix error when suppressing download progress bar while using
non-default sys.stdout stream. [#13352]
* Ensure str and repr work properly for Masked versions of
structured subarrays. [#13404]
* If an attribute is created using deprecated_attribute() with
the alternative argument then getting or setting the value of
the deprecated attribute now accesses its replacement. [#13824]
## astropy.visualization
* Fixed calling .tight_layout() on a WCSAxes. [#12418]
## astropy.wcs
* WCS.pixel_to_world now creates an EarthLocation object using
MJD-AVG if present before falling back to the old behaviour of
using MJD-OBS. [#12598]
* The locations of WCSAxes ticks and tick-labels are now
correctly calculated when the DPI of a figure changes between a
WCSAxes being created and the figure being drawn, or when a
rasterized artist is added to the WCSAxes. [#12630]
* Fix a bug where SlicedLowLevelWCS.world_to_pixel_values would
break when the result of the transform is dependent on the
coordinate of a sliced out pixel. [#13579]
* Updated bundled WCSLIB version to 7.12. This update includes
bug fixes to wcssub() in how it handles temporal axes with -TAB
and fixes handling of status returns from linp2x() and linx2p()
relating to distortion functions, in particular affecting TPV
distortions - see #13509. For a full list of changes - see
http://www.atnf.csiro.au/people/mcalabre/WCS/CHANGES or
astropy/cextern/wcslib/CHANGES. [#13635]
* Fixed WCS validation not working properly if HDUList is needed
for multi-extension FITS file. [#13668]
OBS-URL: https://build.opensuse.org/request/show/1030595
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=36
- 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
- Skip two test categories segfaulting: gh#astropy/astropy#13286
- 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/980183
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=34
- 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
- Skip flaky test_color_print3
- 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/942986
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=29
- 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
- Update to version 4.3.1
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/request/show/912890
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=25
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] (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
- 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
- Update to 3.1.2, bug fixes
- astropy.coordinates
Convert the default of QuantityAttribute, thereby catching
the error case case of it being set to None at attribute
creation, and giving a more useful error message in the
process. [#8300]
- astropy.cosmology
Fix elliptic analytical solution for comoving distance.
Only relevant for non-flat cosmologies without radiation
and Om0 > Ode0. [#8391]
- astropy.modeling
Fixed slowness for certain compound models consisting of
large numbers of multi-input models [#8338, #8349]
- astropy.visualization.wcsaxes
Fix a bug that caused an error when passing an array with
all values the same to contour or contourf. [#8321]
Fix a bug that caused contour and contourf to return None
instead of the contour set. [#8321]
OBS-URL: https://build.opensuse.org/request/show/693311
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-astropy?expand=0&rev=7
- Use pytest-astropy since it is in Factory now.
- Update to version 3.1
+ New Features
> astropy.convolution
* ``convolve`` now accepts any array-like input, not just ``numpy.ndarray`` or
lists. [#7303]
* ``convolve`` Now raises AstropyUserWarning if nan_treatment='interpolate' and
preserve_nan=False and NaN values are present post convolution. [#8088]
> astropy.coordinates
* The ``SkyCoord.from_name`` constructor now has the ability to create
coordinate objects by parsing object catalogue names that have embedded
J-coordinates. [#7830]
* The new function ``make_transform_graph_docs`` can be used to create a
docstring graph from a custom ``TransformGraph`` object. [#7135]
* ``KDTree`` for catalog matching is now built with sliding midpoint rule
rather than standard. In code, this means setting ``compact_nodes=False``
and ``balanced_tree=False`` in ``cKDTree``. The sliding midpoint rule is much
more suitable for catalog matching, and results in 1000x speedup in some
cases. [#7324]
* Additional information about a site loaded from the Astropy sites registry is
now available in ``EarthLocation.info.meta``. [#7857]
* Added a ``concatenate_representations`` function to combine coordinate
representation data and any associated differentials. [#7922]
* ``BaseCoordinateFrame`` will now check for a method named
``_astropy_repr_in_frame`` when constructing the string forms of attributes.
Allowing any class to control how ``BaseCoordinateFrame`` represents it when
it is an attribute of a frame. [#7745]
* Some rarely-changed attributes of frame classes are now cached, resulting in
speedups (up to 50% in some cases) when creating new scalar frame or
``SkyCoord`` objects. [#7949, #5952]
* Added a ``directional_offset_by`` method to ``SkyCoord`` that computes a new
coordinate given a coordinate, position angle, and angular separation [#5727]
> astropy.cosmology
* The default cosmology has been changed from ``WMAP9`` to ``Planck15``. [#8123]
* Distance calculations with ``LambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using elliptic integrals for non-flat cases. [#7155]
* Distance calculations with ``FlatLambaCDM`` with no radiation (T_CMB0=0)
are now 20x faster by using the hypergeometric function solution
for this special case. [#7087]
* Age calculations with ``FlatLambdaCDM`` with no radiation (Tcmb0=0)
are now 1000x faster by using analytic solutions instead of integrating.
[#7117]
> astropy.io.ascii
* Latex reader now ignores ``\toprule``, ``\midrule``, and ``\bottomrule``
commands. [#7349]
* Added the RST (Restructured-text) table format and the fast version of the
RDB reader to the set of formats that are guessed by default. [#5578]
* The read trace (used primarily for debugging) now includes guess argument
sets that were skipped entirely e.g. for not supporting user-supplied kwargs.
All guesses thus removed from ``filtered_guess_kwargs`` are now listed as
"Disabled" at the beginning of the trace. [#5578]
* Emit a warning when reading an ECSV file without specifying the ``format``
and without PyYAML installed. Previously this silently fell through to
parsing as a basic format file and the file metadata was lost. [#7580]
* Optionally allow writing masked columns to ECSV with the mask explicitly
specified as a separate column instead of marking masked elements with ""
(empty string). This allows handling the case of a masked string column
with "" data rows. [#7481]
> astropy.io.misc
* Added support for saving all representation classes and many coordinate
frames to the asdf format. [#7079]
* Added support for saving models with units to the asdf format. [#7237]
* Added a new ``character_as_bytes`` keyword to the HDF5 Table reading
function to control whether byte string columns in the HDF5 file
are left as bytes or converted to unicode. The default is to read
as bytes (``character_as_bytes=True``). [#7024, #8017]
> astropy.io.fits
* ``HDUList.pop()`` now accepts string and tuple extension name
specifications. [#7236]
* Add an ``ignore_hdus`` keyword to ``FITSDiff`` to allow ignoring HDUs by
NAME when diffing two FITS files [#7538]
* Optionally allow writing masked columns to FITS with the mask explicitly
specified as a separate column instead of using the FITS standard of
certain embedded null values (``NaN`` for float, ``TNULL`` for integers).
This can be used to work around limitations in the FITS standard. [#7481]
* All time coordinates can now be written to and read from FITS binary tables,
including those with vectorized locations. [#7430]
* The ``fitsheader`` command line tool now supports a ``dfits+fitsort`` mode,
and the dotted notation for keywords (e.g. ``ESO.INS.ID``). [#7240]
* Fall back to reading arrays using mode='denywrite' if mode='readonly' fails
when using memory-mapping. This solves cases on some platforms when the
available address space was less than the file size (even when using memory
mapping). [#7926]
> astropy.modeling
* Add a ``Multiply`` model which preserves unit through evaluate, unlike
``Scale`` which is dimensionless. [#7210]
* Add a ``uses_quantity`` property to ``Model`` which allows introspection of if
the ``Model`` can accept ``Quantity`` objects. [#7417]
* Add a ``separability_matrix`` function which returns the correlation matrix
of inputs and outputs. [#7803]
* Fixed compatibility of ``JointFitter`` with the latest version of Numpy. [#7984]
* Add ``prior`` and ``posterior`` constraints to modeling parameters. These are
not used by any current fitters, but are provided to allow user code to
experiment with Bayesian fitters. [#7558]
> astropy.nddata
* ``NDUncertainty`` objects now have a ``quantity`` attribute for simple
conversion to quantities. [#7704]
* Add a ``bitmask`` module that provides functions for manipulating bitmasks
and data quality (DQ) arrays. [#7944]
> astropy.stats
* Add an ``astropy.stats.bls`` module with an implementation of the "box least
squares" periodogram that is commonly used for discovering transiting
exoplanets and eclipsing binaries. [#7391]
> astropy.table
* Added support for full use of ``Time`` mixin column for join, hstack, and
vstack table operations. [#6888]
* Added a new table index engine, ``SCEngine``, based on the Sorted Containers
package. [#7574]
* Add a new keyword argument ``serialize_method`` to ``Table.write`` to
control how ``Time`` and ``MaskedColumn`` columns are written. [#7481]
* Allow mixin columns to be used in table ``group`` and ``unique``
functions. This applies to both the key columns and the other data
columns. [#7712]
* Added support for stacking ``Column``, mixin column (e.g. ``Quantity``,
``Time``) or column-like objects. [#7674]
* Added support for inserting a row into a Table that has ``Time`` or
``TimeDelta`` column(s). [#7897]
> astropy.tests
* Added an option ``--readonly`` to the test command to change the
permissions on the temporary installation location to read-only. [#7598]
> astropy.time
* Allow array-valued ``Time`` object to be modified in place. [#6028]
* Added support for missing values (masking) to the ``Time`` class. [#6028]
* Added supper for a 'local' time scale (for free-running clocks, etc.),
and round-tripping to the corresponding FITS time scale. [#7122]
* Added `datetime.timedelta` format class for ``TimeDelta``. [#7441]
* Added ``strftime`` and ``strptime`` methods to ``Time`` class.
These methods are similar to those in the Python standard library
`time` package and provide flexible input and output formatting. [#7323]
* Added ``datetime64`` format to the ``Time`` class to support working with
``numpy.datetime64`` dtype arrays. [#7361]
* Add fractional second support for ``strftime`` and ``strptime`` methods
of ``Time`` class. [#7705]
* Added an ``insert`` method to allow inserting one or more values into a
``Time`` or ``TimeDelta`` object. [#7897]
* Remove timescale from string version of FITS format time string.
The timescale is not part of the FITS standard and should not be included.
This change may cause some compatibility issues for code that relies on
round-tripping a FITS format string with a timescale. Strings generated
from previous versions of this package are still understood but a
DeprecationWarning will be issued. [#7870]
> astropy.uncertainty
* This sub-package was added as a "preview" (i.e. API unstable), containing
the ``Distribution`` class and associated convenience functions. [#6945]
> astropy.units
* Add complex numbers support for ``Quantity._repr_latex_``. [#7676]
* Add ``thermodynamic_temperature`` equivalency to convert between
Jy/beam and "thermodynamic temperature" for cosmology. [#7054]
* Add millibar unit. [#7863]
* Add maggy and nanomaggy unit, as well as associated ``zero_point_flux``
equivalency. [#7891]
* ``AB`` and ``ST`` are now enabled by default, and have alternate names
``ABflux`` and ``STflux``. [#7891]
* Added ``littleh`` unit and associated ``with_H0`` equivalency. [#7970]
> astropy.visualization
* Added ``imshow_norm`` function, which combines imshow and creation of a
``ImageNormalize`` object. [#7785]
> astropy.visualization.wcsaxes
* Add support for setting ``set_separator(None)`` in WCSAxes to use default
separators. [#7570]
* Added two keyword argument options to ``CoordinateHelper.set_format_unit``:
``decimal`` can be used to specify whether to use decimal formatting for the
labels (by default this is False for degrees and hours and True otherwise),
and ``show_decimal_unit`` can be used to determine whether the units should be
shown for decimal labels. [#7318]
* Added documentation for ``transform=`` and ``coord_meta=``. [#7698]
* Allow ``coord_meta=`` to optionally include ``format_unit=``. [#7848]
* Add support for more rcParams related to the grid, ticks, and labels, and
should work with most built-in Matplotlib styles. [#7961]
* Improved rendering of outward-facing ticks. [#7961]
* Add support for ``tick_params`` (which is a standard Matplotlib
function/method) on both the ``WCSAxes`` class and the individual
``CoordinateHelper`` classes. Note that this is provided for compatibility
with Matplotlib syntax users may be familiar with, but it is not the
preferred way to change settings. Instead, methods such as ``set_ticks``
should be preferred. [#7969]
* Moved the argument ``exclude_overlapping`` from ``set_ticks`` to
``set_ticklabel``. [#7969]
* Added a ``pad=`` argument to ``set_ticklabel`` to provide a way to control
the padding between ticks and tick labels. [#7969]
* Added support for setting the tick direction in ``set_ticks`` using the
``direction=`` keyword argument. [#7969]
> astropy.wcs
* Map ITRS frames to terrestrial WCS coordinates. This will make it possible to
use WCSAxes to make figures that combine both celestial and terrestrial
features. An example is plotting the coordinates of an astronomical transient
over an all- sky satellite image to illustrate the position relative to the
Earth at the time of the event. The ITRS frame is identified with WCSs that
use the ``TLON-`` and ``TLAT-`` coordinate types. There are several examples
of WCSs where this syntax is used to describe terrestrial coordinate systems:
Section 7.4.1 of `WCS in FITS "Paper II" <http://adsabs.harvard.edu/abs/2002A%26A...395.1077C>`_
and the `WCSTools documentation <http://tdc-www.harvard.edu/software/wcstools/wcstools.multiwcs.html>`_.
[#6990]
* Added the abstract base class for the low-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Add ``WCS.contains()`` function to check if the WCS footprint contains a given sky coordinate. [#7273]
* Added the abstract base class for the high-level WCS API described in APE 14
(https://doi.org/10.5281/zenodo.1188875). [#7325]
* Added the high-level wrapper class for low-level WCS objects as described in
APE 14 (https://doi.org/10.5281/zenodo.1188875). [#7326]
* Added a new property ``WCS.has_distortion``. [#7326]
* Deprecated ``_naxis1`` and ``_naxis2`` in favor of ``pixel_shape``. [#7973]
* Added compatibility to wcslib version 6. [#8093]
+ API Changes
> astropy.convolution
* ``kernel`` can now be a tuple. [#7561]
* Not technically an API changes, however, the docstring indicated that ``boundary=None``
was the default when actually it is ``boundary='fill'``. The docstring has been corrected,
however, someone may interpret this as an API change not realizing that nothing has actually
changed. [#7293]
* ``interpolate_replace_nans()`` can no longer accept the keyword argument
``preserve_nan``. It is explicitly set to ``False``. [#8088]
> astropy.coordinates
* Fixed ``astropy.coordinates.concatenate`` to include velocity data in the
concatenation. [#7922]
* Changed the name of the single argument to ``Frame.realize_frame()`` from the
(incorrect) ``representation_type`` to ``data``. [#7923]
* Negative parallaxes passed to ``Distance()`` now raise an error by default
(``allow_negative=False``), or are converted to NaN values with a warning
(``allow_negative=True``). [#7988]
* Negating a ``SphericalRepresentation`` object now changes the angular
coordinates (by rotating 180º) instead of negating the distance. [#7988]
* Creation of new frames now generally creates copies of frame attributes,
rather than inconsistently either copying or making references. [#8204]
* The frame class method ``is_equivalent_frame`` now checks for equality of
components to determine if a frame is the same when it has frame attributes
that are representations, rather than checking if they are the same
object. [#8218]
> astropy.io.ascii
* If a fast reader is explicitly selected (e.g. ``fast_reader='force'``) and
options which are incompatible with the fast reader are provided
(e.g. ``quotechar='##'``) then now a ``ParameterError`` exception will be
raised. [#5578]
* The fast readers will now raise ``InconsistentTableError`` instead of
``CParserError`` if the number of data and header columns do not match.
[#5578]
* Changed a number of ``ValueError`` exceptions to ``InconsistentTableError``
in places where the exception is related to parsing a table which is
inconsistent with the specified table format. Note that
``InconsistentTableError`` inherits from ``ValueError`` so no user code
changes are required. [#7425]
> astropy.io.fits
* The ``fits.table_to_hdu()`` function will translate any column ``format``
attributes to a TDISPn format string, if possible, and store it as a TDISPn
keyword in the ``HDU`` header. [#7226]
> astropy.modeling
* Change the order of the return values from ``FittingWithOutlierRemoval``,
such that ``fitted_model`` comes first, for consistency with other fitters.
For the second value, return only a boolean outlier ``mask``, instead of the
previous ``MaskedArray`` (which included a copy of the input data that was
both redundant and inadvertently corrupted at masked points). Return a
consistent type for the second value when ``niter=0``. [#7407]
* Set the minimum value for the ``bolometric_flux`` parameter of the
``BlackBody1D`` model to zero. [#7045]
> astropy.nddata
* Add two new uncertainty classes, ``astropy.nddata.VarianceUncertainty`` and
``astropy.nddata.InverseVariance``. [#6971]
> astropy.stats
* String values can now be used for the ``cenfunc`` and ``stdfunc``
keywords in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions now have a ``masked`` keyword,
which can be used to return either a masked array (default) or an
ndarray with the min/max values. [#7478]
* The ``iters`` keyword has been renamed (and deprecated) to
``maxiters`` in the ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions. [#7478]
> astropy.table
* ``Table.read()`` on a FITS binary table file will convert any TDISPn header
keywords to a Python formatting string when possible, and store it in the
column ``format`` attribute. [#7226]
* No values provided to stack will now raise ``ValueError`` rather than
``TypeError``. [#7674]
> astropy.tests
* ``from astropy.tests.helper import *`` no longer includes
``quantity_allclose``. However,
``from astropy.tests.helper import quantity_allclose`` would still work.
[#7381]
* ``warnings_to_ignore_by_pyver`` option in
``enable_deprecations_as_exceptions()`` now takes ``None`` as key.
Any deprecation message that is mapped to ``None`` will be ignored
regardless of the Python version. [#7790]
> astropy.time
* Added the ability to use ``local`` as time scale in ``Time`` and
``TimeDelta``. [#6487]
* Comparisons, addition, and subtraction of ``Time`` instances with non-time
instances will now return ``NotImplemented`` rather than raise the
``Time``-specific ``OperandTypeError``. This will generally lead to a
regular ``TypeError``. As a result, ``OperandTypeError`` now only occurs if
the operation is between ``Time`` instances of incompatible type or scale.
[#7584]
> astropy.units
* In ``UnitBase.compose()``, if a sequence (list|tuple) is passed in to
``units``, the default for ``include_prefix_units`` is set to
`True`, so that no units get ignored. [#6957]
* Negative parallaxes are now converted to NaN values when using the
``parallax`` equivalency. [#7988]
> astropy.utils
* ``InheritDocstrings`` now also works on class properties. [#7166]
* ``diff_values()``, ``report_diff_values()``, and ``where_not_allclose()``
utility functions are moved from ``astropy.io.fits.diff``. [#7444]
* ``invalidate_caches()`` has been removed from the
``astropy.utils.compat`` namespace, use it directly from ``importlib``. [#7872]
> astropy.visualization
* In ``ImageNormalize``, the default for ``clip`` is set to ``True``. [#7800]
* Changed ``AsymmetricPercentileInterval`` and ``MinMaxInterval`` to
ignore NaN values in arrays. [#7360]
* Automatically default to using ``grid_type='contours'`` in WCSAxes when using
a custom ``Transform`` object if the transform has no inverse. [#7847]
+ Performance Improvements
* Reduced import time by more cautious use of the standard library. [#7647]
> astropy.convolution
* Major performance overhaul to ``convolve()``. [#7293]
* ``convolve()``: Boundaries ``fill``, ``extend``, and ``wrap`` now use a single
implementation that pads the image with the correct boundary values before convolving.
The runtimes of these three were significantly skewed. They now have
equivalent runtimes that are also faster than before due to performant contiguous
memory access. However, this does increase the memory footprint as an entire
new image array is required plus that needed for the padded region.[#7293]
* ``convolve()``: Core computation ported from Cython to C. Several optimization
techniques have been implemented to achieve performance gains, e.g. compiler
hoisting, and vectorization, etc. Compiler optimization level ``-O2`` required for
hoisting and ``-O3`` for vectorization. [#7293]
* ``convolve()``: ``nan_treatment=‘interpolate’`` was slow to compute irrespective of
whether any NaN values exist within the array. The input array is now
checked for NaN values and interpolation is disabled if non are found. This is a
significant performance boost for arrays without NaN values. [#7293]
> astropy.coordinates
* Sped up creating SkyCoord objects by a factor of ~2 in some cases. [#7615]
* Sped up getting xyz vectors from ``CartesianRepresentation`` (which
is used a lot internally). [#7638]
* Sped up transformations and some representation methods by replacing
python code with (compiled) ``erfa`` ufuncs. [#7639]
* Sped up adding differential (velocity) data to representations by a factor of
~20, which improves the speed of frame and SkyCoord initialization. [#7924]
* Refactored ``SkyCoord`` initializer to improve performance and code clarity.
[#7958]
* Sped up initialization of ``Longitude`` by ~40%. [#7616]
> astropy.stats
* The ``SigmaClip`` class and ``sigma_clip`` and
``sigma_clipped_stats`` functions are now significantly faster. [#7478]
* A Cython implementation for `astropy.stats.kuiper_two` and a vectorized
implementation for `astropy.stats.kuiper_false_positive_probability` have
been added, speeding up both functions. [#8104]
> astropy.units
* Sped up creating new composite units, and raising units to some power
[#7549, #7649]
* Sped up Unit.to when target unit is the same as the original unit.
[#7643]
* Lazy-load ``scipy.special`` to shorten ``astropy.units`` import time. [#7636]
> astropy.visualization
* Significantly sped up drawing of contours in WCSAxes. [#7568]
+ Bug Fixes
> astropy.convolution
* Fixed bug in ``convolve_fft`` where masked input was copied with
``numpy.asarray`` instead of ``numpy.asanyarray``.
``numpy.asarray`` removes the mask subclass causing
``numpy.ma.ismasked(input)`` to fail, causing ``convolve_fft``
to ignore all masked input. [#8137]
* Remove function side-effects of input data from ``convolve_fft``.
It was possible for input data to remain modified if particular exceptions
were raised. [#8152]
> astropy.coordinates
* ``EarthLocation.of_address`` now uses the OpenStreetMap geocoding API by
default to retrieve coordinates, with the Google API (which now requires an
API key) as an option. [#7918]
* Fixed a bug that caused frame objects with NaN distances to have NaN sky
positions, even if valid sky coordinates were specified. [#7988]
* Fixed ``represent_as()`` to not round-trip through cartesian if the same
representation class as the instance is passed in. [#7988]
> astropy.io.ascii
* Fixed a problem when ``guess=True`` that ``fast_reader`` options
could be dropped after the first fast reader class was tried. [#5578]
* Units in CDS-formatted tables are now parsed correctly by the units
module. [#7348]
> astropy.io.misc
* Fixed bug when writing a table with masked columns to HDF5. Previously
the mask was being silently dropped. If the ``serialize_meta`` option is
enabled the data mask will now be written as an additional column and the
masked columns will round-trip correctly. [#7481]
* Fixed a bug where writing to HDF5 failed for for tables with columns of
unicode strings. Now those columns are first encoded to UTF-8 and
written as byte strings. [#7024, #8017]
* Fixed a bug with serializing the bounding_box of models initialized
with ``Quantities`` . [#8052]
> astropy.io.fits
* Added support for ``copy.copy`` and ``copy.deepcopy`` for ``HDUList``. [#7218]
* Override ``HDUList.copy()`` to return a shallow HDUList instance. [#7218]
> astropy.modeling
* Fix behaviour of certain models with units, by making certain unit-related
attributes readonly. [#7210]
* Fixed an issue with validating a ``bounding_box`` whose items are
``Quantities``. [#8052]
* Fix ``Moffat1D`` and ``Moffat2D`` derivatives. [#8108]
> astropy.nddata
* Fixed rounding behavior in ``overlap_slices`` for even-sized small
arrays. [#7859]
* Added support for pickling ``NDData`` instances that have an uncertainty.
[#7383]
> astropy.stats
* Fix errors in ``kuiper_false_positive_probability``. [#7975]
> astropy.tests
* Fixing bug that prevented to run the doctests on only a single rst documentation
file rather than all of them. [#8055]
> astropy.time
* Fix a bug when setting a ``TimeDelta`` array item with plain float value(s).
This was always interpreted as a JD (day) value regardless of the
``TimeDelta`` format. [#7990]
> astropy.units
* To simplify fast creation of ``Quantity`` instances from arrays, one can now
write ``array << unit`` (equivalent to ``Quantity(array, unit, copy=False)``).
If ``array`` is already a ``Quantity``, this will convert the quantity to the
requested units; in-place conversion can be done with ``quantity <<= unit``.
[#7734]
> astropy.utils
* Fixed a bug due to which ``report_diff_values()`` was reporting incorrect
number of differences when comparing two ``numpy.ndarray``. [#7470]
* The download progress bar is now only displayed in terminals, to avoid
polluting piped output. [#7577]
* Ignore URL mirror caching when there is no internet. [#8163]
> astropy.visualization
* Right ascension coordinates are now shown in hours by default, and the
``set_format_unit`` method on ``CoordinateHelper`` now works correctly
with angle coordinates. [#7215]
+ Other Changes and Additions
* The documentation build now uses the Sphinx configuration from sphinx-astropy
rather than from astropy-helpers. [#7139]
* Versions of Numpy <1.13 are no longer supported. [#7058]
* Running tests now suppresses the output of the installation stage by default,
to allow easier viewing of the test results. To re-enable the output as
before, use ``python setup.py test --verbose-install``. [#7512]
* The ERFA functions are now wrapped in ufuncs instead of custom C code,
leading to some speed improvements, and setting the stage for allowing
overrides with ``__array_ufunc__``. [#7502]
* Updated the bundled CFITSIO library to 3.450. See
``cextern/cfitsio/docs/changes.txt`` for additional information. [#8014]
* The ``representation`` keywords in coordinate frames are now deprecated in
favor of the ``representation_type`` keywords (which are less
ambiguously named). [#8119]
- Update to 3.0.5
* Update to 3.* is a large step, which contains these main
improvements:
- Full support for velocities in astropy.coordinates
- Support for position updates based on source motion for
SkyCoord objects
- Context managers for versioned constants
- Support for quantities in scipy special functions
- showtable command line script
- Lossless writing and reading mixin columns to HDF5 and
FITS
- Support for FITS time standard
- FITS table performance enhancements
- False alarm probabilities in astropy.stats.LombScargle
- Reading large ASCII files in chunks
- Astropy now only supports Python 3
- pytest plugins moved to external packages
Full changelog is available at http://docs.astropy.org/en/stable/changelog.html
OBS-URL: https://build.opensuse.org/request/show/663419
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-astropy?expand=0&rev=4
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.