Hello Martin, A Wednesday 23 September 2009 09:21:16 Martin Teichmann escrigué: > Hello List, > > I'm writing a scientific application, that could make good use of > Dimension Scales. Unfortunately, it is not possible to create those > with PyTables. I found some old code in the subversion repository, > but it was never included in the main trunk, I guess simply because > it was not good enough. > > I sat down and wrote a new version from scratch, following a completely > different approach. Instead of using the high-level routines of the > HDF5 library, I'm building the necessary attributes myself. Unfortunately, > dimension scales use much advanced features which pytables does not > support, especially References. So I wrote some code that adds the needed > functionality to tables. I first tried to be very generic, but soon had to > find out that the necessary features are so specific, that in order to make > it generic > one would have to write an entire new library. > > So I wrote it as generic as I could without adding too much code, while > making dimension scales possible. So I added the capability to make > attributes that contain lists of lists, and some weird kind of tables, > which is what is needed. I'm using python lists, not numpy arrays, firstly > because numpy arrays are not so efficient to store References (which I > implemented as python objects), and secondly this way I can avoid unwanted > incompatibilities with existing code.
Thanks for sharing your implementation. I'm about to leave for several days, so I cannot have an in-deep look at your code, but I'm really interested in putting this into PyTables. In order to do that, some issues should be addressed first: - It would be nice if your code can run with both HDF5 1.6.x and HDF5 1.8.x. After having a look at the code, it seems so to me. Can you confirm this? - Documentation: one of the areas where PyTables wants to shine is in exhaustively documenting every piece of public code. If you don't like the idea of updating the User's Guide, could you at least provide some docstrings for the public functions/classes/methods? - Unit tests: this is another important aspect for PyTables. Could you provide some test units that checks the basic behaviour at very least? You can look into the tables/tests directory for examples on how to add some. - Finally, I've recently added support for native compound types as attributes in trunk (http://pytables.org/trac/ticket/208). Would that help for simplifying your implementation? Thanks again! -- Francesc Alted ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Pytables-users mailing list Pytables-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pytables-users