blob: a3f6d69d5833f1477916805f9782a06dba0390f4 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>apache_beam.dataframe.doctests module &mdash; Apache Beam documentation</title>
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="apache_beam.dataframe.expressions module" href="apache_beam.dataframe.expressions.html" />
<link rel="prev" title="apache_beam.dataframe.convert module" href="apache_beam.dataframe.convert.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Apache Beam
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="apache_beam.coders.html">apache_beam.coders package</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="apache_beam.dataframe.html">apache_beam.dataframe package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.dataframe.html#submodules">Submodules</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.convert.html">apache_beam.dataframe.convert module</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">apache_beam.dataframe.doctests module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.expressions.html">apache_beam.dataframe.expressions module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.frame_base.html">apache_beam.dataframe.frame_base module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.frames.html">apache_beam.dataframe.frames module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.partitionings.html">apache_beam.dataframe.partitionings module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.dataframe.transforms.html">apache_beam.dataframe.transforms module</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.internal.html">apache_beam.internal package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.metrics.html">apache_beam.metrics package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.ml.html">apache_beam.ml package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.options.html">apache_beam.options package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.portability.html">apache_beam.portability package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.testing.html">apache_beam.testing package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.tools.html">apache_beam.tools package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.transforms.html">apache_beam.transforms package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.typehints.html">apache_beam.typehints package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.error.html">apache_beam.error module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pipeline.html">apache_beam.pipeline module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pvalue.html">apache_beam.pvalue module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.version.html">apache_beam.version module</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Apache Beam</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><a href="apache_beam.dataframe.html">apache_beam.dataframe package</a> &raquo;</li>
<li>apache_beam.dataframe.doctests module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.dataframe.doctests.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="module-apache_beam.dataframe.doctests">
<span id="apache-beam-dataframe-doctests-module"></span><h1>apache_beam.dataframe.doctests module<a class="headerlink" href="#module-apache_beam.dataframe.doctests" title="Permalink to this headline"></a></h1>
<p>A module that allows running existing pandas doctests with Beam dataframes.</p>
<p>This module hooks into the doctesting framework by providing a custom
runner and, in particular, an OutputChecker, as well as providing a fake
object for mocking out the pandas module.</p>
<p>The (novel) sequence of events when running a doctest is as follows.</p>
<blockquote>
<div><ol class="arabic simple">
<li>The test invokes <cite>pd.DataFrame(…)</cite> (or similar) and an actual dataframe
is computed and stashed but a Beam deferred dataframe is returned
in its place.</li>
<li>Computations are done on these “dataframes,” resulting in new objects,
but as these are actually deferred, only expression trees are built.
In the background, a mapping of id -&gt; deferred dataframe is stored for
each newly created dataframe.</li>
<li>When any dataframe is printed out, the repr has been overwritten to
print <cite>Dataframe[id]</cite>. The aforementened mapping is used to map this back
to the actual dataframe object, which is then computed via Beam, and its
the (stringified) result plugged into the actual output for comparison.</li>
<li>The comparison is then done on the sorted lines of the expected and actual
values.</li>
</ol>
</div></blockquote>
<dl class="class">
<dt id="apache_beam.dataframe.doctests.FakePandasObject">
<em class="property">class </em><code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">FakePandasObject</code><span class="sig-paren">(</span><em>pandas_obj</em>, <em>test_env</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#FakePandasObject"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.FakePandasObject" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A stand-in for the wrapped pandas objects.</p>
</dd></dl>
<dl class="class">
<dt id="apache_beam.dataframe.doctests.TestEnvironment">
<em class="property">class </em><code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">TestEnvironment</code><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#TestEnvironment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.TestEnvironment" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A class managing the patching (of methods, inputs, and outputs) needed
to run and validate tests.</p>
<p>These classes are patched to be able to recognize and retrieve inputs
and results, stored in <cite>self._inputs</cite> and <cite>self._all_frames</cite> respectively.</p>
<dl class="method">
<dt id="apache_beam.dataframe.doctests.TestEnvironment.fake_pandas_module">
<code class="descname">fake_pandas_module</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#TestEnvironment.fake_pandas_module"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.TestEnvironment.fake_pandas_module" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.dataframe.doctests.TestEnvironment.context">
<code class="descname">context</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#TestEnvironment.context"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.TestEnvironment.context" title="Permalink to this definition"></a></dt>
<dd><p>Creates a context within which DeferredFrame types are monkey patched
to record ids.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.dataframe.doctests.BeamDataframeDoctestRunner">
<em class="property">class </em><code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">BeamDataframeDoctestRunner</code><span class="sig-paren">(</span><em>env</em>, <em>use_beam=True</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#BeamDataframeDoctestRunner"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.BeamDataframeDoctestRunner" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/doctest.html#doctest.DocTestRunner" title="(in Python v3.8)"><code class="xref py py-class docutils literal notranslate"><span class="pre">doctest.DocTestRunner</span></code></a></p>
<p>A Doctest runner suitable for replacing the <cite>pd</cite> module with one backed
by beam.</p>
<dl class="method">
<dt id="apache_beam.dataframe.doctests.BeamDataframeDoctestRunner.run">
<code class="descname">run</code><span class="sig-paren">(</span><em>test</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#BeamDataframeDoctestRunner.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.BeamDataframeDoctestRunner.run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.dataframe.doctests.BeamDataframeDoctestRunner.fake_pandas_module">
<code class="descname">fake_pandas_module</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#BeamDataframeDoctestRunner.fake_pandas_module"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.BeamDataframeDoctestRunner.fake_pandas_module" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="apache_beam.dataframe.doctests.teststring">
<code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">teststring</code><span class="sig-paren">(</span><em>text</em>, <em>report=True</em>, <em>**runner_kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#teststring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.teststring" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="apache_beam.dataframe.doctests.testfile">
<code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">testfile</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#testfile"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.testfile" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="apache_beam.dataframe.doctests.testmod">
<code class="descclassname">apache_beam.dataframe.doctests.</code><code class="descname">testmod</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/dataframe/doctests.html#testmod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.dataframe.doctests.testmod" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.dataframe.expressions.html" class="btn btn-neutral float-right" title="apache_beam.dataframe.expressions module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.dataframe.convert.html" class="btn btn-neutral float-left" title="apache_beam.dataframe.convert module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>