<!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>