

<!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.internal.util module &mdash; Apache Beam  documentation</title>
  

  
  
  
  

  

  
  
    

  

  
  
    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  

  

  
        <link rel="index" title="Index"
              href="genindex.html"/>
        <link rel="search" title="Search" href="search.html"/>
    <link rel="top" title="Apache Beam  documentation" href="index.html"/>
        <link rel="up" title="apache_beam.internal package" href="apache_beam.internal.html"/>
        <link rel="next" title="apache_beam.io package" href="apache_beam.io.html"/>
        <link rel="prev" title="apache_beam.internal.pickler module" href="apache_beam.internal.pickler.html"/> 

  
  <script src="_static/js/modernizr.min.js"></script>

</head>

<body class="wy-body-for-nav" role="document">

   
  <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.internal.html">apache_beam.internal package</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="apache_beam.internal.html#subpackages">Subpackages</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.internal.html#submodules">Submodules</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.internal.http_client.html">apache_beam.internal.http_client module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.internal.pickler.html">apache_beam.internal.pickler module</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">apache_beam.internal.util module</a></li>
</ul>
</li>
</ul>
</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.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" role="navigation" 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.internal.html">apache_beam.internal package</a> &raquo;</li>
        
      <li>apache_beam.internal.util module</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/apache_beam.internal.util.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.internal.util">
<span id="apache-beam-internal-util-module"></span><h1>apache_beam.internal.util module<a class="headerlink" href="#module-apache_beam.internal.util" title="Permalink to this headline">¶</a></h1>
<p>Utility functions used throughout the package.</p>
<p>For internal use only. No backwards compatibility guarantees.</p>
<dl class="class">
<dt id="apache_beam.internal.util.ArgumentPlaceholder">
<em class="property">class </em><code class="descclassname">apache_beam.internal.util.</code><code class="descname">ArgumentPlaceholder</code><a class="reference internal" href="_modules/apache_beam/internal/util.html#ArgumentPlaceholder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.internal.util.ArgumentPlaceholder" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">future.types.newobject.newobject</span></code></p>
<p>For internal use only; no backwards-compatibility guarantees.</p>
<p>A place holder object replacing PValues in argument lists.</p>
<p>A Fn object can take any number of “side inputs”, which are PValues that will
be evaluated during pipeline execution and will be provided to the function
at the moment of its execution as positional or keyword arguments.</p>
<p>This is used only internally and should never be used by user code. A custom
Fn object by the time it executes will have such values replaced with real
computed values.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.internal.util.remove_objects_from_args">
<code class="descclassname">apache_beam.internal.util.</code><code class="descname">remove_objects_from_args</code><span class="sig-paren">(</span><em>args</em>, <em>kwargs</em>, <em>pvalue_classes</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/internal/util.html#remove_objects_from_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.internal.util.remove_objects_from_args" title="Permalink to this definition">¶</a></dt>
<dd><p>For internal use only; no backwards-compatibility guarantees.</p>
<p>Replaces all objects of a given type in args/kwargs with a placeholder.</p>
<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">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>args</strong> – A list of positional arguments.</li>
<li><strong>kwargs</strong> – A dictionary of keyword arguments.</li>
<li><strong>pvalue_classes</strong> – A tuple of class objects representing the types of the
arguments that must be replaced with a placeholder value (instance of
ArgumentPlaceholder)</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A 3-tuple containing a modified list of positional arguments, a modified
dictionary of keyword arguments, and a list of all objects replaced with
a placeholder value.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="function">
<dt id="apache_beam.internal.util.insert_values_in_args">
<code class="descclassname">apache_beam.internal.util.</code><code class="descname">insert_values_in_args</code><span class="sig-paren">(</span><em>args</em>, <em>kwargs</em>, <em>values</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/internal/util.html#insert_values_in_args"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.internal.util.insert_values_in_args" title="Permalink to this definition">¶</a></dt>
<dd><p>For internal use only; no backwards-compatibility guarantees.</p>
<p>Replaces all placeholders in args/kwargs with actual values.</p>
<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">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>args</strong> – A list of positional arguments.</li>
<li><strong>kwargs</strong> – A dictionary of keyword arguments.</li>
<li><strong>values</strong> – A list of values that will be used to replace placeholder values.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A 2-tuple containing a modified list of positional arguments, and a
modified dictionary of keyword arguments.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="function">
<dt id="apache_beam.internal.util.run_using_threadpool">
<code class="descclassname">apache_beam.internal.util.</code><code class="descname">run_using_threadpool</code><span class="sig-paren">(</span><em>fn_to_execute</em>, <em>inputs</em>, <em>pool_size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/internal/util.html#run_using_threadpool"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.internal.util.run_using_threadpool" title="Permalink to this definition">¶</a></dt>
<dd><p>For internal use only; no backwards-compatibility guarantees.</p>
<p>Runs the given function on given inputs using a thread pool.</p>
<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">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>fn_to_execute</strong> – Function to execute</li>
<li><strong>inputs</strong> – Inputs on which given function will be executed in parallel.</li>
<li><strong>pool_size</strong> – Size of thread pool.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Results retrieved after executing the given function on given inputs.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

</div>


           </div>
           <div class="articleComments">
            
           </div>
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="apache_beam.io.html" class="btn btn-neutral float-right" title="apache_beam.io package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="apache_beam.internal.pickler.html" class="btn btn-neutral" title="apache_beam.internal.pickler 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/snide/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">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'./',
            VERSION:'',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt'
        };
    </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/js/theme.js"></script>
  

  
  
  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.StickyNav.enable();
      });
  </script>
   

</body>
</html>