<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
<span style="background-color: transparent; color: rgb(0, 0, 0);
font-family: Arial; font-size: 11pt; text-decoration: none;
vertical-align: baseline;">With regard to: "C extensions will be
allowed only when the provide a significant performance
enhancement over pure python. When C extensions are used, the
python interface must meet interface guidelines, and the use of
Cython is strongly recommended.</span>"<br>
<br>
In the case of something like pywcs, a C extension is used because
the WCS standard is so difficult to implement that it was easier to
use existing and well-tested code. It's not clear whether there was
a performance advantage over a Numpy-based implementation (I'm not
taking a position either way, I'm saying that such an experiment was
never done, and performance was not a motivating factor.) There are
a lot of good reasons beyond performance to use non-Python extension
code, so I don't know if we should artificially limit ourselves
here.<br>
<br>
With respect to: "<span style="background-color: transparent; color:
rgb(0, 0, 0); font-family: Arial; font-size: 11pt;
text-decoration: none; vertical-align: baseline;">Packages can
include data in [path tbd] as long as it is less than about 100
kb. These data should be accessed via the astropy.config.[funcname
tbd] mechanism. If the data exceeds this size, it should be hosted
outside the source code repository and downloaded using the
astropy.config.[funcname tbd] mechanism."<br>
<br>
I worry that there are often version dependencies between the code
and the data. (Matplotlib has a dependency on specific versions
of the STIX math fonts, for example). Having the data in a
separate code repository makes keeping this synchronized
trickier. I would instead say: large data required for
functioning of the library goes in the repository, but under a
special directory that is not distributed as part of the binary
distribution. The mechanism for accessing this data when needed
should be aware of the source code revision and download the
corresponding revision of the data.<br>
</span><br>
Mike<br>
<br>
</body>
</html>