Changelog History
Page 4
-
v3.0.3 Changes
June 01, 2018๐ Bug Fixes
astropy.io.ascii ^
- ๐ Fix stripping correct (header) comment line from
meta['comments']
in theCommentedHeader
reader for allheader_start
settings. [#7508]
astropy.io.fits ^
๐ฉ Raise error when attempting to open gzipped FITS file in 'append' mode. [#7473]
๐ Fix a bug when writing to FITS a table that has a column description with embedded blank lines. [#7482]
โ astropy.tests ^
- ๐ฆ Enabling running tests for multiple packages when specified comma separated. [#7463]
- ๐ Fix stripping correct (header) comment line from
-
v3.0.2 Changes
April 23, 2018๐ Bug Fixes
astropy.coordinates
- Computing a 3D separation between two
SkyCoord
objects (with theseparation_3d
method) now works with or without velocity data attached to the objects. [#7387]
astropy.io.votable
- ๐ Fix validate with xmllint=True. [#7255, #7283]
astropy.modeling ^
FittingWithOutlierRemoval
now handles model sets, as long as the underlying fitter supports masked values. [#7199]Remove assumption that
model_set_axis == 0
for 2D models inLinearLSQFitter
. [#7317, #7199]๐ Fix the shape of the outputs when a model set is evaluated with
model_set_axis=False
. [#7317]
astropy.stats ^
- Accept a tuple for the
axis
parameter insigma_clip
, like the underlyingnumpy
functions and some other functions instats
. [#7199]
โ astropy.tests ^
- ๐ฆ The function
quantity_allclose
was moved to theunits
package with the new, shorter nameallclose
. This eliminates a runtime dependency onpytest
which was causing issues for some affiliated packages. The old import will continue to work but may be deprecated in the future. [#7252]
astropy.units ^
- โ Added a units-aware
allclose
function (this was previously available in thetests
module asquantity_allclose
). To complementallclose
, a newisclose
function is also added and backported. [#7252]
- Computing a 3D separation between two
-
v3.0.1 Changes
March 12, 2018๐ Bug Fixes
astropy.io.ascii ^
- ๐ Fix a unicode decode error when reading a table with non-ASCII characters. The fast C reader cannot handle unicode so the code now uses the pure-Python reader in this case. [#7103]
astropy.io.fits ^
- ๐ Updated the bundled CFITSIO library to 3.430. This is to remedy a critical
security vulnerability that was identified by NASA. See
cextern/cfitsio/docs/changes.txt
for additional information. [#7274]
astropy.io.misc ^
- ๐ Make sure that a sufficiently recent version of ASDF is installed when running test suite against ASDF tags and schemas. [#7205]
astropy.io.registry
- ๐ Fix reading files with serialized metadata when using a Table subclass. [#7213]
astropy.io.votable
- ๐ Fix lookup fields by ID. [#7208]
astropy.modeling ^
Fix model set evaluation over common input when model_set_axis > 0. [#7222]
๐ Fixed the evaluation of compound models with units. This required adding the ability to have
input_units_strict
andinput_units_allow_dimensionless
be dictionaries with input names as keys. [#6952]
astropy.units ^
quantity_helper
no longer requiresscipy>=0.18
. [#7219]
-
v3.0 Changes
February 12, 2018๐ New Features
astropy.constants
- New context manager
set_enabled_constants
to temporarily use an older version. [#7008]
astropy.coordinates
The
Distance
object now acceptsparallax
as a keyword in the initializer, and supports retrieving a parallax (as anAngle
) via the.parallax
attributes. [#6855]The coordinate frame classes (subclasses of
BaseCoordinateFrame
) now always have.velocity
,.proper_motion
, and.radial_velocity
properties that provide shorthands to the full-space Cartesian velocity as aCartesianDifferential
, the 2D proper motion as aQuantity
, and the radial or line-of-sight velocity as aQuantity
. [#6869]๐
SkyCoord
objects now support storing and tranforming differentials - i.e., both radial velocities and proper motions. [#6944]All frame classes now automatically get sensible representation mappings for velocity components. For example,
d_x
,d_y
,d_z
are all automatically mapped to frame component namsev_x
,v_y
,v_z
. [#6856]โก๏ธ
SkyCoord
objects now support updating the position of a source given its space motion and a new time or time difference. [#6872]The frame classes now accept a representation class or differential class, or string names for either, through the keyword arguments
representation_type
anddifferential_type
instead ofrepresentation
anddifferential_cls
. [#6873]The frame classes (and
SkyCoord
) now give more useful error messages when incorrect attribute names are given. Instead of using the representation attribute names, they use the frame attribute names. [#7106]EarthLocation
now has a method to compute the gravitational redshift due due to solar system bodies. [#6861, #6935]EarthLocation
now has aget_gcrs
convenience method to get the location in GCRS coordinates. [#6861, #6935]
astropy.io.fits ^
Expanded the FITS
Column
interface to accept attributes pertaining to the FITS World Coordinate System, which includes spatial(celestial) and time coordinates. [#6359]โ Added
ver
attribute to set theEXTVER
header keyword toImageHDU
andTableHDU
. [#6454]๐ The performance for reading FITS tables has been significantly improved, in particular for cases where the tables contain one or more string columns and when done through
Table.read
. [#6821]๐ The performance for writing tables from
Table.write
has now been significantly improved for tables containing one or more string columns. [#6920]๐ The
Table.read
now supports amemmap=
keyword argument to control whether or not to use memory mapping when reading the table. [#6821]When reading FITS tables with
fits.open
, a new keyword argumentcharacter_as_bytes
can be passed - when set toTrue
, character columns are returned as Numpy byte arrays (Numpy type S) while when set toFalse
, the same columns are decoded to Unicode strings (Numpy type U) which uses more memory. [#6821]The
table_to_hdu
function and theBinTableHDU.from_columns
andFITS_rec.from_columns
methods now include acharacter_as_bytes
keyword argument - if set toTrue
, then when string columns are accessed, byte columns will be returned, which can provide significantly improved performance. [#6920]โ Added support for writing and reading back a table which has "mixin columns" such as
SkyCoord
orEarthLocation
with no loss of information. [#6912]Enable tab-completion for
FITS_rec
column names andHeader
keywords with IPython 5 and later. [#7071]
astropy.io.misc ^
๐ When writing to HDF5 files, the serialized metadata are now saved in a new dataset, instead of the HDF5 dataset attributes. This allows for metadata of any dimensions. [#6304]
โ Added support in HDF5 for writing and reading back a table which has "mixin columns" such as
SkyCoord
orEarthLocation
with no loss of information. [#7007]โ Add implementations of astropy-specific ASDF tag types. [#6790]
โ Add ASDF tag and schema for ICRSCoord. [#6904]
astropy.modeling ^
โ Add unit support for tabular models. [#6529]
A
deepcopy()
method was added to models. [#6515]โ Added units support to
AffineTransformation
. [#6853]โ Added
is_separable
function to modeling to test the separability of a model. [#6746]โ Added
Model.separable
property. It returns a boolean value orNone
if not set. [#6746]๐ Support masked array values in
LinearLSQFitter
(instead of silently ignorning the mask). [#6927]
astropy.stats ^
โ Added false alarm probability computation to
astropy.stats.LombScargle
[#6488]Implemented Kuiper functions in
astropy.stats
[#3724, #6565]
astropy.table ^
โ Added support for reading and writing
astropy.time.Time
Table columns to and from FITS tables, to the extent supported by the FITS standard. [#6176]๐ Improved exception handling and error messages when column
format
attribute is incorrect for the column type. [#6385]๐ Allow to pass
htmldict
option to the jsviewer writer. [#6551]โ Added new table operation
astropy.table.setdiff
that returns the set difference of table rows for two tables. [#6443]โ Added support for reading time columns in FITS compliant binary tables as
astropy.time.Time
Table columns. [#6442]Allowed to remove table rows through the
__delitem__
method. [#5839]โ Added a new
showtable
command-line script to view binary or ASCII table files. [#6859]โ Added new table property
astropy.table.Table.loc_indices
that returns the location of rows by indexes. [#6831]๐ Allow updating of table by indices through the property
astropy.table.Table.loc
. [#6831]Enable tab-completion for column names with IPython 5 and later. [#7071]
๐ Allow getting and setting a table Row using multiple column names. [#7107]
โ astropy.tests ^
๐ Split pytest plugins into separate modules. Move remotedata, openfiles, doctestplus plugins to standalone repositories. [#6384, #6606]
๐ฆ When testing, astropy (or the package being tested) is now installed to a temporary directory instead of copying the build. This allows entry points to work correctly. [#6890]
โ The tests_require setting in setup.py now works properly when running 'python setup.py test'. [#6892]
astropy.units ^
๐ Deprecated conversion of quantities to truth values. Currently, the expression
bool(0 * u.dimensionless_unscaled)
evaluates toTrue
. In the future, attempting to convert aQuantity
to abool
will raiseValueError
. [#6580, #6590]Modify the
brightness_temperature
equivalency to provide a surface brightness equivalency instead of the awkward assumed-per-beam equivalency that previously existed [#5173, #6663]๐ Support was added for a number of
scipy.special
functions. [#6852]
astropy.utils ^
๐ The
astropy.utils.console.ProgressBar.map
class method now supports theipython_widget
option. You can now pass it bothmultiprocess=True
andipython_widget=True
to get both multiprocess speedup and a progress bar widget in an IPython Notebook. [#6368]๐ The
astropy.utils.compat.funcsigs
module has now been deprecated. Use the Python 'inspect' module directly instead. [#6598]๐ The
astropy.utils.compat.futures
module has now been deprecated. Use the Python 'concurrent.futures' module directly instead. [#6598]JsonCustomEncoder
is expanded to handleQuantity
andUnitBase
. [#5471]Added a
dcip_xy
method to IERS that interpolates along the dX_2000A and dY_2000A columns of the IERS table. Hence, the data for the CIP offsets is now available for use in coordinate frame conversion. [#5837]The functions
matmul
,broadcast_arrays
,broadcast_to
of theastropy.utils.compat.numpy
module have been deprecated. Use the NumPy functions directly. [#6691]The
astropy.utils.console.ProgressBar.map
class method now returns results in sequential order. Previously, if you setmultiprocess=True
, then the results could arrive in any arbitrary order, which could be a nasty shock. Although the function will still be evaluated on the items in arbitrary order, the return values will arrive in the same order in which the input items were provided. The method is now a thin wrapper aroundastropy.utils.console.ProgressBar.map_unordered
, which preserves the old behavior. [#6439]
astropy.visualization
Enable Matplotlib's subtraction shorthand syntax for composing and inverting trasformations for the
WCSWorld2PixelTransform
andWCSPixel2WorldTransform
classes by settinghas_inverse
toTrue
. In order to implement a unit test, also implement the equality comparison operator for both classes. [#6531]โ Added automatic hiding of axes labels when no tick labels are drawn on that axis. This parameter can be configured with
WCSAxes.coords[*].set_axislabel_visibility_rule
so that labels are automatically hidden when no ticks are drawn or always shown. [#6774]
astropy.wcs ^
Added a new function
celestial_frame_to_wcs
to convert from coordinate frames to WCS (the opposite of whatwcs_to_celestial_frame
currently does. [#6481]โก๏ธ
wcslib
was updated to v 5.18. [#7066]
API Changes
astropy.convolution
Gaussian2DKernel
now acceptsx_stddev
in place ofstddev
with an option fory_stddev
, if different. It also acceptstheta
likeGaussian2D
model. [#3605, #6748]
astropy.coordinates
๐ Deprecated
recommended_units
for representations. These were used to ensure that any angle was presented in degrees in sky coordinates and frames. This is more logically done in the frame itself. [#6858]As noted above, the frame class attributes
representation
anddifferential_cls
are being replaced byrepresentation_type
anddifferential_type
. In the next version, usingrepresentation
will raise a deprecation warning. [#6873]Coordinate frame classes now can't be added to the frame transform graph if they have frame attribute names that conflict with any component names. This is so
SkyCoord
can uniquely identify and distinguish frame attributes from frame components. [#6871]Slicing and reshaping of
SkyCoord
and coordinate frames no longer passes the new object through__init__
, but directly sets atttributes on a new instance. This speeds up those methods by an order of magnitude, but means that any customization done in__init__
is by-passed. [#6941]
astropy.io.ascii ^
- ๐ Allow ECSV files to be auto-identified by
Table.read
orTable.write
based on the.ecsv
file name suffix. In this case it is not required to provide theformat
keyword. [#6552]
astropy.io.fits ^
Automatically detect and handle compression in FITS files that are opened by passing a file handle to
fits.open
[#6373]โ Remove the
nonstandard
checksum option. [#6571]
astropy.io.misc ^
๐ When writing to HDF5 files, the serialized metadata are now saved in a new dataset instead of the HDF5 dataset attributes. This allows for metadata of any dimensions. [#6304]
๐ Deprecated the
usecPickle
kwarg offnunpickle
andfnpickle
as it was needed only for Python2 usage. [#6655]
astropy.io.votable
- โ Add handling of
tree.Group
elements totree.Resource
. Unified I/O or conversion to astropy tables is not affected. [#6262]
astropy.modeling ^
โ Removed deprecated
GaussianAbsorption1D
model. UseConst1D - Gaussian1D
instead. [#6542]โ Removed the registry from modeling. [#6706]
astropy.table ^
When setting the column
format
attribute the value is now immediately validated. Previously one could set to any value and it was only checked when actually formatting the column. [#6385]๐ Deprecated the
python3_only
kwarg of theconvert_bytestring_to_unicode
andconvert_unicode_to_bytestring
methods it was needed only for Python2 usage. [#6655]When reading in FITS tables with
Table.read
, string columns are now represented using Numpy byte (dtypeS
) arrays rather than Numpy unicode arrays (dtypeU
). TheColumn
class then ensures the bytes are automatically converted to string as needed. [#6821]When getting a table row using multiple column names, if one of the names is not a valid column name then a
KeyError
exception is now raised (previouslyValueError
). When setting a table row, if the right hand side is not a sequence with the correct length then aValueError
is now raised (previously in certain cases aTypeError
was raised). [#7107]
astropy.utils ^
download_files_in_parallel
now always usescache=True
to make the function work on Windows. [#6671]
astropy.visualization
- ๐ The Astropy matplotlib plot style has been deprecated. It will continue to work in future but is no longer documented. [#6991]
๐ Bug Fixes
astropy.coordinates
0๏ธโฃ Frame objects now use the default differential even if the representation is explicitly provided as long as the representation provided is the same type as the default representation. [#6944]
Coordinate frame classes now raise an error when they are added to the frame transform graph if they have frame attribute names that conflict with any component names. [#6871]
astropy.io.ascii ^
โ Added support for reading very large tables in chunks to reduce memory usage. [#6458]
Strip leading/trailing white-space from latex lines to avoid issues when matching
\begin{tabular}
statements. This is done by introducing a newLatexInputter
class to override theBaseInputter
. [#6311]
astropy.io.fits ^
Properly handle opening of FITS files from
http.client.HTTPResponse
(i.e. it now works correctly when passing the results ofurllib.request.urlopen
tofits.open
). [#6378]๐ Fix the
fitscheck
script for updating invalid checksums, or removing checksums. [#6571]๐ Fixed potential problems with the compression module [#6732]
Always use the 'D' format for floating point values in ascii tables. [#6938]
astropy.table ^
- ๐ Fix getting a table row when using multiple column names (for example
t[3]['a', 'b', 'c']
). Also fix a problem when setting an entire row: if setting one of the right-hand side values failed this could result in a partial update of the referenced parent table before the exception is raised. [#7107]
astropy.time ^
- ๐ Initialization of
Time
instances with bytes or arrays with dtypeS
will now automatically attempt to decode as ASCII. This ensuresColumn
instances with ASCII strings stored with dtypeS
can be used. [#6823, #6903]
astropy.units ^
- ๐ Fixed a bug that caused PLY files to not be generated correctly in Python 3. [#7174]
astropy.utils ^
๐ The
deprecated
decorator applied to a class will now modify the class itself, rather than to create a class that just looks and behave like the original. This is needed so that the Python 3super
without arguments works for decorated classes. [#6615]๐ Fixed
HomogeneousList
when setting one item or a slice. [#6773]Also check the type when creating a new instance of
HomogeneousList
. [#6773]๐ Make
HomogeneousList
work with iterators and generators when creating the instance, extending it, or using when setting a slice. [#6773]
Other Changes and Additions
๐ Versions of Python <3.5 are no longer supported. [#6556]
๐ Versions of Pytest <3.1 are no longer supported. [#6419]
๐ Versions of Numpy <1.10 are no longer supported. [#6593]
โก๏ธ The bundled CFITSIO was updated to version 3.41 [#6477]
๐ฆ
analytic_functions
sub-package is removed. Useastropy.modeling.blackbody
. [#6541]๐ฆ
astropy.vo
sub-package is removed. Useastropy.samp
for SAMP andastroquery
for VO cone search. [#6540]The guide to setting up Emacs for code development was simplified, and updated to recommend
flycheck
andflake8
for syntax checks. [#6692]โก๏ธ The bundled version of PLY was updated to 3.10. [#7174]
- New context manager
-
v2.0.16 Changes
October 27, 2019๐ Bug Fixes
astropy.time ^
- ๐ Fixed a troubling bug in which
Time
could loose precision, with deviations of 300 ns. [#9328]
Other Changes and Additions
- โก๏ธ Updated IERS A URLs due to USNO prolonged maintenance. [#9443]
- ๐ Fixed a troubling bug in which
-
v2.0.15 Changes
October 06, 2019๐ Bug Fixes
astropy.coordinates
- ๐ Fixed a bug where the string representation of a
BaseCoordinateFrame
object could become garbled under specific circumstances when the frame defines custom component names viaRepresentationMapping
. [#8869]
astropy.io.fits ^
๐ Fix uint conversion in
FITS_rec
when slicing a table. [#8982]๐ Fix reading of unsigned 8-bit integer with compressed fits. [#9219]
astropy.nddata ^
๐ Fixed a bug in
overlap_slices
where the"strict"
mode was too strict for a small array along the upper edge of the large array. [#8901]๐ Fixed a bug in
overlap_slices
where aNoOverlapError
would be incorrectly raised for a 0-shaped small array at the origin. [#8901]
astropy.samp ^
- ๐ Fixed a bug that caused an incorrectly constructed warning message to raise an error. [#8966]
astropy.table ^
๐ Fix
FixedWidthNoHeader
to pay attention todata_start
keyword when finding first data line to split columns [#8485, #8511]๐ Fix bug when initializing
Table
withrows
as a generator. [#9315]๐ Fix
join
when there are multiple mixin (Quantity) columns as keys. [#9313]
astropy.units ^
Quantity
now preserves thedtype
for anything that is floating point, includingfloat16
. [#8872]Unit()
now accepts units with fractional exponents such asm(3/2)
in the default/fits
andvounit
formats that would previously have been rejected for containing multiple solidi (/
). [#9000]๐ Fixed the LaTeX representation of units containing a superscript. [#9218]
astropy.visualization
- ๐ Fixed compatibility issues with latest versions of Matplotlib. [#8961]
Other Changes and Additions
- โก๏ธ Updated required version of Cython to v0.29.13 to make sure that generated C files are compatible with the upcoming Python 3.8 release as well as earlier supported versions of Python. [#9198]
- ๐ Fixed a bug where the string representation of a
-
v2.0.14 Changes
June 14, 2019๐ Bug Fixes
astropy.io.fits ^
- ๐ Fix
Header.update
which was dropping the comments when passed aHeader
object. [#8840]
astropy.modeling ^
Moffat1D.fwhm
andMoffat2D.fwhm
will return a positive value whengamma
is negative. [#8801, #8815]
astropy.units ^
- ๐ Fixed a bug that prevented
EarthLocation
from being initialized with numpy >=1.17. [#8849]
astropy.visualization
๐ Fixed
quantity_support
to work around the fact that matplotlib does not detect subclasses in itsunits
framework. With this,Angle
and other subclasses work correctly. [#8818]๐ Fixed
quantity_support
to work properly if multiple context managers are nested. [#8844]
- ๐ Fix
-
v2.0.13 Changes
June 08, 2019๐ Bug Fixes
astropy.io.fits ^
- Fixed bug in
ColDefs._init_from_array()
that caused unsigned datatypes with the opposite endianness as the host architecture to fail the TestColumnFunctions.test_coldefs_init_from_array unit test. [#8460]
astropy.io.misc ^
- ๐ Explicitly set PyYAML default flow style to None to ensure consistent astropy YAML output for PyYAML version 5.1 and later. [#8500]
astropy.io.votable
- Block floating-point columns from using repr format when converted to Table [#8358]
astropy.stats ^
- Fixed issue in
bayesian_blocks
when called with thencp_prior
keyword. [#8339]
astropy.units ^
- ๐ Fix
take
when one gets only a single element from aQuantity
, ensuring it returns aQuantity
rather than a scalar. [#8617]
- Fixed bug in
-
v2.0.12 Changes
February 23, 2019๐ New Features
astropy.utils ^
- ๐ The
deprecated_renamed_argument
decorator now capable deprecating an argument without renaming it. It also got a newalternative
keyword argument to suggest alternative functionality instead of the removed one. [#8324]
๐ Bug Fixes
astropy.io.fits ^
- Fixed bug in
ColDefs._init_from_array()
that caused non-scalar unsigned entries to not have the correct bzero value set. [#8353]
astropy.modeling ^
- ๐ Fixed compatibility of
JointFitter
with the latest version of Numpy. [#7984]
astropy.table ^
๐ Fix
.quantity
property ofColumn
class for function-units (e.g.,dex
). Previously setting this was possible, but getting raised an error. [#8425]๐ Fixes a bug where initializing a new
Table
from the final row of an existingTable
failed. This happened when that row was generated using the item index[-1]
. [#8422]
astropy.wcs ^
- Fix bug that caused
WCS.has_celestial
,wcs_to_celestial_frame
, and other functionality depending on it to fail in the presence of correlated celestial and other axes. [#8420]
Other Changes and Additions
๐ Fixed
make clean
for the documentation on Windows to ensure it properly removes theapi
andgenerated
directories. [#8346]โก๏ธ Updating bundled
pytest-openfiles
to v0.3.2. [#8434]โ Making
ErfaWarning
andErfaError
available viaastropy.utils.exceptions
. [#8441]
- ๐ The
-
v2.0.11 Changes
December 31, 2018๐ Bug Fixes
astropy.io.ascii ^
- ๐ Fix fast reader C tokenizer to handle double quotes in quoted field. [#8283]
astropy.io.fits ^
- ๐ Fix a bug in
io.fits
with writing Fortran-ordered arrays to file objects. [#8282]
astropy.units ^
- โ Add support for
np.matmul
as aufunc
(new in numpy 1.16). [#8264, #8305]
astropy.utils ^
- Fix failures caused by IERS_A_URL being unavailable by introducing IERS_A_URL_MIRROR. [#8308]