[Python-modules-team] Bug#645203: python-pyfits: please update to pyfits 3.0.3
Julian Taylor
jtaylor.debian at googlemail.com
Thu Oct 13 14:27:18 UTC 2011
Package: python-pyfits
Version: 1:2.4.0-1
Severity: wishlist
pyfits 3.0.3 has been released on oct 5.
It contains many fixes and new features, especially basic python3 support.
But it is also partly backward incompatible, see the release notes.
Changelog since 2.4.0:
3.0.3 (2011-10-05)
Fixed several small bugs involving corner cases in record-valued keyword cards
(#70)
In some cases HDU creation failed if the first keyword value in the header was
not a string value (#89)
Fixed a crash when trying to compute the HDU checksum when the data array
contains an odd number of bytes (#91)
Disabled an unnecessary warning that was displayed on opening compressed HDUs
with disable_image_compression = True (#92)
Fixed a typo in code for handling HCOMPRESS compressed images.
3.0.2 (2011-09-23)
The BinTableHDU.tcreate method and by extension the pyfits.tcreate function
don't get tripped up by blank lines anymore (#14)
The presence, value, and position of the EXTEND keyword in Primary HDUs is
verified when reading/writing a FITS file (#32)
Improved documentation (in warning messages as well as in the handbook) that
PyFITS uses zero-based indexing (as one would expect for C/Python code, but
contrary to the PyFITS standard which was written with FORTRAN in mind) (#68)
Fixed a bug where updating a header card comment could cause the value to be
lost if it had not already been read from the card image string.
Fixed a related bug where changes made directly to Card object in a header
(i.e. assigning directly to card.value or card.comment) would not propagate
when flushing changes to the file (#69) [Note: This and the bug above it were
originally reported as being fixed in version 3.0.1, but the fix was never
included in the release.]
Improved file handling, particularly in Python 3 which had a few small file
I/O-related bugs (#76)
Fixed a bug where updating a FITS file would sometimes cause it to lose its
original file permissions (#79)
Fixed the handling of TDIMn keywords; 3.0 added support for them, but got the
axis order backards (they were treated as though they were row-major) (#82)
Fixed a crash when a FITS file containing scaled data is opened and immediately
written to a new file without explicitly viewing the data first (#84)
Fixed a bug where creating a table with columns named either 'names' or
'formats' resulted in an infinite recursion (#86)
3.0.1 (2011-09-12)
Fixed a bug where updating a header card comment could cause the value to be
lost if it had not already been read from the card image string.
Changed _TableBaseHDU.data so that if the data contain an empty table a
FITS_rec object with zero rows is returned rather than None.
The .key attribute of RecordValuedKeywordCards now returns the full keyword
+field-specifier value, instead of just the plain keyword (#46)
Fixed a related bug where changes made directly to Card object in a header
(i.e. assigning directly to card.value or card.comment) would not propagate
when flushing changes to the file (#69)
Fixed a bug where writing a table with zero rows could fail in some cases (#72)
Miscellanous small bug fixes that were causing some tests to fail, particularly
on Python 3 (#74, #75)
Fixed a bug where creating a table column from an array in non-native byte
order would not preserve the byte order, thus interpreting the column array
using the wrong byte order (#77)
3.0.0 (2011-08-23)
Contains major changes, bumping the version to 3.0
Large amounts of refactoring and reorganization of the code; tried to preserve
public API backwards-compatibility with older versions (private API has many
changes and is not guaranteed to be backwards-compatible). There are a few
small public API changes to be aware of:
The Header.ascardlist() method is deprecated--use the .ascard attribute
instead.
Card instances have a new .cardimage attribute that should be used rather than
..ascardimage(), which may become deprecated.
The Card.fromstring() method is now a classmethod. It returns a new Card
instance rather than modifying an existing instance.
The req_cards() method on HDU instances has changed: The pos argument is not
longer a string. It is either an integer value (meaning the card's position
must match that value) or it can be a function that takes the card's position
as it's argument, and returns True if the position is valid. Likewise, the test
argument no longer takes a string, but instead a function that validates the
card's value and returns True or False.
The get_coldefs() method of table HDUs is deprecated. Use the .columns
attribute instead.
The ColDefs.data attribute is deprecated--use ColDefs.columns instead (though
in general you shouldn't mess with it directly--it might become internal at
some point).
FITS_record objects take start and end as arguments instead of startColumn and
endColumn (these are rarely created manually, so it's unlikely that this change
will affect anyone).
BinTableHDU.tcreate() is now a classmethod, and returns a new BinTableHDU
instance.
Use ExtensionHDU and NonstandardExtHDU for making new extension HDU classes.
They are now public interfaces, wheres previously they were private and
prefixed with underscores.
Possibly others--please report if you find any changes that cause difficulties.
Calls to deprecated functions will display a Deprecation warning. However, in
Python 2.7 and up Deprecation warnings are ignored by default, so run Python
with the -Wd option to see if you're using any deprecated functions. If we get
close to actually removing any functions, we might make the Deprecation
warnings display by default.
Added basic Python 3 support
Added support for multi-dimensional columns in tables as specified by the TDIMn
keywords (#47)
Fixed a major memory leak that occurred when creating new tables with the
new_table() function (#49) be padded with zero-bytes) vs ASCII tables (where
strings are padded with spaces) (#15)
Fixed a bug in which the case of Random Access Group parameters names was not
preserved when writing (#41)
Added support for binary table fields with zero width (#42)
Added support for wider integer types in ASCII tables; although this is non-
standard, some GEIS images require it (#45)
Fixed a bug that caused the index_of() method of HDULists to crash when the
HDUList object is created from scratch (#48)
Fixed the behavior of string padding in binary tables (where strings should be
padded with nulls instead of spaces)
Fixed a rare issue that caused excessive memory usage when computing checksums
using a non-standard block size (see r818)
Add support for forced uint data in image sections (#53)
Fixed an issue where variable-length array columns were not extended when
creating a new table with more rows than the original (#54)
Fixed tuple and list-based indexing of FITS_rec objects (#55)
Fixed an issue where BZERO and BSCALE keywords were appended to headers in the
wrong location (#56)
FITS_record objects (table rows) have full slicing support, including stepping,
etc. (#59)
Fixed a bug where updating multiple files simultaneously (such as when running
parallel processes) could lead to a race condition with mktemp() (#61)
Fixed a bug where compressed image headers were not in the order expected by
the funpack utility (#62)
-- System Information:
Debian Release: wheezy/sid
APT prefers oneiric-updates
APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 'oneiric-proposed'), (500, 'oneiric'), (100, 'oneiric-backports')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-12-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages python-pyfits depends on:
ii libc6 2.13-20ubuntu5 Embedded GNU C Library: Shared lib
ii python 2.7.2-7ubuntu2 interactive high-level object-orie
ii python-numpy 1:1.5.1-2ubuntu2 Numerical Python adds a fast array
ii python-support 1.0.13ubuntu1 automated rebuilding support for P
ii python2.7 2.7.2-5ubuntu1 An interactive high-level object-o
python-pyfits recommends no packages.
python-pyfits suggests no packages.
-- no debconf information
More information about the Python-modules-team
mailing list