[AstroPy] Co-ordinating Python astronomy libraries?

Mubdi Rahman rahman@astro.utoronto...
Sat Jul 3 10:57:07 CDT 2010

Hi James and AstroPy colleagues,

Thanks for the note - coordinating the astronomical python community has been a long time coming, and I'm glad that someone's taken the initiative to start this line of communication. 

Last year, a number of us located here in Toronto started pyAstroLib, with the goal of converting the NASA IDL Astronomy Library into Python. We roadmapped the course of doing an initial conversion of the entire library, with the exception of scripts that already have python equivalents (i.e. those provided by pyFits, et cetera). In the case of existing functionality, the documentation of pyAstroLib would point users in the direction of the tools that do the equivalent.

We further roadmapped a plan to go beyond the structure of the IDL AstroLib (we were calling the direct python conversion of these libraries the "legacy" library), and developing a more structured, streamlined and less redundant general purpose astronomy library, so as to make entry into the world of astronomical python as painless as possible. Beyond this stage, we had a number of dream-goals, including a lightweight python-based replacement to DS9 with a more intuitive UI (think Adobe Photoshop), which could be used as a standalone package or embedded within other python scripts.  

We had a number of design requirements for the library: 
- The library was to be fully open-source (we chose the LGPL as our model). 
- The library was to require as few external libraries as necessary (we've limited ourselves to NumPy, SciPy, PyFits, and MatPlotLib). 
- The library was intended to be seamlessly cross-platform. Personally, I'm a Linux/Windows user, where as some of the others in our collaboration are pure Mac or pure Linux users.

We realized that at some point, the project would merge with a number of others out there, and our goal was to have a bit of a code base before we started expanding and merging.  Needless to say, we were ambitious.

That was a year ago. 

In that time, we had started the conversion process - a large number of the general IDL astronomical functions have been converted (as one can pull from our git repo on sourceforge), complete with docstrings, but without extensive testing. But as is always the case, each of us individually became more concerned about the functionality that we needed for our research. For instance, much of my reliance on IDL has been due to the coordinate conversion functions - so I had just ported that part of wcslib into python. (The other half of my reliance on IDL has come from the pixel to wcs coordinate transformations and the image manipulation and alignment scripts, which I'm currently working on). 

We've also been receiving a lot of contributed code for a variety of tools and functions that other users have needed. Up till now, we haven't had a place to put this code. Now considering the path that this project has taken, we're moving in a different direction, which is to round up the contributed code, even if it doesn't actually fit in the IDL AstroLib framework, give it a common API, and just get people using it as is for now, and slowly categorize and refine the code in subsequent releases. 

That's basically where we are with pyAstroLib. I hope this clears up some of the confusion and helps coordinating effort. 

Mubdi Rahman

on behalf of the pyAstroLib crew.

----- Original Message ----
> From: James Turner <jturner@gemini.edu>
> To: AstroPy <astropy@scipy.net>; SciPy Users List <scipy-user@scipy.org>
> Sent: Wed, June 30, 2010 5:48:23 PM
> Subject: Co-ordinating Python astronomy libraries?
> Dear Python users in astronomy,

At SciPy 2009, I arranged an astronomy 
> BoF where we discussed the
fact that there are now a number of astronomy 
> libraries for Python
floating around and maybe it would be good to collect 
> more code into
a single place. People seemed receptive to this idea and 
> weren't sure
why it hasn't already happened, given that there has been an 
> Astrolib
page at SciPy for some years now, with an associated SVN 
> repository:

> >http://scipy.org/AstroLib

After the meeting last August, I was 
> supposed to contact the mailing
list and some library authors I had talked to 
> previously, to discuss
this further. My apologies for taking 10 months to do 
> that! I did
draft an email the day after the BoF, but then we ran into a 
> hurdle
with setting up new committers to the AstroLib repository (which 
> has
taken a lot longer than expected to resolve), so it seemed a bad
> to suggest that new people start using it.

To discuss these issues 
> further, we'd like to encourage everyone to
sign up for the AstroPy mailing 
> list if you are not already on it.
The traffic is just a few messages per 
> month.

> href="http://lists.astropy.scipy.org/mailman/listinfo/astropy" target=_blank 
> >http://lists.astropy.scipy.org/mailman/listinfo/astropy

We (the 2009 
> BoF group) would also like to hear on the list about
why people have decided 
> to host their own astronomy library (eg. not
being aware of the one at 
> SciPy). Are you interested in contributing
to Astrolib? Do you have any other 
> comments or concerns about
co-ordinating tools? Our motivation is to make 
> libraries easy to
find and install, allow sharing code easily, help 
> rationalize
available functionality and fill in what's missing. A 
> standard
astronomy library with a single set of documentation should be 
> more
coherent and easier to maintain. The idea is not to limit 
> authors'
flexibility of take ownership of their code -- the 
> sub-packages
can still be maintained by different people.

If you're at 
> SciPy this week, Perry Greenfield and I would be happy
to talk to you. If you 
> would like to add your existing library to
Astrolib, please contact Perry 
> Greenfield or Mark Sienkiewicz at
STScI for access (contact details at 
> href="http://scipy.org/AstroLib" target=_blank 
> >http://scipy.org/AstroLib).
Note that the repository is being moved to a 
> new server this week,
after which the URLs will be updated at 
> scipy.org.


James Turner (Gemini).

Bcc: various 
> library authors

More information about the AstroPy mailing list