Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 4726f970c4b56b9a0ebb9a03a0b6522e > files > 171

python-tables-doc-3.0.0-4.mga4.noarch.rpm




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>PyTables File Format &mdash; PyTables 3.0.0 documentation</title>
    
    <link rel="stylesheet" href="../_static/cloud.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '3.0.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/jquery.cookie.js"></script>
    <script type="text/javascript" src="../_static/toggle_sections.js"></script>
    <script type="text/javascript" src="../_static/toggle_sidebar.js"></script>
    <link rel="shortcut icon" href="../_static/favicon.ico"/>
    <link rel="top" title="PyTables 3.0.0 documentation" href="../index.html" />
    <link rel="up" title="PyTables User’s Guide" href="index.html" />
    <link rel="next" title="Bibliography" href="bibliography.html" />
    <link rel="prev" title="Utilities" href="utilities.html" /> 
  </head>
  <body>
    <div class="relbar-top">
        
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="../np-modindex.html" title="Python Module Index"
             >modules</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="bibliography.html" title="Bibliography"
             accesskey="N">next</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="utilities.html" title="Utilities"
             accesskey="P">previous</a> &nbsp; &nbsp;</li>
    <li><a href="../index.html">PyTables 3.0.0 documentation</a> &raquo;</li>

          <li><a href="index.html" accesskey="U">PyTables User&#8217;s Guide</a> &raquo;</li> 
      </ul>
    </div>
    </div>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="pytables-file-format">
<h1>PyTables File Format<a class="headerlink" href="#pytables-file-format" title="Permalink to this headline">¶</a></h1>
<p>PyTables has a powerful capability to deal with native HDF5 files created
with another tools. However, there are situations were you may want to create
truly native PyTables files with those tools while retaining fully
compatibility with PyTables format. That is perfectly possible, and in this
appendix is presented the format that you should endow to your own-generated
files in order to get a fully PyTables compatible file.</p>
<p>We are going to describe the <em>2.0 version of PyTables file format</em>
(introduced in PyTables version 2.0). As time goes by, some changes might be
introduced (and documented here) in order to cope with new necessities.
However, the changes will be carefully pondered so as to ensure backward
compatibility whenever is possible.</p>
<p>A PyTables file is composed with arbitrarily large amounts of HDF5 groups
(Groups in PyTables naming scheme) and datasets (Leaves in PyTables naming
scheme). For groups, the only requirements are that they must have some
<em>system attributes</em> available. By convention, system attributes in PyTables
are written in upper case, and user attributes in lower case but this is not
enforced by the software. In the case of datasets, besides the mandatory
system attributes, some conditions are further needed in their storage
layout, as well as in the datatypes used in there, as we will see shortly.</p>
<p>As a final remark, you can use any filter as you want to create a PyTables
file, provided that the filter is a standard one in HDF5, like <em>zlib</em>,
<em>shuffle</em> or <em>szip</em> (although the last one can not be used from within
PyTables to create a new file, datasets compressed with szip can be read,
because it is the HDF5 library which do the decompression transparently).</p>
<div class="section" id="mandatory-attributes-for-a-file">
<h2>Mandatory attributes for a File<a class="headerlink" href="#mandatory-attributes-for-a-file" title="Permalink to this headline">¶</a></h2>
<p>The File object is, in fact, an special HDF5 <em>group</em> structure that is <em>root</em>
for the rest of the objects on the object tree. The next attributes are
mandatory for the HDF5 <em>root group</em> structure in PyTables files:</p>
<ul class="simple">
<li><em>CLASS</em>: This attribute should always be set to &#8216;GROUP&#8217; for group
structures.</li>
<li><em>PYTABLES_FORMAT_VERSION</em>: It represents the internal format version, and
currently should be set to the &#8216;2.0&#8217; string.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
group used for.</li>
<li><em>VERSION</em>: Should contains the string &#8216;1.0&#8217;.</li>
</ul>
</div>
<div class="section" id="mandatory-attributes-for-a-group">
<h2>Mandatory attributes for a Group<a class="headerlink" href="#mandatory-attributes-for-a-group" title="Permalink to this headline">¶</a></h2>
<p>The next attributes are mandatory for <em>group</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: This attribute should always be set to &#8216;GROUP&#8217; for group structures.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
group used for.</li>
<li><em>VERSION</em>: Should contains the string &#8216;1.0&#8217;.</li>
</ul>
</div>
<div class="section" id="optional-attributes-for-a-group">
<h2>Optional attributes for a Group<a class="headerlink" href="#optional-attributes-for-a-group" title="Permalink to this headline">¶</a></h2>
<p>The next attributes are optional for <em>group</em> structures:</p>
<ul class="simple">
<li><em>FILTERS</em>: When present, this attribute contains the filter properties (a
Filters instance, see section <a class="reference internal" href="libref/helper_classes.html#filtersclassdescr"><em>The Filters class</em></a>) that may be
inherited by leaves or groups created immediately under this group. This is
a packed 64-bit integer structure, where<ul>
<li><em>byte 0</em> (the least-significant byte) is the compression level
(complevel).</li>
<li><em>byte 1</em> is the compression library used (complib): 0 when irrelevant, 1
for Zlib, 2 for LZO and 3 for Bzip2.</li>
<li><em>byte 2</em> indicates which parameterless filters are enabled (shuffle and
fletcher32): bit 0 is for <em>Shuffle</em> while bit 1 is for*Fletcher32*.</li>
<li>other bytes are reserved for future use.</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="mandatory-attributes-storage-layout-and-supported-data-types-for-leaves">
<h2>Mandatory attributes, storage layout and supported data types for Leaves<a class="headerlink" href="#mandatory-attributes-storage-layout-and-supported-data-types-for-leaves" title="Permalink to this headline">¶</a></h2>
<p>This depends on the kind of Leaf. The format for each type follows.</p>
<div class="section" id="table-format">
<span id="tableformatdescr"></span><h3>Table format<a class="headerlink" href="#table-format" title="Permalink to this headline">¶</a></h3>
<div class="section" id="mandatory-attributes">
<h4>Mandatory attributes<a class="headerlink" href="#mandatory-attributes" title="Permalink to this headline">¶</a></h4>
<p>The next attributes are mandatory for <em>table</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: Must be set to &#8216;TABLE&#8217;.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
dataset used for.</li>
<li><em>VERSION</em>: Should contain the string &#8216;2.6&#8217;.</li>
<li><em>FIELD_X_NAME</em>: It contains the names of the different fields. The X means
the number of the field, zero-based (beware, order do matter). You should
add as many attributes of this kind as fields you have in your records.</li>
<li><em>FIELD_X_FILL</em>: It contains the default values of the different fields. All
the datatypes are supported natively, except for complex types that are
currently serialized using Pickle.  The X means the number of the field,
zero-based (beware, order do matter). You should add as many attributes of
this kind as fields you have in your records.  These fields are meant for
saving the default values persistently and their existence is optional.</li>
<li><em>NROWS</em>: This should contain the number of <em>compound</em> data type entries in
the dataset. It must be an <em>int</em> data type.</li>
</ul>
</div>
<div class="section" id="storage-layout">
<h4>Storage Layout<a class="headerlink" href="#storage-layout" title="Permalink to this headline">¶</a></h4>
<p>A Table has a <em>dataspace</em> with a <em>1-dimensional chunked</em> layout.</p>
</div>
<div class="section" id="datatypes-supported">
<h4>Datatypes supported<a class="headerlink" href="#datatypes-supported" title="Permalink to this headline">¶</a></h4>
<p>The datatype of the elements (rows) of Table must be the H5T_COMPOUND
<em>compound</em> data type, and each of these compound components must be built
with only the next HDF5 data types <em>classes</em>:</p>
<ul>
<li><p class="first"><em>H5T_BITFIELD</em>: This class is used to represent the Bool type. Such a type
must be build using a H5T_NATIVE_B8 datatype, followed by a HDF5
H5Tset_precision call to set its precision to be just 1 bit.</p>
</li>
<li><dl class="first docutils">
<dt><em>H5T_INTEGER</em>: This includes the next data types:</dt>
<dd><ul class="first last simple">
<li><em>H5T_NATIVE_SCHAR</em>: This represents a <em>signed char</em> C type, but it is
effectively used to represent an Int8 type.</li>
<li><em>H5T_NATIVE_UCHAR</em>:  This represents an <em>unsigned char</em> C type, but it
is effectively used to represent an UInt8 type.</li>
<li><em>H5T_NATIVE_SHORT</em>: This represents a <em>short</em> C type, and it is
effectively used to represent an Int16 type.</li>
<li><em>H5T_NATIVE_USHORT</em>: This represents an <em>unsigned short</em> C type, and it
is effectively used to represent an UInt16 type.</li>
<li><em>H5T_NATIVE_INT</em>: This represents an <em>int</em> C type, and it is
effectively used to represent an Int32 type.</li>
<li><em>H5T_NATIVE_UINT</em>: This represents an <em>unsigned int</em> C type, and it is
effectively used to represent an UInt32 type.</li>
<li><em>H5T_NATIVE_LONG</em>: This represents a <em>long</em> C type, and it is
effectively used to represent an Int32 or an Int64, depending on
whether you are running a 32-bit or 64-bit architecture.</li>
<li><em>H5T_NATIVE_ULONG</em>: This represents an <em>unsigned long</em> C type, and it
is effectively used to represent an UInt32 or an UInt64, depending on
whether you are running a 32-bit or 64-bit architecture.</li>
<li><em>H5T_NATIVE_LLONG</em>: This represents a <em>long long</em> C type (__int64, if
you are using a Windows system) and it is effectively used to represent
an Int64 type.</li>
<li><em>H5T_NATIVE_ULLONG</em>: This represents an <em>unsigned long long</em> C type
(beware: this type does not have a correspondence on Windows systems)
and it is effectively used to represent an UInt64 type.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><em>H5T_FLOAT</em>: This includes the next datatypes:</dt>
<dd><ul class="first last simple">
<li><em>H5T_NATIVE_FLOAT</em>: This represents a <em>float</em> C type and it is
effectively used to represent an Float32 type.</li>
<li><em>H5T_NATIVE_DOUBLE</em>: This represents a <em>double</em> C type and it is
effectively used to represent an Float64 type.</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><em>H5T_TIME</em>: This includes the next datatypes:</dt>
<dd><ul class="first last simple">
<li><em>H5T_UNIX_D32</em>: This represents a POSIX <em>time_t</em> C type and it is
effectively used to represent a &#8216;Time32&#8217; aliasing type, which
corresponds to an Int32 type.</li>
<li><em>H5T_UNIX_D64</em>: This represents a POSIX <em>struct timeval</em> C type and it
is effectively used to represent a &#8216;Time64&#8217; aliasing type, which
corresponds to a Float64 type.</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first"><em>H5T_STRING</em>: The datatype used to describe strings in PyTables is H5T_C_S1
(i.e. a <em>string</em> C type) followed with a call to the HDF5 H5Tset_size()
function to set their length.</p>
</li>
<li><p class="first"><em>H5T_ARRAY</em>: This allows the construction of homogeneous, multidimensional
arrays, so that you can include such objects in compound records. The types
supported as elements of H5T_ARRAY data types are the ones described above.
Currently, PyTables does not support nested H5T_ARRAY types.</p>
</li>
<li><p class="first"><em>H5T_COMPOUND</em>: This allows the support for datatypes that are compounds of
compounds (this is also known as <em>nested types</em> along this manual).</p>
<p>This support can also be used for defining complex numbers. Its format is
described below:</p>
<p>The H5T_COMPOUND type class contains two members. Both members must have
the H5T_FLOAT atomic datatype class. The name of the first member should be
&#8220;r&#8221; and represents the real part. The name of the second member should be
&#8220;i&#8221; and represents the imaginary part. The <em>precision</em> property of both of
the H5T_FLOAT members must be either 32 significant bits (e.g.
H5T_NATIVE_FLOAT) or 64 significant bits (e.g. H5T_NATIVE_DOUBLE). They
represent Complex32 and Complex64 types respectively.</p>
</li>
</ul>
</div>
</div>
<div class="section" id="array-format">
<h3>Array format<a class="headerlink" href="#array-format" title="Permalink to this headline">¶</a></h3>
<div class="section" id="id1">
<h4>Mandatory attributes<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
<p>The next attributes are mandatory for <em>array</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: Must be set to &#8216;ARRAY&#8217;.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
dataset used for.</li>
<li><em>VERSION</em>: Should contain the string &#8216;2.3&#8217;.</li>
</ul>
</div>
<div class="section" id="id2">
<h4>Storage Layout<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>
<p>An Array has a <em>dataspace</em> with a <em>N-dimensional contiguous</em> layout (if you
prefer a <em>chunked</em> layout see EArray below).</p>
</div>
<div class="section" id="id3">
<h4>Datatypes supported<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h4>
<p>The elements of Array must have either HDF5 <em>atomic</em> data types or a
<em>compound</em> data type representing a complex number. The atomic data types can
currently be one of the next HDF5 data type <em>classes</em>: H5T_BITFIELD,
H5T_INTEGER, H5T_FLOAT and H5T_STRING. The H5T_TIME class is also supported
for reading existing Array objects, but not for creating them. See the Table
format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for more info about these
types.</p>
<p>In addition to the HDF5 atomic data types, the Array format supports complex
numbers with the H5T_COMPOUND data type class.
See the Table format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for more info
about this special type.</p>
<p>You should note that H5T_ARRAY class datatypes are not allowed in Array
objects.</p>
</div>
</div>
<div class="section" id="carray-format">
<h3>CArray format<a class="headerlink" href="#carray-format" title="Permalink to this headline">¶</a></h3>
<div class="section" id="id4">
<h4>Mandatory attributes<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h4>
<p>The next attributes are mandatory for <em>CArray</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: Must be set to &#8216;CARRAY&#8217;.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
dataset used for.</li>
<li><em>VERSION</em>: Should contain the string &#8216;1.0&#8217;.</li>
</ul>
</div>
<div class="section" id="id5">
<h4>Storage Layout<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4>
<p>An CArray has a <em>dataspace</em> with a <em>N-dimensional chunked</em> layout.</p>
</div>
<div class="section" id="id6">
<h4>Datatypes supported<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h4>
<p>The elements of CArray must have either HDF5 <em>atomic</em> data types or a
<em>compound</em> data type representing a complex number. The atomic data types can
currently be one of the next HDF5 data type <em>classes</em>: H5T_BITFIELD,
H5T_INTEGER, H5T_FLOAT and H5T_STRING. The H5T_TIME class is also supported
for reading existing CArray objects, but not for creating them. See the Table
format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for more info about these
types.</p>
<p>In addition to the HDF5 atomic data types, the CArray format supports complex
numbers with the H5T_COMPOUND data type class.
See the Table format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for more info
about this special type.</p>
<p>You should note that H5T_ARRAY class datatypes are not allowed yet in Array
objects.</p>
</div>
</div>
<div class="section" id="earray-format">
<h3>EArray format<a class="headerlink" href="#earray-format" title="Permalink to this headline">¶</a></h3>
<div class="section" id="id7">
<h4>Mandatory attributes<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h4>
<p>The next attributes are mandatory for <em>earray</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: Must be set to &#8216;EARRAY&#8217;.</li>
<li><em>EXTDIM</em>: (<em>Integer</em>) Must be set to the extendable dimension. Only one
extendable dimension is supported right now.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
dataset used for.</li>
<li><em>VERSION</em>: Should contain the string &#8216;1.3&#8217;.</li>
</ul>
</div>
<div class="section" id="id8">
<h4>Storage Layout<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h4>
<p>An EArray has a <em>dataspace</em> with a <em>N-dimensional chunked</em> layout.</p>
</div>
<div class="section" id="id9">
<h4>Datatypes supported<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h4>
<p>The elements of EArray are allowed to have the same data types as for the
elements in the Array format. They can be one of the HDF5 <em>atomic</em> data type
<em>classes</em>: H5T_BITFIELD, H5T_INTEGER, H5T_FLOAT, H5T_TIME or H5T_STRING, see
the Table format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for more info about
these types. They can also be a H5T_COMPOUND datatype representing a complex
number, see the Table format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a>.</p>
<p>You should note that H5T_ARRAY class data types are not allowed in EArray
objects.</p>
</div>
</div>
<div class="section" id="vlarray-format">
<span id="vlarrayformatdescr"></span><h3>VLArray format<a class="headerlink" href="#vlarray-format" title="Permalink to this headline">¶</a></h3>
<div class="section" id="id10">
<h4>Mandatory attributes<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h4>
<p>The next attributes are mandatory for <em>vlarray</em> structures:</p>
<ul class="simple">
<li><em>CLASS</em>: Must be set to &#8216;VLARRAY&#8217;.</li>
<li><em>PSEUDOATOM</em>: This is used so as to specify the kind of pseudo-atom (see
<a class="reference internal" href="#vlarrayformatdescr"><em>VLArray format</em></a>) for the VLArray. It can take the values
&#8216;vlstring&#8217;, &#8216;vlunicode&#8217; or &#8216;object&#8217;. If your atom is not a pseudo-atom then
you should not specify it.</li>
<li><em>TITLE</em>: A string where the user can put some description on what is this
dataset used for.</li>
<li><em>VERSION</em>: Should contain the string &#8216;1.3&#8217;.</li>
</ul>
</div>
<div class="section" id="id11">
<h4>Storage Layout<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h4>
<p>An VLArray has a <em>dataspace</em> with a <em>1-dimensional chunked</em> layout.</p>
</div>
<div class="section" id="data-types-supported">
<h4>Data types supported<a class="headerlink" href="#data-types-supported" title="Permalink to this headline">¶</a></h4>
<p>The data type of the elements (rows) of VLArray objects must be the H5T_VLEN
<em>variable-length</em> (or VL for short) datatype, and the base datatype specified
for the VL datatype can be of any <em>atomic</em> HDF5 datatype that is listed in
the Table format description <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a>.  That includes the
classes:</p>
<ul class="simple">
<li>H5T_BITFIELD</li>
<li>H5T_INTEGER</li>
<li>H5T_FLOAT</li>
<li>H5T_TIME</li>
<li>H5T_STRING</li>
<li>H5T_ARRAY</li>
</ul>
<p>They can also be a H5T_COMPOUND data type representing a complex number, see
the Table format description in <a class="reference internal" href="#tableformatdescr"><em>Table format</em></a> for a detailed
description.</p>
<p>You should note that this does not include another VL datatype, or a compound
datatype that does not fit the description of a complex number. Note as well
that, for object and vlstring pseudo-atoms, the base for the VL datatype is
always a H5T_NATIVE_UCHAR (H5T_NATIVE_UINT for vlunicode). That means that
the complete row entry in the dataset has to be used in order to fully
serialize the object or the variable length string.</p>
</div>
</div>
</div>
<div class="section" id="optional-attributes-for-leaves">
<h2>Optional attributes for Leaves<a class="headerlink" href="#optional-attributes-for-leaves" title="Permalink to this headline">¶</a></h2>
<p>The next attributes are optional for <em>leaves</em>:</p>
<ul>
<li><p class="first"><em>FLAVOR</em>: This is meant to provide the information about the kind of object
kept in the Leaf, i.e. when the dataset is read, it will be converted to
the indicated flavor.
It can take one the next string values:</p>
<blockquote>
<div><ul class="simple">
<li><em>&#8220;numpy&#8221;</em>: Read data (structures arrays, arrays, records, scalars) will
be returned as NumPy objects.</li>
<li><em>&#8220;python&#8221;</em>: Read data will be returned as Python lists, tuples, or
scalars.</li>
</ul>
</div></blockquote>
</li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
        <p class="logo"><a href="../index.html">
          <img class="logo" src="../_static/logo-pytables-small.png" alt="Logo"/>
        </a></p>
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">PyTables File Format</a><ul>
<li><a class="reference internal" href="#mandatory-attributes-for-a-file">Mandatory attributes for a File</a></li>
<li><a class="reference internal" href="#mandatory-attributes-for-a-group">Mandatory attributes for a Group</a></li>
<li><a class="reference internal" href="#optional-attributes-for-a-group">Optional attributes for a Group</a></li>
<li><a class="reference internal" href="#mandatory-attributes-storage-layout-and-supported-data-types-for-leaves">Mandatory attributes, storage layout and supported data types for Leaves</a><ul>
<li><a class="reference internal" href="#table-format">Table format</a><ul>
<li><a class="reference internal" href="#mandatory-attributes">Mandatory attributes</a></li>
<li><a class="reference internal" href="#storage-layout">Storage Layout</a></li>
<li><a class="reference internal" href="#datatypes-supported">Datatypes supported</a></li>
</ul>
</li>
<li><a class="reference internal" href="#array-format">Array format</a><ul>
<li><a class="reference internal" href="#id1">Mandatory attributes</a></li>
<li><a class="reference internal" href="#id2">Storage Layout</a></li>
<li><a class="reference internal" href="#id3">Datatypes supported</a></li>
</ul>
</li>
<li><a class="reference internal" href="#carray-format">CArray format</a><ul>
<li><a class="reference internal" href="#id4">Mandatory attributes</a></li>
<li><a class="reference internal" href="#id5">Storage Layout</a></li>
<li><a class="reference internal" href="#id6">Datatypes supported</a></li>
</ul>
</li>
<li><a class="reference internal" href="#earray-format">EArray format</a><ul>
<li><a class="reference internal" href="#id7">Mandatory attributes</a></li>
<li><a class="reference internal" href="#id8">Storage Layout</a></li>
<li><a class="reference internal" href="#id9">Datatypes supported</a></li>
</ul>
</li>
<li><a class="reference internal" href="#vlarray-format">VLArray format</a><ul>
<li><a class="reference internal" href="#id10">Mandatory attributes</a></li>
<li><a class="reference internal" href="#id11">Storage Layout</a></li>
<li><a class="reference internal" href="#data-types-supported">Data types supported</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#optional-attributes-for-leaves">Optional attributes for Leaves</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="utilities.html"
                        title="previous chapter">Utilities</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="bibliography.html"
                        title="next chapter">Bibliography</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/usersguide/file_format.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="relbar-bottom">
        
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="../np-modindex.html" title="Python Module Index"
             >modules</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="bibliography.html" title="Bibliography"
             >next</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="utilities.html" title="Utilities"
             >previous</a> &nbsp; &nbsp;</li>
    <li><a href="../index.html">PyTables 3.0.0 documentation</a> &raquo;</li>

          <li><a href="index.html" >PyTables User&#8217;s Guide</a> &raquo;</li> 
      </ul>
    </div>
    </div>

    <div class="footer">
        &copy; Copyright 2011-2013, PyTables maintainers.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
    <!-- cloud_sptheme 1.3 -->
  </body>
</html>