You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by uw...@apache.org on 2017/11/19 14:56:16 UTC

[03/19] arrow-site git commit: API doc update

http://git-wip-us.apache.org/repos/asf/arrow-site/blob/35611f84/docs/python/memory.html
----------------------------------------------------------------------
diff --git a/docs/python/memory.html b/docs/python/memory.html
index 143842c..7c4747d 100644
--- a/docs/python/memory.html
+++ b/docs/python/memory.html
@@ -155,7 +155,7 @@ management and IO systems:</p>
 </ul>
 <div class="section" id="pyarrow-buffer">
 <h2>pyarrow.Buffer<a class="headerlink" href="#pyarrow-buffer" title="Permalink to this headline">¶</a></h2>
-<p>The <code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code> object wraps the C++ <code class="docutils literal"><span class="pre">arrow::Buffer</span></code> type and is
+<p>The <a class="reference internal" href="generated/pyarrow.Buffer.html#pyarrow.Buffer" title="pyarrow.Buffer"><code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code></a> object wraps the C++ <code class="docutils literal"><span class="pre">arrow::Buffer</span></code> type and is
 the primary tool for memory management in Apache Arrow in C++. It permits
 higher-level array classes to safely interact with memory which they may or may
 not own. <code class="docutils literal"><span class="pre">arrow::Buffer</span></code> can be zero-copy sliced to permit Buffers to cheaply
@@ -164,71 +164,32 @@ parent-child relationships.</p>
 <p>There are many implementations of <code class="docutils literal"><span class="pre">arrow::Buffer</span></code>, but they all provide a
 standard interface: a data pointer and length. This is similar to Python’s
 built-in <cite>buffer protocol</cite> and <code class="docutils literal"><span class="pre">memoryview</span></code> objects.</p>
-<p>A <code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code> can be created from any Python object which
+<p>A <a class="reference internal" href="generated/pyarrow.Buffer.html#pyarrow.Buffer" title="pyarrow.Buffer"><code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code></a> can be created from any Python object which
 implements the buffer protocol. Let’s consider a bytes object:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [1]: </span><span class="kn">import</span> <span class="nn">pyarrow</span> <span class="kn">as</span> <span class="nn">pa</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">ImportError</span><span class="g g-Whitespace">                               </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-1-852643f3aad4&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="kn">import</span> <span class="nn">pyarrow</span> <span class="kn">as</span> <span class="nn">pa</span>
-
-<span class="nn">~apache-arrow/arrow/python/pyarrow/__init__.py</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="g g-Whitespace">     </span><span class="mi">30</span> 
-<span class="g g-Whitespace">     </span><span class="mi">31</span> 
-<span class="ne">---&gt; </span><span class="mi">32</span> <span class="kn">from</span> <span class="nn">pyarrow.lib</span> <span class="kn">import</span> <span class="n">cpu_count</span><span class="p">,</span> <span class="n">set_cpu_count</span>
-<span class="g g-Whitespace">     </span><span class="mi">33</span> <span class="kn">from</span> <span class="nn">pyarrow.lib</span> <span class="kn">import</span> <span class="p">(</span><span class="n">null</span><span class="p">,</span> <span class="n">bool_</span><span class="p">,</span>
-<span class="g g-Whitespace">     </span><span class="mi">34</span>                          <span class="n">int8</span><span class="p">,</span> <span class="n">int16</span><span class="p">,</span> <span class="n">int32</span><span class="p">,</span> <span class="n">int64</span><span class="p">,</span>
-
-<span class="ne">ImportError</span>: libarrow.so.0: cannot open shared object file: No such file or directory
 
 <span class="gp">In [2]: </span><span class="n">data</span> <span class="o">=</span> <span class="sa">b</span><span class="s1">&#39;abcdefghijklmnopqrstuvwxyz&#39;</span>
 
 <span class="gp">In [3]: </span><span class="n">buf</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">frombuffer</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-3-0ec9d631567d&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">buf</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">frombuffer</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
 
 <span class="gp">In [4]: </span><span class="n">buf</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-4-470933492c55&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 buf</span>
-
-<span class="go">NameError: name &#39;buf&#39; is not defined</span>
+<span class="gh">Out[4]: </span><span class="go">&lt;pyarrow.lib.Buffer at 0x7f7f6512bab0&gt;</span>
 
 <span class="gp">In [5]: </span><span class="n">buf</span><span class="o">.</span><span class="n">size</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-5-118f90487584&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 buf.size</span>
-
-<span class="go">NameError: name &#39;buf&#39; is not defined</span>
+<span class="go">Out[5]: 26</span>
 </pre></div>
 </div>
 <p>Creating a Buffer in this way does not allocate any memory; it is a zero-copy
 view on the memory exported from the <code class="docutils literal"><span class="pre">data</span></code> bytes object.</p>
 <p>The Buffer’s <code class="docutils literal"><span class="pre">to_pybytes</span></code> method can convert to a Python byte string:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [6]: </span><span class="n">buf</span><span class="o">.</span><span class="n">to_pybytes</span><span class="p">()</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-6-66c6bc84512a&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">buf</span><span class="o">.</span><span class="n">to_pybytes</span><span class="p">()</span>
-
-<span class="ne">NameError</span>: name &#39;buf&#39; is not defined
+<span class="gh">Out[6]: </span><span class="go">b&#39;abcdefghijklmnopqrstuvwxyz&#39;</span>
 </pre></div>
 </div>
 <p>Buffers can be used in circumstances where a Python buffer or memoryview is
 required, and such conversions are also zero-copy:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [7]: </span><span class="n">memoryview</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-7-b1891bd7f578&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">memoryview</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span>
-
-<span class="ne">NameError</span>: name &#39;buf&#39; is not defined
+<span class="gh">Out[7]: </span><span class="go">&lt;memory at 0x7f7f650fb1c8&gt;</span>
 </pre></div>
 </div>
 </div>
@@ -244,28 +205,28 @@ IO objects:</p>
 <li>File supporting reads, writes, and random access</li>
 </ul>
 <p>In the the interest of making these objects behave more like Python’s built-in
-<code class="docutils literal"><span class="pre">file</span></code> objects, we have defined a <code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code> base class
+<code class="docutils literal"><span class="pre">file</span></code> objects, we have defined a <a class="reference internal" href="generated/pyarrow.NativeFile.html#pyarrow.NativeFile" title="pyarrow.NativeFile"><code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code></a> base class
 which is intended to mimic Python files and able to be used in functions where
 a Python file (such as <code class="docutils literal"><span class="pre">file</span></code> or <code class="docutils literal"><span class="pre">BytesIO</span></code>) is expected.</p>
-<p><code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code> has some important features which make it
+<p><a class="reference internal" href="generated/pyarrow.NativeFile.html#pyarrow.NativeFile" title="pyarrow.NativeFile"><code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code></a> has some important features which make it
 preferable to using Python files with PyArrow where possible:</p>
 <ul class="simple">
 <li>Other Arrow classes can access the internal C++ IO objects natively, and do
 not need to acquire the Python GIL</li>
 <li>Native C++ IO may be able to do zero-copy IO, such as with memory maps</li>
 </ul>
-<p>There are several kinds of <code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code> options available:</p>
+<p>There are several kinds of <a class="reference internal" href="generated/pyarrow.NativeFile.html#pyarrow.NativeFile" title="pyarrow.NativeFile"><code class="xref py py-class docutils literal"><span class="pre">NativeFile</span></code></a> options available:</p>
 <ul class="simple">
 <li><code class="xref py py-class docutils literal"><span class="pre">OSFile</span></code>, a native file that uses your operating system’s
 file descriptors</li>
-<li><code class="xref py py-class docutils literal"><span class="pre">MemoryMappedFile</span></code>, for reading (zero-copy) and writing with
+<li><a class="reference internal" href="generated/pyarrow.MemoryMappedFile.html#pyarrow.MemoryMappedFile" title="pyarrow.MemoryMappedFile"><code class="xref py py-class docutils literal"><span class="pre">MemoryMappedFile</span></code></a>, for reading (zero-copy) and writing with
 memory maps</li>
-<li><code class="xref py py-class docutils literal"><span class="pre">BufferReader</span></code>, for reading <code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code> objects
+<li><a class="reference internal" href="generated/pyarrow.BufferReader.html#pyarrow.BufferReader" title="pyarrow.BufferReader"><code class="xref py py-class docutils literal"><span class="pre">BufferReader</span></code></a>, for reading <a class="reference internal" href="generated/pyarrow.Buffer.html#pyarrow.Buffer" title="pyarrow.Buffer"><code class="xref py py-class docutils literal"><span class="pre">Buffer</span></code></a> objects
 as a file</li>
-<li><code class="xref py py-class docutils literal"><span class="pre">BufferOutputStream</span></code>, for writing data in-memory, producing a
+<li><a class="reference internal" href="generated/pyarrow.BufferOutputStream.html#pyarrow.BufferOutputStream" title="pyarrow.BufferOutputStream"><code class="xref py py-class docutils literal"><span class="pre">BufferOutputStream</span></code></a>, for writing data in-memory, producing a
 Buffer at the end</li>
-<li><code class="xref py py-class docutils literal"><span class="pre">HdfsFile</span></code>, for reading and writing data to the Hadoop Filesystem</li>
-<li><code class="xref py py-class docutils literal"><span class="pre">PythonFile</span></code>, for interfacing with Python file objects in C++</li>
+<li><a class="reference internal" href="generated/pyarrow.HdfsFile.html#pyarrow.HdfsFile" title="pyarrow.HdfsFile"><code class="xref py py-class docutils literal"><span class="pre">HdfsFile</span></code></a>, for reading and writing data to the Hadoop Filesystem</li>
+<li><a class="reference internal" href="generated/pyarrow.PythonFile.html#pyarrow.PythonFile" title="pyarrow.PythonFile"><code class="xref py py-class docutils literal"><span class="pre">PythonFile</span></code></a>, for interfacing with Python file objects in C++</li>
 </ul>
 <p>We will discuss these in the following sections after explaining memory pools.</p>
 </div>
@@ -275,56 +236,23 @@ Buffer at the end</li>
 are tracked in an instance of <code class="docutils literal"><span class="pre">arrow::MemoryPool</span></code>. This means that we can
 then precisely track amount of memory that has been allocated:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [8]: </span><span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-8-e61932b35bef&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
+<span class="gh">Out[8]: </span><span class="go">200043264</span>
 </pre></div>
 </div>
 <p>PyArrow uses a default built-in memory pool, but in the future there may be
 additional memory pools (and subpools) to choose from. Let’s consider an
 <code class="docutils literal"><span class="pre">BufferOutputStream</span></code>, which is like a <code class="docutils literal"><span class="pre">BytesIO</span></code>:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [9]: </span><span class="n">stream</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">BufferOutputStream</span><span class="p">()</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-9-2276735b3bd2&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">stream</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">BufferOutputStream</span><span class="p">()</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
 
 <span class="gp">In [10]: </span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;foo&#39;</span><span class="p">)</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-10-43e5fb2e3fbd&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 stream.write(b&#39;foo&#39;)</span>
-
-<span class="go">NameError: name &#39;stream&#39; is not defined</span>
 
 <span class="gp">In [11]: </span><span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-11-e61932b35bef&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 pa.total_allocated_bytes()</span>
-
-<span class="go">NameError: name &#39;pa&#39; is not defined</span>
+<span class="gh">Out[11]: </span><span class="go">200043520</span>
 
 <span class="gp">In [12]: </span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1024</span><span class="p">):</span> <span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;foo&#39;</span><span class="p">)</span>
-<span class="go">
 
 
 
 
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-12-68628135705e&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 for i in range(1024): stream.write(b&#39;foo&#39;)</span>
-
-<span class="go">NameError: name &#39;stream&#39; is not defined</span>
 
 <span class="gp">In [13]: </span><span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-<span class="go">
 
 
 
 
 
 
 
 
 
 
 
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-13-e61932b35bef&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 pa.total_allocated_bytes()</span>
-
-<span class="go">NameError: name &#39;pa&#39; is not defined</span>
+<span class="gh">Out[13]: </span><span class="go">200047360</span>
 </pre></div>
 </div>
 <p>The default allocator requests memory in a minimum increment of 64 bytes. If
@@ -332,12 +260,7 @@ the stream is garbaged-collected, all of the memory is freed:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [14]: </span><span class="n">stream</span> <span class="o">=</span> <span class="bp">None</span>
 
 <span class="gp">In [15]: </span><span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-15-e61932b35bef&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">pa</span><span class="o">.</span><span class="n">total_allocated_bytes</span><span class="p">()</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
+<span class="gh">Out[15]: </span><span class="go">200043264</span>
 </pre></div>
 </div>
 </div>
@@ -355,87 +278,36 @@ write:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [17]: </span><span class="k">with</span> <span class="n">pa</span><span class="o">.</span><span class="n">OSFile</span><span class="p">(</span><span class="s1">&#39;example2.dat&#39;</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
 <span class="gp">   ....: </span>    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;some example data&#39;</span><span class="p">)</span>
 <span class="gp">   ....: </span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-17-e9e238b06cf1&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="k">with</span> <span class="n">pa</span><span class="o">.</span><span class="n">OSFile</span><span class="p">(</span><span class="s1">&#39;example2.dat&#39;</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-<span class="g g-Whitespace">      </span><span class="mi">2</span>     <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;some example data&#39;</span><span class="p">)</span>
-<span class="g g-Whitespace">      </span><span class="mi">3</span> 
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
 </pre></div>
 </div>
 <p>For reading files, you can use <code class="docutils literal"><span class="pre">OSFile</span></code> or
-<code class="xref py py-class docutils literal"><span class="pre">MemoryMappedFile</span></code>. The difference between these is that
+<a class="reference internal" href="generated/pyarrow.MemoryMappedFile.html#pyarrow.MemoryMappedFile" title="pyarrow.MemoryMappedFile"><code class="xref py py-class docutils literal"><span class="pre">MemoryMappedFile</span></code></a>. The difference between these is that
 <code class="xref py py-class docutils literal"><span class="pre">OSFile</span></code> allocates new memory on each read, like Python file
 objects. In reads from memory maps, the library constructs a buffer referencing
 the mapped memory without any memory allocation or copying:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [18]: </span><span class="n">file_obj</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">OSFile</span><span class="p">(</span><span class="s1">&#39;example.dat&#39;</span><span class="p">)</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-18-f80c8feadf1e&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">file_obj</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">OSFile</span><span class="p">(</span><span class="s1">&#39;example.dat&#39;</span><span class="p">)</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
 
 <span class="gp">In [19]: </span><span class="n">mmap</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">memory_map</span><span class="p">(</span><span class="s1">&#39;example.dat&#39;</span><span class="p">)</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-19-536c8f3fa3f8&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 mmap = pa.memory_map(&#39;example.dat&#39;)</span>
-
-<span class="go">NameError: name &#39;pa&#39; is not defined</span>
 
 <span class="gp">In [20]: </span><span class="n">file_obj</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-20-78df43e48a5c&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 file_obj.read(4)</span>
-
-<span class="go">NameError: name &#39;file_obj&#39; is not defined</span>
+<span class="gh">Out[20]: </span><span class="go">b&#39;some&#39;</span>
 
 <span class="gp">In [21]: </span><span class="n">mmap</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
-<span class="go">
 
 
 
 
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-21-8dddfd38cf1d&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 mmap.read(4)</span>
-
-<span class="go">NameError: name &#39;mmap&#39; is not defined</span>
+<span class="go">Out[21]: b&#39;some&#39;</span>
 </pre></div>
 </div>
 <p>The <code class="docutils literal"><span class="pre">read</span></code> method implements the standard Python file <code class="docutils literal"><span class="pre">read</span></code> API. To read
 into Arrow Buffer objects, use <code class="docutils literal"><span class="pre">read_buffer</span></code>:</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [22]: </span><span class="n">mmap</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-22-b9b0768b0221&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">mmap</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-
-<span class="ne">NameError</span>: name &#39;mmap&#39; is not defined
+<span class="gh">Out[22]: </span><span class="go">0</span>
 
 <span class="gp">In [23]: </span><span class="n">buf</span> <span class="o">=</span> <span class="n">mmap</span><span class="o">.</span><span class="n">read_buffer</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-23-77288a4b0259&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 buf = mmap.read_buffer(4)</span>
-
-<span class="go">NameError: name &#39;mmap&#39; is not defined</span>
 
 <span class="gp">In [24]: </span><span class="k">print</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-24-766fc4ae6f36&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 print(buf)</span>
-
-<span class="go">NameError: name &#39;buf&#39; is not defined</span>
+<span class="go">&lt;pyarrow.lib.Buffer object at 0x7f7f650bdd88&gt;</span>
 
 <span class="gp">In [25]: </span><span class="n">buf</span><span class="o">.</span><span class="n">to_pybytes</span><span class="p">()</span>
-<span class="go">
 
 
 
 
 ------------------
 ---------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-25-66c6bc84512a&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 buf.to_pybytes()</span>
-
-<span class="go">NameError: name &#39;buf&#39; is not defined</span>
+<span class="go">Out[25]: b&#39;some&#39;</span>
 </pre></div>
 </div>
 <p>Many tools in PyArrow, particular the Apache Parquet interface and the file and
@@ -447,62 +319,24 @@ types than with normal Python file objects.</p>
 <p>To assist with serialization and deserialization of in-memory data, we have
 file interfaces that can read and write to Arrow Buffers.</p>
 <div class="highlight-ipython"><div class="highlight"><pre><span></span><span class="gp">In [26]: </span><span class="n">writer</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">BufferOutputStream</span><span class="p">()</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">NameError</span><span class="g g-Whitespace">                                 </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-26-499c288e022d&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">writer</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">BufferOutputStream</span><span class="p">()</span>
-
-<span class="ne">NameError</span>: name &#39;pa&#39; is not defined
 
 <span class="gp">In [27]: </span><span class="n">writer</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;hello, friends&#39;</span><span class="p">)</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-27-7d87cfed3c0e&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 writer.write(b&#39;hello, friends&#39;)</span>
-
-<span class="go">NameError: name &#39;writer&#39; is not defined</span>
 
 <span class="gp">In [28]: </span><span class="n">buf</span> <span class="o">=</span> <span class="n">writer</span><span class="o">.</span><span class="n">get_result</span><span class="p">()</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-28-3a90eb4cbfd7&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 buf = writer.get_result()</span>
-
-<span class="go">NameError: name &#39;writer&#39; is not defined</span>
 
 <span class="gp">In [29]: </span><span class="n">buf</span>
+<span class="gh">Out[29]: </span><span class="go">&lt;pyarrow.lib.Buffer at 0x7f7f4d2fbca8&gt;</span>
 
 <span class="gp">In [30]: </span><span class="n">buf</span><span class="o">.</span><span class="n">size</span>
-<span class="gt">---------------------------------------------------------------------------</span>
-<span class="ne">AttributeError</span><span class="g g-Whitespace">                            </span>Traceback (most recent call last)
-<span class="nn">&lt;ipython-input-30-118f90487584&gt;</span> in <span class="ni">&lt;module&gt;</span><span class="nt">()</span>
-<span class="ne">----&gt; </span><span class="mi">1</span> <span class="n">buf</span><span class="o">.</span><span class="n">size</span>
-
-<span class="ne">AttributeError</span>: &#39;NoneType&#39; object has no attribute &#39;size&#39;
+<span class="go">Out[30]: 14</span>
 
 <span class="gp">In [31]: </span><span class="n">reader</span> <span class="o">=</span> <span class="n">pa</span><span class="o">.</span><span class="n">BufferReader</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span>
-<span class="go">---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-31-ab00788f3b74&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 reader = pa.BufferReader(buf)</span>
-
-<span class="go">NameError: name &#39;pa&#39; is not defined</span>
 
 <span class="gp">In [32]: </span><span class="n">reader</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="mi">7</span><span class="p">)</span>
-<span class="go">
 
 ---------------------------------------------------------------------------</span>
-<span class="go">NameError                                 Traceback (most recent call last)</span>
-<span class="go">&lt;ipython-input-32-2108ef308a7f&gt; in &lt;module&gt;()</span>
-<span class="go">----&gt; 1 reader.seek(7)</span>
-
-<span class="go">NameError: name &#39;reader&#39; is not defined</span>
+<span class="gh">Out[32]: </span><span class="go">7</span>
 
 <span class="gp">In [33]: </span><span class="n">reader</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">7</span><span class="p">)</span>
-<span class="go">
 
 

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/arrow-site/blob/35611f84/docs/python/objects.inv
----------------------------------------------------------------------
diff --git a/docs/python/objects.inv b/docs/python/objects.inv
index 835c8c9..9725ce7 100644
Binary files a/docs/python/objects.inv and b/docs/python/objects.inv differ