Sophie

Sophie

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

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>Migrating from PyTables 1.x to 2.x &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 Release Notes" href="release_notes.html" />
    <link rel="next" title="Release notes for PyTables 3.0 series" href="release-notes/RELEASE_NOTES_v3.0.x.html" />
    <link rel="prev" title="Migrating from PyTables 2.x to 3.x" href="MIGRATING_TO_3.x.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="release-notes/RELEASE_NOTES_v3.0.x.html" title="Release notes for PyTables 3.0 series"
             accesskey="N">next</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="MIGRATING_TO_3.x.html" title="Migrating from PyTables 2.x to 3.x"
             accesskey="P">previous</a> &nbsp; &nbsp;</li>
    <li><a href="index.html">PyTables 3.0.0 documentation</a> &raquo;</li>

          <li><a href="release_notes.html" accesskey="U">PyTables Release Notes</a> &raquo;</li> 
      </ul>
    </div>
    </div>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="migrating-from-pytables-1-x-to-2-x">
<h1>Migrating from PyTables 1.x to 2.x<a class="headerlink" href="#migrating-from-pytables-1-x-to-2-x" title="Permalink to this headline">¶</a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Author:</th><td class="field-body">Francesc Alted i Abad</td>
</tr>
<tr class="field-even field"><th class="field-name">Contact:</th><td class="field-body"><a class="reference external" href="mailto:faltet&#37;&#52;&#48;pytables&#46;com">faltet<span>&#64;</span>pytables<span>&#46;</span>com</a></td>
</tr>
<tr class="field-odd field"><th class="field-name">Author:</th><td class="field-body">Ivan Vilata i Balaguer</td>
</tr>
<tr class="field-even field"><th class="field-name">Contact:</th><td class="field-body"><a class="reference external" href="mailto:ivan&#37;&#52;&#48;selidor&#46;net">ivan<span>&#64;</span>selidor<span>&#46;</span>net</a></td>
</tr>
</tbody>
</table>
<p>Next are described a series of issues that you must have in mind when
migrating from PyTables 1.x to PyTables 2.x series.</p>
<div class="section" id="new-type-system">
<h2>New type system<a class="headerlink" href="#new-type-system" title="Permalink to this headline">¶</a></h2>
<p>In PyTables 2.x all the data types for leaves are described through a couple
of classes:</p>
<ul>
<li><dl class="first docutils">
<dt><tt class="docutils literal"><span class="pre">Atom</span></tt>: Describes homogeneous types of the atomic components in <tt class="docutils literal"><span class="pre">*Array</span></tt></dt>
<dd><p class="first last">objects (<tt class="docutils literal"><span class="pre">Array</span></tt>, <tt class="docutils literal"><span class="pre">CArray</span></tt>, <tt class="docutils literal"><span class="pre">EArray</span></tt> and <tt class="docutils literal"><span class="pre">VLArray</span></tt>).</p>
</dd>
</dl>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Description</span></tt>: Describes (possibly nested) heterogeneous types in
<tt class="docutils literal"><span class="pre">Table</span></tt> objects.</p>
</li>
</ul>
<p>So, in order to upgrade to the new type system, you must perform the next
replacements:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">*Array.stype</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">*Array.atom.type</span></tt> (PyTables type)</li>
<li><tt class="docutils literal"><span class="pre">*Array.type</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">*Array.atom.dtype</span></tt> (NumPy type)</li>
<li><tt class="docutils literal"><span class="pre">*Array.itemsize</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">*Array.atom.itemsize</span></tt> (the size of the item)</li>
</ul>
<p>Furthermore, the PyTables types (previously called &#8220;string types&#8221;) have
changed to better adapt to NumPy conventions.  The next changes have been
applied:</p>
<ul class="simple">
<li>PyTables types are now written in lower case, so &#8216;Type&#8217; becomes &#8216;type&#8217;.  For
example, &#8216;Int64&#8217; becomes now &#8216;int64&#8217;.</li>
<li>&#8216;CharType&#8217; &#8211;&gt; &#8216;string&#8217;</li>
<li>&#8216;Complex32&#8217;, &#8216;Complex64&#8217; &#8211;&gt; &#8216;complex64&#8217;, &#8216;complex128&#8217;.  Note that the
numeric part of a &#8216;complex&#8217; type refers now to the <em>size in bits</em> of the
type and not to the precision, as before.</li>
</ul>
<p>See Appendix I of the Users&#8217; Manual on supported data types for more
information on the new PyTables types.</p>
</div>
<div class="section" id="important-changes-in-atom-specification">
<h2>Important changes in <tt class="docutils literal"><span class="pre">Atom</span></tt> specification<a class="headerlink" href="#important-changes-in-atom-specification" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">The <tt class="docutils literal"><span class="pre">dtype</span></tt> argument of <tt class="docutils literal"><span class="pre">EnumAtom</span></tt> and <tt class="docutils literal"><span class="pre">EnumCol</span></tt> constructors
has been replaced by the <tt class="docutils literal"><span class="pre">base</span></tt> argument, which can take a
full-blown atom, although it accepts bare PyTables types as well.
This is a <em>mandatory</em> argument now.</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">vlstring</span></tt> pseudo-atoms used in <tt class="docutils literal"><span class="pre">VLArray</span></tt> nodes do no longer imply UTF-8
(nor any other) encoding, they only store and load <em>raw strings of bytes</em>.
All encoding and decoding is left to the user.  Be warned that reading old
files may yield raw UTF-8 encoded strings, which may be coverted back to
Unicode in this way:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">unistr</span> <span class="o">=</span> <span class="n">vlarray</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">&#39;utf-8&#39;</span><span class="p">)</span>
</pre></div>
</div>
<p>If you need to work with variable-length Unicode strings, you may want to
use the new <tt class="docutils literal"><span class="pre">vlunicode</span></tt> pseudo-atom, which fully supports Unicode strings
with no encoding hassles.</p>
</li>
<li><p class="first">Finally, <tt class="docutils literal"><span class="pre">Atom</span></tt> and <tt class="docutils literal"><span class="pre">Col</span></tt> are now abstract classes, so you can&#8217;t use
them to create atoms or column definitions of an arbitrary type.  If you
know the particular type you need, use the proper subclass; otherwise, use
the <tt class="docutils literal"><span class="pre">Atom.from_*()</span></tt> or <tt class="docutils literal"><span class="pre">Col.from_*()</span></tt> factory methods.  See the section
on declarative classes in the reference.</p>
<p>You are also advised to avoid using the inheritance of atoms to check for
their kind or type; for that purpose, use their <tt class="docutils literal"><span class="pre">kind</span></tt> and <tt class="docutils literal"><span class="pre">type</span></tt>
attributes.</p>
</li>
</ul>
</div>
<div class="section" id="new-query-system">
<h2>New query system<a class="headerlink" href="#new-query-system" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first">In-kernel conditions, since they are based now in Numexpr, must be written
<em>as strings</em>.  For example, a condition that in 1.x was stated as:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">row</span><span class="p">[</span><span class="s">&#39;col2&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">table</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">table</span><span class="o">.</span><span class="n">cols</span><span class="o">.</span><span class="n">col1</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)]</span>
</pre></div>
</div>
<p>now should read:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">result</span> <span class="o">=</span> <span class="p">[</span><span class="n">row</span><span class="p">[</span><span class="s">&#39;col2&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">table</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="s">&#39;col1 == 1&#39;</span><span class="p">)]</span>
</pre></div>
</div>
<p>That means that complex selections are possible now:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">result</span> <span class="o">=</span> <span class="p">[</span> <span class="n">row</span><span class="p">[</span><span class="s">&#39;col2&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span>
           <span class="n">table</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="s">&#39;(col1 == 1) &amp; (col3**4 &gt; 1)&#39;</span><span class="p">)</span> <span class="p">]</span>
</pre></div>
</div>
</li>
<li><p class="first">For the same reason, conditions for indexed columns must be written as
strings as well.</p>
</li>
</ul>
</div>
<div class="section" id="new-indexing-system">
<h2>New indexing system<a class="headerlink" href="#new-indexing-system" title="Permalink to this headline">¶</a></h2>
<p>The indexing system has been totally rewritten from scratch for PyTables 2.0
Pro Edition (<a class="reference external" href="http://www.pytables.com/moin/PyTablesPro">http://www.pytables.com/moin/PyTablesPro</a>).  The new indexing
systemsame has been included into PyTables with release 2.3.  Due to this,
your existing indexes created with PyTables 1.x will be useless, and although
you will be able to continue using the actual data in files, you won&#8217;t be
able to take advantage of any improvement in speed.</p>
<p>You will be offered the possibility to automatically re-create the indexes
in PyTables 1.x format to the new 2.0 format by using the <tt class="docutils literal"><span class="pre">ptrepack</span></tt>
utility.</p>
</div>
<div class="section" id="new-meanings-for-atom-shape-and-array-shape-argument">
<h2>New meanings for atom shape and <tt class="docutils literal"><span class="pre">*Array</span></tt> shape argument<a class="headerlink" href="#new-meanings-for-atom-shape-and-array-shape-argument" title="Permalink to this headline">¶</a></h2>
<p>With PyTables 1.x, the atom shape was used for different goals depending on
the context it was used.  For example, in <tt class="docutils literal"><span class="pre">createEArray()</span></tt>, the shape of the
atom was used to specify the <em>dataset shape</em> of the object on disk, while in
<tt class="docutils literal"><span class="pre">CArray</span></tt> the same atom shape was used to specify the <em>chunk shape</em> of the
dataset on disk.  Moreover, for <tt class="docutils literal"><span class="pre">VLArray</span></tt> objects, the very same atom shape
specified the <em>type shape</em> of the data type.  As you see, all of these was
quite a mess.</p>
<p>Starting with PyTables 2.x, an <tt class="docutils literal"><span class="pre">Atom</span></tt> only specifies properties of the data
type (à la <tt class="docutils literal"><span class="pre">VLArray</span></tt> in 1.x).  This lets the door open for specifying
multidimensional data types (that can be part of another layer of
multidimensional datasets) in a consistent way along all the <tt class="docutils literal"><span class="pre">*Array</span></tt>
objects in PyTables.</p>
<p>As a consequence of this, <tt class="docutils literal"><span class="pre">File.createCArray()</span></tt> and <tt class="docutils literal"><span class="pre">File.createVLArray()</span></tt>
methods have received new parameters in order to make possible to specify the
shapes of the datasets as well as chunk sizes (in fact, it is possible now to
specify the latter for all the chunked leaves, see below).  Please have this
in mind during the migration process.</p>
<p>Another consequence is that, now that the meaning of the atom shape is clearly
defined, it has been chosen as the main object to describe homogeneous data
types in PyTables.  See the Users&#8217; Manual for more info on this.</p>
</div>
<div class="section" id="new-argument-chunkshape-of-chunked-leaves">
<h2>New argument <tt class="docutils literal"><span class="pre">chunkshape</span></tt> of chunked leaves<a class="headerlink" href="#new-argument-chunkshape-of-chunked-leaves" title="Permalink to this headline">¶</a></h2>
<p>It is possible now to specify the chunk shape for all the chunked leaves in
PyTables (all except <tt class="docutils literal"><span class="pre">Array</span></tt>).  With PyTables 1.x this value was
automatically calculated so as to achieve decent results in most of the
situations.  However, the user may be interested in specifying its own chunk
shape based on her own needs (although this should be done only by advanced
users).</p>
<p>Of course, if this parameter is not specified, a sensible default is
calculated for the size of the leave (which is recommended).</p>
<p>A new attribute called <tt class="docutils literal"><span class="pre">chunkshape</span></tt> has been added to all leaves.  It is
read-only (you can&#8217;t change the size of chunks once you have created a leaf),
but it can be useful for inspection by advanced users.</p>
</div>
<div class="section" id="new-flavor-specification">
<h2>New flavor specification<a class="headerlink" href="#new-flavor-specification" title="Permalink to this headline">¶</a></h2>
<p>As of 2.x, flavors can <em>only</em> be set through the <tt class="docutils literal"><span class="pre">flavor</span></tt> attribute of
leaves, and they are <em>persistent</em>, so changing a flavor requires that the file
be writable.</p>
<p>Flavors can no longer be set through <tt class="docutils literal"><span class="pre">File.create*()</span></tt> methods, nor the
<tt class="docutils literal"><span class="pre">flavor</span></tt> argument previously found in some <tt class="docutils literal"><span class="pre">Table</span></tt> methods, nor through
<tt class="docutils literal"><span class="pre">Atom</span></tt> constructors or the <tt class="docutils literal"><span class="pre">_v_flavor</span></tt> attribute of descriptions.</p>
</div>
<div class="section" id="system-attributes-can-be-deleted-now">
<h2>System attributes can be deleted now<a class="headerlink" href="#system-attributes-can-be-deleted-now" title="Permalink to this headline">¶</a></h2>
<p>The protection against removing system attributes (like <tt class="docutils literal"><span class="pre">FILTERS</span></tt>,
<tt class="docutils literal"><span class="pre">FLAVOR</span></tt> or <tt class="docutils literal"><span class="pre">CLASS</span></tt>, to name only a few) has been completely removed.  It
is now the responsibility of the user to make a proper use of this freedom.
With this, users can get rid of all proprietary PyTables attributes if they
want to (for example, for making a file to look more like an HDF5 native one).</p>
</div>
<div class="section" id="byteorder-issues">
<h2>Byteorder issues<a class="headerlink" href="#byteorder-issues" title="Permalink to this headline">¶</a></h2>
<p>Now, all the data coming from reads and internal buffers is always converted
on-the-fly, if needed, to the <em>native</em> byteorder.  This represents a big
advantage in terms of speed when operating with objects coming from files that
have been created in machines with a byte ordering different from native.</p>
<p>Besides, all leaf constructors have received a new <tt class="docutils literal"><span class="pre">byteorder</span></tt> parameter
that allows specifying the byteorder of data on disk.  In particular, a
<tt class="docutils literal"><span class="pre">_v_byteorder</span></tt> entry in a Table description is no longer honored and you
should use the aforementioned <tt class="docutils literal"><span class="pre">byteorder</span></tt> parameter.</p>
</div>
<div class="section" id="tunable-internal-buffer-sizes">
<h2>Tunable internal buffer sizes<a class="headerlink" href="#tunable-internal-buffer-sizes" title="Permalink to this headline">¶</a></h2>
<p>You can change the size of the internal buffers for I/O purposes of PyTables
by changing the value of the new public attribute <tt class="docutils literal"><span class="pre">nrowsinbuf</span></tt> that is
present in all leaves.  By default, this contains a sensible value so as to
achieve a good balance between speed and memory consumption.  Be careful when
changing it, if you don&#8217;t want to get unwanted results (very slow I/O, huge
memory consumption...).</p>
</div>
<div class="section" id="changes-to-module-names">
<h2>Changes to module names<a class="headerlink" href="#changes-to-module-names" title="Permalink to this headline">¶</a></h2>
<p>If your application is directly accessing modules under the <tt class="docutils literal"><span class="pre">tables</span></tt>
package, you need to know that <em>the names of all modules are now all in
lowercase</em>.  This allows one to tell apart the <tt class="docutils literal"><span class="pre">tables.Array</span></tt> <em>class</em> from
the <tt class="docutils literal"><span class="pre">tables.array</span></tt> <em>module</em> (which was also called <tt class="docutils literal"><span class="pre">tables.Array</span></tt> before).
This includes subpackages like <tt class="docutils literal"><span class="pre">tables.nodes.FileNode</span></tt>.</p>
<p>On top of that, more-or-less independent modules have also been renamed and
some of them grouped into subpackages.  The most important are:</p>
<ul class="simple">
<li>The <tt class="docutils literal"><span class="pre">tables.netcdf3</span></tt> subpackage replaces the old <tt class="docutils literal"><span class="pre">tables.NetCDF</span></tt> module.</li>
<li>The <tt class="docutils literal"><span class="pre">tables.nra</span></tt> subpackage replaces the old <tt class="docutils literal"><span class="pre">nestedrecords.py</span></tt> with the
implementation of the <tt class="docutils literal"><span class="pre">NestedRecArray</span></tt> class.</li>
</ul>
<p>Also, the <tt class="docutils literal"><span class="pre">tables.misc</span></tt> package includes utility modules which do not depend
on PyTables.</p>
</div>
<div class="section" id="other-changes">
<h2>Other changes<a class="headerlink" href="#other-changes" title="Permalink to this headline">¶</a></h2>
<ul>
<li><p class="first"><tt class="docutils literal"><span class="pre">Filters.complib</span></tt> is <tt class="docutils literal"><span class="pre">None</span></tt> for filter properties created with
<tt class="docutils literal"><span class="pre">complevel=0</span></tt> (i.e. disabled compression, which is the default).</p>
</li>
<li><p class="first">&#8216;non-relevant&#8217; &#8211;&gt; &#8216;irrelevant&#8217; (applied to byteorders)</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Table.colstypes</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">Table.coltypes</span></tt></p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Table.coltypes</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">Table.coldtypes</span></tt></p>
</li>
<li><p class="first">Added <tt class="docutils literal"><span class="pre">Table.coldescr</span></tt>, dictionary of the <tt class="docutils literal"><span class="pre">Col</span></tt> descriptions.</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Table.colshapes</span></tt> has disappeared.  You can get it this way:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">colshapes</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">col</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
                  <span class="k">for</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">col</span><span class="p">)</span> <span class="ow">in</span> <span class="n">table</span><span class="o">.</span><span class="n">coldescr</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()</span> <span class="p">)</span>
</pre></div>
</div>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Table.colitemsizes</span></tt> has disappeared.  You can get it this way:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">colitemsizes</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">col</span><span class="o">.</span><span class="n">itemsize</span><span class="p">)</span>
                     <span class="k">for</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">col</span><span class="p">)</span> <span class="ow">in</span> <span class="n">table</span><span class="o">.</span><span class="n">coldescr</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()</span> <span class="p">)</span>
</pre></div>
</div>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Description._v_totalsize</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">Description._v_itemsize</span></tt></p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Description._v_itemsizes</span></tt> and <tt class="docutils literal"><span class="pre">Description._v_totalsizes</span></tt> have
disappeared.</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">Leaf._v_chunksize</span></tt> &#8211;&gt; <tt class="docutils literal"><span class="pre">Leaf.chunkshape</span></tt></p>
</li>
</ul>
<hr class="docutils" />
<blockquote>
<div><p><strong>Enjoy data!</strong></p>
<p class="attribution">&mdash;The PyTables Team</p>
</div></blockquote>
</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="#">Migrating from PyTables 1.x to 2.x</a><ul>
<li><a class="reference internal" href="#new-type-system">New type system</a></li>
<li><a class="reference internal" href="#important-changes-in-atom-specification">Important changes in <tt class="docutils literal"><span class="pre">Atom</span></tt> specification</a></li>
<li><a class="reference internal" href="#new-query-system">New query system</a></li>
<li><a class="reference internal" href="#new-indexing-system">New indexing system</a></li>
<li><a class="reference internal" href="#new-meanings-for-atom-shape-and-array-shape-argument">New meanings for atom shape and <tt class="docutils literal"><span class="pre">*Array</span></tt> shape argument</a></li>
<li><a class="reference internal" href="#new-argument-chunkshape-of-chunked-leaves">New argument <tt class="docutils literal"><span class="pre">chunkshape</span></tt> of chunked leaves</a></li>
<li><a class="reference internal" href="#new-flavor-specification">New flavor specification</a></li>
<li><a class="reference internal" href="#system-attributes-can-be-deleted-now">System attributes can be deleted now</a></li>
<li><a class="reference internal" href="#byteorder-issues">Byteorder issues</a></li>
<li><a class="reference internal" href="#tunable-internal-buffer-sizes">Tunable internal buffer sizes</a></li>
<li><a class="reference internal" href="#changes-to-module-names">Changes to module names</a></li>
<li><a class="reference internal" href="#other-changes">Other changes</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="MIGRATING_TO_3.x.html"
                        title="previous chapter">Migrating from PyTables 2.x to 3.x</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="release-notes/RELEASE_NOTES_v3.0.x.html"
                        title="next chapter">Release notes for PyTables 3.0 series</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="_sources/MIGRATING_TO_2.x.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="release-notes/RELEASE_NOTES_v3.0.x.html" title="Release notes for PyTables 3.0 series"
             >next</a> &nbsp; &nbsp;</li>
        <li class="right" >
          <a href="MIGRATING_TO_3.x.html" title="Migrating from PyTables 2.x to 3.x"
             >previous</a> &nbsp; &nbsp;</li>
    <li><a href="index.html">PyTables 3.0.0 documentation</a> &raquo;</li>

          <li><a href="release_notes.html" >PyTables Release Notes</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>