Hi,

I've created two new nix-expressions, that I need to use the Pandas package.

* PyTables is a python library for HDF5 storage. It's a different approach
than h5py in that it is not a pythonic wrapper of the C library, but rather
implements relational db alike features. Pandas depends on it to read/write
HDF5 files.
http://www.pytables.org/moin

* numexpr speeds up numpy ndarray expressions. PyTables depends on it.
https://github.com/pydata/numexpr

However, I have a few questions before I go ahead and send a pull-request.

A) Is there some kind of test suite that I need to run on the expressions
before I can send a pull request? (I can build and use them...)
B) Which branch should I send the pull-request to? Is master fine?
C1) Both packages have a test-suite. However, it's not integrated into `
setup.py`. I managed to get it running within the nix build process anyway.
The corresponding `checkPhase` is attached below. Is that an acceptable way
of doing this, or should I just set `doCheck = false;`?
C2) The test-suite of pytables takes quite some time and has a number of
failures of the "not-implemented" type. Is it worth including that
test-suite or should I just leave that one out?
D1) Pandas works without pytables. However, without it, it cannot
import/export hdf5 archives. Should I add PyTables as a dependency to
Pandas, or should every user individually add both to his environment if he
needs both? Or is there a way to make it an optional dependency?
D2) The latest release of Pandas is 0.14.0, the nix-pkgs version is 0.12.0.
Should I use this opportunity to bump that version number, or should this
go through a different channel?

I've read the contributing guides on the wiki (at least those that I could
find). I learned a lot from them, but the above questions remained.

Best,

Andreas


The numexpr `checkPhase` within a call to `buildPythonPackage`:
------------------------------------------------------------------------------------------

    # Run the test suite.
    # It requires the build path to be in the python module search path.
    checkPhase = ''
      ${python}/bin/${python.executable} <<EOF
      import sysconfig
      import sys
      import os
      f = "lib.{platform}-{version[0]}.{version[1]}"
      lib = f.format(platform=sysconfig.get_platform(),
                     version=sys.version_info)
      build = os.path.join(os.getcwd(), 'build', lib)
      sys.path.insert(0, build)
      import numexpr
      numexpr.test()
      EOF
    '';
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to