ANN: PyTables 1.3.1 - Hierarchical datasets

Francesc Altet faltet at carabos.com
Wed May 3 19:25:50 CEST 2006


===========================
 Announcing PyTables 1.3.1
===========================

This is a new minor release of PyTables. On it, you will find support
for NumPy integers as indexes of datasets and many bug fixes.

*Important note*: one of the fixes adresses a bug in the flushing of I/O
buffers that was introduced back in PyTables 1.1.  So, for those of you
that want to improve the integrity of the PyTables files during
unexpected crashes, an upgrade is strongly encouraged.

Go to the PyTables web site for downloading the beast:
http://www.pytables.org/

or keep reading for more info about the new features and bugs fixed.


Changes more in depth
=====================

Improvements:

- NumPy integer scalars are supported as indexes for ``__getitem__()``
  and ``__setitem__()`` methods in ``Leaf`` objects. In addition, any
  object that exposes the __index__() method (see PEP 357) is
  supported as well. This later feature will be more useful for those
  of you that start using Python 2.5. Meanwhile, PyTables will use its
  own guessing (quite trivial, in fact) in order to convert indexes to
  64-bit integers (you know, PyTables does support 64-bit indexes even
  in 32-bit platforms).

Bug fixes:

- ``Leaf.flush()`` didn't force an actual flush on-disk at HDF5 level,
  raising the chances of letting the file in an inconsistent state
  during an unexpected shutdown of the program.  Now, it works as it
  should.  This bug was around from PyTables 1.1 on.  Thanks to Andrew
  Straw for complaining about this persistently enough. ;-)

- The code for recognizing a leaf class in a native HDF5 file was not
  aware of the ``trMap`` option if ``openFile()``, thus giving
  potentially scary error messages.  This has been fixed.

- When an iterator was used on an unbound table, PyTables crashed. A
  workaround has been implemented so as to avoid this. In addition, a
  better solution has been devised, but as it requires an in-deep
  refactorisation, it will be delivered with PyTables 1.4 series.

- Added ``Enum.__ne__()`` method to avoid equal enumerations comparing
  to both True and False.  Closes ticket #8 (thanks to Ashley Walsh).

- Work around Python bug when storing floats in attributes under some
  locales.  See ticket #9 (thanks to Fabio Zadrozny).

Deprecated features:

- None

Backward-incompatible changes:

- Please, see ``RELEASE-NOTES.txt`` file.


Important note for Windows users
================================

If you are willing to use PyTables with Python 2.4 in Windows platforms,
you will need to get the HDF5 library compiled for MSVC 7.1, aka .NET
2003.  It can be found at:
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-165-win-net.ZIP

Users of Python 2.3 on Windows will have to download the version of HDF5
compiled with MSVC 6.0 available in:
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-165-win.ZIP


What it is
==========

**PyTables** is a package for managing hierarchical datasets and
designed to efficiently cope with extremely large amounts of data (with
support for full 64-bit file addressing).  It features an
object-oriented interface that, combined with C extensions for the
performance-critical parts of the code, makes it a very easy-to-use tool
for high performance data storage and retrieval.

PyTables runs on top of the HDF5 library and numarray (but NumPy and
Numeric are also supported) package for achieving maximum throughput and
convenient use.

Besides, PyTables I/O for table objects is buffered, implemented in C
and carefully tuned so that you can reach much better performance with
PyTables than with your own home-grown wrappings to the HDF5 library.
PyTables sports indexing capabilities as well, allowing doing selections
in tables exceeding one billion of rows in just seconds.


Platforms
=========

This version has been extensively checked on quite a few platforms, like
Linux on Intel32 (Pentium), Win on Intel32 (Pentium), Linux on Intel64
(Itanium2), FreeBSD on AMD64 (Opteron), Linux on PowerPC (and PowerPC64)
and MacOSX on PowerPC.  For other platforms, chances are that the code
can be easily compiled and run without further issues.  Please, contact
us in case you are experiencing problems.


Resources
=========

Go to the PyTables web site for more details:

http://www.pytables.org

About the HDF5 library:

http://hdf.ncsa.uiuc.edu/HDF5/

About numarray:

http://www.stsci.edu/resources/software_hardware/numarray

To know more about the company behind the PyTables development, see:

http://www.carabos.com/


Acknowledgments
===============

Thanks to various the users who provided feature improvements, patches,
bug reports, support and suggestions.  See the ``THANKS`` file in the
distribution package for a (incomplete) list of contributors.  Many
thanks also to SourceForge who have helped to make and distribute this
package!  And last but not least, a big thank you to THG
(http://www.hdfgroup.org/) for sponsoring many of the new features
recently introduced in PyTables.


Share your experience
=====================

Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.


----

  **Enjoy data!**

  -- The PyTables Team



More information about the Python-announce-list mailing list