[AstroPy] PyFITS beta testing
Erik Bray
embray at stsci.edu
Wed Nov 16 16:59:25 EST 2011
Hi all,
I've been working off and on for a few months on a big changeset to
PyFITS which changes some details about how Headers are worked with.
The biggest overall change to be aware of is that the CardList class is
completely deprecated. Headers are worked with entirely through Header
objects, which have assumed much of the former responsibility of CardLists.
Header objects themselves work mostly the same way as before, but they
are now more powerful objects that combine a mostly transparent
interface to header as an ordered dict-like object with a list-like
interface that allows manipulating a Header on the level of individual
cards.
The pyfits.Card class is still in use, but there are not many reasons to
use it directly. All methods that accept a Card object will also accept
a simple (keyword, value, comment) tuple in its place, or even (keyword,
value) tuples.
I've also worked hard to maintain backwards compatibility for now with
the old API. There is still a class called CardList, for example, and
it works similarly to the old class. There's no reason to use it,
however, except to support older code. I've tested the backwards
compatibility pretty extensively through the stsci_python regtests. So
far I've only found one (rare) use case that is not backwards
compatible, but that is a one line fix (it has to do with iteration over
slices of Headers--I'll give more details if anyone asks).
So I'm sending out a call to get a couple of people to try out the new
interface and see how it works for them. I'm interested in both
backwards compatibility with old code, and in opinions on the new API.
Nothing here is set in stone, so as much feedback as I can get would be
greatly appreciated.
The new code can be found at:
https://svn6.assembla.com/svn/pyfits/branches/header-refactoring.
The branch is kept up to date with pyfits's trunk, so if you already do
any development off of that the only major changes should be to headers.
Thanks,
Erik
More information about the AstroPy
mailing list