blob: 5ba637ea6a0151ce2b3115fea78024411611edaa [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>aria.utils &mdash; ARIA TOSCA 0.1.1 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="ARIA TOSCA 0.1.1 documentation" href="index.html"/>
<link rel="next" title="aria_extension_tosca.simple_v1_0" href="aria_extension_tosca.simple_v1_0.html"/>
<link rel="prev" title="aria.storage" href="aria.storage.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"> ARIA TOSCA
</a>
<div class="version">
0.1.1
</div>
<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>
<li class="toctree-l1"><a class="reference internal" href="cli.html">CLI</a></li>
<li class="toctree-l1"><a class="reference internal" href="rest.html">REST</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="aria.html"><code class="docutils literal"><span class="pre">aria</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.cli.html"><code class="docutils literal"><span class="pre">aria.cli</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.modeling.html"><code class="docutils literal"><span class="pre">aria.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.modeling.models.html"><code class="docutils literal"><span class="pre">aria.modeling.models</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.html"><code class="docutils literal"><span class="pre">aria.orchestrator</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.context.html"><code class="docutils literal"><span class="pre">aria.orchestrator.context</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ctx_proxy.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ctx_proxy</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ssh.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ssh</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.api.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.api</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.builtin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.builtin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.executor.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.executor</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.html"><code class="docutils literal"><span class="pre">aria.parser</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.consumption.html"><code class="docutils literal"><span class="pre">aria.parser.consumption</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.loading.html"><code class="docutils literal"><span class="pre">aria.parser.loading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.modeling.html"><code class="docutils literal"><span class="pre">aria.parser.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.presentation.html"><code class="docutils literal"><span class="pre">aria.parser.presentation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.reading.html"><code class="docutils literal"><span class="pre">aria.parser.reading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.validation.html"><code class="docutils literal"><span class="pre">aria.parser.validation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.storage.html"><code class="docutils literal"><span class="pre">aria.storage</span></code></a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#"><code class="docutils literal"><span class="pre">aria.utils</span></code></a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.archive"><code class="docutils literal"><span class="pre">aria.utils.archive</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.argparse"><code class="docutils literal"><span class="pre">aria.utils.argparse</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.caching"><code class="docutils literal"><span class="pre">aria.utils.caching</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.collections"><code class="docutils literal"><span class="pre">aria.utils.collections</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.console"><code class="docutils literal"><span class="pre">aria.utils.console</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.exceptions"><code class="docutils literal"><span class="pre">aria.utils.exceptions</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.file"><code class="docutils literal"><span class="pre">aria.utils.file</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.formatting"><code class="docutils literal"><span class="pre">aria.utils.formatting</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.http"><code class="docutils literal"><span class="pre">aria.utils.http</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.imports"><code class="docutils literal"><span class="pre">aria.utils.imports</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.openclose"><code class="docutils literal"><span class="pre">aria.utils.openclose</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.plugin"><code class="docutils literal"><span class="pre">aria.utils.plugin</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.process"><code class="docutils literal"><span class="pre">aria.utils.process</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.specification"><code class="docutils literal"><span class="pre">aria.utils.specification</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.threading"><code class="docutils literal"><span class="pre">aria.utils.threading</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.type"><code class="docutils literal"><span class="pre">aria.utils.type</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.uris"><code class="docutils literal"><span class="pre">aria.utils.uris</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.uuid"><code class="docutils literal"><span class="pre">aria.utils.uuid</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.validation"><code class="docutils literal"><span class="pre">aria.utils.validation</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-aria.utils.versions"><code class="docutils literal"><span class="pre">aria.utils.versions</span></code></a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.modeling.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.presentation.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.presentation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_nfv_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_nfv_v1_0</span></code></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">ARIA TOSCA</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><code class="docutils literal"><span class="pre">aria.utils</span></code></li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/aria.utils.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-aria.utils">
<span id="aria-utils"></span><h1><a class="reference internal" href="#module-aria.utils" title="aria.utils"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils</span></code></a><a class="headerlink" href="#module-aria.utils" title="Permalink to this headline"></a></h1>
<p>General-purpose utilities package.</p>
<div class="section" id="module-aria.utils.archive">
<span id="aria-utils-archive"></span><h2><a class="reference internal" href="#module-aria.utils.archive" title="aria.utils.archive"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.archive</span></code></a><a class="headerlink" href="#module-aria.utils.archive" title="Permalink to this headline"></a></h2>
<p>Archive utilities.</p>
<dl class="function">
<dt id="aria.utils.archive.extract_archive">
<code class="descclassname">aria.utils.archive.</code><code class="descname">extract_archive</code><span class="sig-paren">(</span><em>source</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.extract_archive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.archive.is_archive">
<code class="descclassname">aria.utils.archive.</code><code class="descname">is_archive</code><span class="sig-paren">(</span><em>source</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.is_archive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.archive.tar">
<code class="descclassname">aria.utils.archive.</code><code class="descname">tar</code><span class="sig-paren">(</span><em>source</em>, <em>destination</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.tar" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.archive.untar">
<code class="descclassname">aria.utils.archive.</code><code class="descname">untar</code><span class="sig-paren">(</span><em>archive</em>, <em>destination=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.untar" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.archive.unzip">
<code class="descclassname">aria.utils.archive.</code><code class="descname">unzip</code><span class="sig-paren">(</span><em>archive</em>, <em>destination=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.unzip" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.archive.zip">
<code class="descclassname">aria.utils.archive.</code><code class="descname">zip</code><span class="sig-paren">(</span><em>source</em>, <em>destination</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.archive.zip" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.argparse">
<span id="aria-utils-argparse"></span><h2><a class="reference internal" href="#module-aria.utils.argparse" title="aria.utils.argparse"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.argparse</span></code></a><a class="headerlink" href="#module-aria.utils.argparse" title="Permalink to this headline"></a></h2>
<p>Enhancements to Python’s <code class="docutils literal"><span class="pre">argparse</span></code> module.</p>
<dl class="class">
<dt id="aria.utils.argparse.ArgumentParser">
<em class="property">class </em><code class="descclassname">aria.utils.argparse.</code><code class="descname">ArgumentParser</code><span class="sig-paren">(</span><em>prog=None</em>, <em>usage=None</em>, <em>description=None</em>, <em>epilog=None</em>, <em>version=None</em>, <em>parents=[]</em>, <em>formatter_class=&lt;class 'argparse.HelpFormatter'&gt;</em>, <em>prefix_chars='-'</em>, <em>fromfile_prefix_chars=None</em>, <em>argument_default=None</em>, <em>conflict_handler='error'</em>, <em>add_help=True</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.argparse.ArgumentParser" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">argparse.ArgumentParser</span></code></a></p>
<p>Enhanced argument parser.</p>
<p>Applied patch to fix <a class="reference external" href="https://bugs.python.org/issue22433">this issue</a>.</p>
<dl class="method">
<dt id="aria.utils.argparse.ArgumentParser.add_flag_argument">
<code class="descname">add_flag_argument</code><span class="sig-paren">(</span><em>name</em>, <em>help_true=None</em>, <em>help_false=None</em>, <em>default=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.argparse.ArgumentParser.add_flag_argument" title="Permalink to this definition"></a></dt>
<dd><p>Adds a flag argument as two arguments: <code class="docutils literal"><span class="pre">--my-flag</span></code> and <code class="docutils literal"><span class="pre">--no-my-flag</span></code>.</p>
</dd></dl>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.caching">
<span id="aria-utils-caching"></span><h2><a class="reference internal" href="#module-aria.utils.caching" title="aria.utils.caching"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.caching</span></code></a><a class="headerlink" href="#module-aria.utils.caching" title="Permalink to this headline"></a></h2>
<p>Caching utilities.</p>
<dl class="class">
<dt id="aria.utils.caching.HasCachedMethods">
<em class="property">class </em><code class="descclassname">aria.utils.caching.</code><code class="descname">HasCachedMethods</code><span class="sig-paren">(</span><em>method_cache=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.caching.HasCachedMethods" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Provides convenience methods for working with <a class="reference internal" href="#aria.utils.caching.cachedmethod" title="aria.utils.caching.cachedmethod"><code class="xref py py-class docutils literal"><span class="pre">cachedmethod</span></code></a>.</p>
</dd></dl>
<dl class="class">
<dt id="aria.utils.caching.cachedmethod">
<em class="property">class </em><code class="descclassname">aria.utils.caching.</code><code class="descname">cachedmethod</code><span class="sig-paren">(</span><em>func</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.caching.cachedmethod" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Decorator for caching method return values.</p>
<p>The implementation is thread-safe.</p>
<p>Supports <code class="docutils literal"><span class="pre">cache_info</span></code> to be compatible with Python 3’s <code class="docutils literal"><span class="pre">functools.lru_cache</span></code>. Note that the
statistics are combined for all instances of the class.</p>
<p>Won’t use the cache if not called when bound to an object, allowing you to override the cache.</p>
<p>Adapted from <a class="reference external" href="http://code.activestate.com/recipes/577452-a-memoize-decorator-for-instance-methods/">this solution</a>.</p>
<dl class="attribute">
<dt id="aria.utils.caching.cachedmethod.ENABLED">
<code class="descname">ENABLED</code><em class="property"> = True</em><a class="headerlink" href="#aria.utils.caching.cachedmethod.ENABLED" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.caching.cachedmethod.cache_info">
<code class="descname">cache_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.caching.cachedmethod.cache_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.caching.cachedmethod.reset_cache_info">
<code class="descname">reset_cache_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.caching.cachedmethod.reset_cache_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.collections">
<span id="aria-utils-collections"></span><h2><a class="reference internal" href="#module-aria.utils.collections" title="aria.utils.collections"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.collections</span></code></a><a class="headerlink" href="#module-aria.utils.collections" title="Permalink to this headline"></a></h2>
<p>Additional collection classes and collection utilities.</p>
<dl class="class">
<dt id="aria.utils.collections.FrozenDict">
<em class="property">class </em><code class="descclassname">aria.utils.collections.</code><code class="descname">FrozenDict</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.FrozenDict" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/collections.html#collections.OrderedDict" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">collections.OrderedDict</span></code></a></p>
<p>An immutable ordered dict.</p>
<p>After initialization it will raise <a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.TypeError" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">TypeError</span></code></a> exceptions if modification is
attempted.</p>
<p>Note that objects stored in the dict may not be immutable.</p>
</dd></dl>
<dl class="class">
<dt id="aria.utils.collections.FrozenList">
<em class="property">class </em><code class="descclassname">aria.utils.collections.</code><code class="descname">FrozenList</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.FrozenList" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">list</span></code></p>
<p>An immutable list.</p>
<p>After initialization it will raise <a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.TypeError" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">TypeError</span></code></a> exceptions if modification is
attempted.</p>
<p>Note that objects stored in the list may not be immutable.</p>
<dl class="method">
<dt id="aria.utils.collections.FrozenList.append">
<code class="descname">append</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.FrozenList.append" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.collections.FrozenList.extend">
<code class="descname">extend</code><span class="sig-paren">(</span><em>values</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.FrozenList.extend" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.collections.FrozenList.insert">
<code class="descname">insert</code><span class="sig-paren">(</span><em>index</em>, <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.FrozenList.insert" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.utils.collections.StrictDict">
<em class="property">class </em><code class="descclassname">aria.utils.collections.</code><code class="descname">StrictDict</code><span class="sig-paren">(</span><em>items=None</em>, <em>key_class=None</em>, <em>value_class=None</em>, <em>wrapper_function=None</em>, <em>unwrapper_function=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.StrictDict" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/collections.html#collections.OrderedDict" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">collections.OrderedDict</span></code></a></p>
<p>An ordered dict that raises <a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.TypeError" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">TypeError</span></code></a> exceptions when keys or values of the
wrong type are used.</p>
</dd></dl>
<dl class="class">
<dt id="aria.utils.collections.StrictList">
<em class="property">class </em><code class="descclassname">aria.utils.collections.</code><code class="descname">StrictList</code><span class="sig-paren">(</span><em>items=None</em>, <em>value_class=None</em>, <em>wrapper_function=None</em>, <em>unwrapper_function=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.StrictList" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">list</span></code></p>
<p>A list that raises <a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.TypeError" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">TypeError</span></code></a> exceptions when objects of the wrong type are
inserted.</p>
<dl class="method">
<dt id="aria.utils.collections.StrictList.append">
<code class="descname">append</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.StrictList.append" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.collections.StrictList.extend">
<code class="descname">extend</code><span class="sig-paren">(</span><em>values</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.StrictList.extend" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.collections.StrictList.insert">
<code class="descname">insert</code><span class="sig-paren">(</span><em>index</em>, <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.StrictList.insert" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.utils.collections.cls_name">
<code class="descclassname">aria.utils.collections.</code><code class="descname">cls_name</code><span class="sig-paren">(</span><em>cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.cls_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.collections.copy_locators">
<code class="descclassname">aria.utils.collections.</code><code class="descname">copy_locators</code><span class="sig-paren">(</span><em>target</em>, <em>source</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.copy_locators" title="Permalink to this definition"></a></dt>
<dd><p>Copies over <code class="docutils literal"><span class="pre">_locator</span></code> for all elements, recursively.</p>
<p>Assumes that target and source have exactly the same list/dict structure.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.collections.deepcopy_with_locators">
<code class="descclassname">aria.utils.collections.</code><code class="descname">deepcopy_with_locators</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.deepcopy_with_locators" title="Permalink to this definition"></a></dt>
<dd><p>Like <a class="reference external" href="https://docs.python.org/2.7/library/copy.html#copy.deepcopy" title="(in Python v2.7)"><code class="xref py py-func docutils literal"><span class="pre">deepcopy()</span></code></a>, but also copies over locators.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.collections.is_removable">
<code class="descclassname">aria.utils.collections.</code><code class="descname">is_removable</code><span class="sig-paren">(</span><em>_container</em>, <em>_key</em>, <em>v</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.is_removable" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.collections.merge">
<code class="descclassname">aria.utils.collections.</code><code class="descname">merge</code><span class="sig-paren">(</span><em>dict_a</em>, <em>dict_b</em>, <em>path=None</em>, <em>strict=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.merge" title="Permalink to this definition"></a></dt>
<dd><p>Merges dicts, recursively.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.collections.prune">
<code class="descclassname">aria.utils.collections.</code><code class="descname">prune</code><span class="sig-paren">(</span><em>value</em>, <em>is_removable_function=&lt;function is_removable&gt;</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.collections.prune" title="Permalink to this definition"></a></dt>
<dd><p>Deletes <code class="docutils literal"><span class="pre">None</span></code> and empty lists and dicts, recursively.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.console">
<span id="aria-utils-console"></span><h2><a class="reference internal" href="#module-aria.utils.console" title="aria.utils.console"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.console</span></code></a><a class="headerlink" href="#module-aria.utils.console" title="Permalink to this headline"></a></h2>
<p>Abstraction API above terminal color libraries.</p>
<dl class="class">
<dt id="aria.utils.console.Colored">
<em class="property">class </em><code class="descclassname">aria.utils.console.</code><code class="descname">Colored</code><a class="headerlink" href="#aria.utils.console.Colored" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.black">
<em class="property">static </em><code class="descname">black</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.black" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.blue">
<em class="property">static </em><code class="descname">blue</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.blue" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.cyan">
<em class="property">static </em><code class="descname">cyan</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.cyan" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.green">
<em class="property">static </em><code class="descname">green</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.green" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.magenta">
<em class="property">static </em><code class="descname">magenta</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.magenta" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.red">
<em class="property">static </em><code class="descname">red</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.red" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.white">
<em class="property">static </em><code class="descname">white</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.white" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="aria.utils.console.Colored.yellow">
<em class="property">static </em><code class="descname">yellow</code><span class="sig-paren">(</span><em>string</em>, <em>always=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.Colored.yellow" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.utils.console.ColoredString">
<em class="property">class </em><code class="descclassname">aria.utils.console.</code><code class="descname">ColoredString</code><span class="sig-paren">(</span><em>color</em>, <em>str_</em>, <em>always_color=False</em>, <em>bold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.ColoredString" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">clint.textui.colored.ColoredString</span></code></p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.console.STDOUT">
<code class="descclassname">aria.utils.console.</code><code class="descname">STDOUT</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.STDOUT" title="Permalink to this definition"></a></dt>
<dd><p>write(str) -&gt; None. Write string str to file.</p>
<p>Note that due to buffering, flush() or close() may be needed before
the file on disk reflects the data written.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.console.puts">
<code class="descclassname">aria.utils.console.</code><code class="descname">puts</code><span class="sig-paren">(</span><em>string=''</em>, <em>newline=True</em>, <em>stream=&lt;built-in method write of file object&gt;</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.console.puts" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.exceptions">
<span id="aria-utils-exceptions"></span><h2><a class="reference internal" href="#module-aria.utils.exceptions" title="aria.utils.exceptions"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.exceptions</span></code></a><a class="headerlink" href="#module-aria.utils.exceptions" title="Permalink to this headline"></a></h2>
<p>Utilities for extracting and formatting Python exceptions.</p>
<dl class="function">
<dt id="aria.utils.exceptions.get_exception_as_string">
<code class="descclassname">aria.utils.exceptions.</code><code class="descname">get_exception_as_string</code><span class="sig-paren">(</span><em>exc_type</em>, <em>exc_val</em>, <em>traceback</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.exceptions.get_exception_as_string" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.exceptions.print_exception">
<code class="descclassname">aria.utils.exceptions.</code><code class="descname">print_exception</code><span class="sig-paren">(</span><em>e</em>, <em>full=True</em>, <em>cause=False</em>, <em>traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.exceptions.print_exception" title="Permalink to this definition"></a></dt>
<dd><p>Prints the exception with nice colors and such.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.exceptions.print_traceback">
<code class="descclassname">aria.utils.exceptions.</code><code class="descname">print_traceback</code><span class="sig-paren">(</span><em>traceback=None</em>, <em>print_last_stack=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.exceptions.print_traceback" title="Permalink to this definition"></a></dt>
<dd><p>Prints the traceback with nice colors and such.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.exceptions.wrap_if_needed">
<code class="descclassname">aria.utils.exceptions.</code><code class="descname">wrap_if_needed</code><span class="sig-paren">(</span><em>exception</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.exceptions.wrap_if_needed" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.file">
<span id="aria-utils-file"></span><h2><a class="reference internal" href="#module-aria.utils.file" title="aria.utils.file"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.file</span></code></a><a class="headerlink" href="#module-aria.utils.file" title="Permalink to this headline"></a></h2>
<p>File utilities.</p>
<dl class="function">
<dt id="aria.utils.file.makedirs">
<code class="descclassname">aria.utils.file.</code><code class="descname">makedirs</code><span class="sig-paren">(</span><em>path</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.file.makedirs" title="Permalink to this definition"></a></dt>
<dd><p>Enhancement of <a class="reference external" href="https://docs.python.org/2.7/library/os.html#os.makedirs" title="(in Python v2.7)"><code class="xref py py-func docutils literal"><span class="pre">os.makedirs()</span></code></a> that doesn’t fail if the directory already exists.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.file.remove_if_exists">
<code class="descclassname">aria.utils.file.</code><code class="descname">remove_if_exists</code><span class="sig-paren">(</span><em>path</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.file.remove_if_exists" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.formatting">
<span id="aria-utils-formatting"></span><h2><a class="reference internal" href="#module-aria.utils.formatting" title="aria.utils.formatting"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.formatting</span></code></a><a class="headerlink" href="#module-aria.utils.formatting" title="Permalink to this headline"></a></h2>
<p>String formatting and string-based format utilities.</p>
<dl class="class">
<dt id="aria.utils.formatting.JsonAsRawEncoder">
<em class="property">class </em><code class="descclassname">aria.utils.formatting.</code><code class="descname">JsonAsRawEncoder</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.JsonAsRawEncoder" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">json.encoder.JSONEncoder</span></code></p>
<p>A <code class="xref py py-class docutils literal"><span class="pre">JSONEncoder</span></code> that will use the <code class="docutils literal"><span class="pre">as_raw</span></code> property of objects if available.</p>
<dl class="method">
<dt id="aria.utils.formatting.JsonAsRawEncoder.raw_encoder_default">
<code class="descname">raw_encoder_default</code><span class="sig-paren">(</span><em>obj</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.JsonAsRawEncoder.raw_encoder_default" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.utils.formatting.YamlAsRawDumper">
<em class="property">class </em><code class="descclassname">aria.utils.formatting.</code><code class="descname">YamlAsRawDumper</code><span class="sig-paren">(</span><em>stream</em>, <em>default_style=None</em>, <em>default_flow_style=None</em>, <em>canonical=None</em>, <em>indent=None</em>, <em>width=None</em>, <em>allow_unicode=None</em>, <em>line_break=None</em>, <em>encoding=None</em>, <em>explicit_start=None</em>, <em>explicit_end=None</em>, <em>version=None</em>, <em>tags=None</em>, <em>block_seq_indent=None</em>, <em>top_level_colon_align=None</em>, <em>prefix_colon=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.YamlAsRawDumper" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">ruamel.yaml.dumper.RoundTripDumper</span></code></p>
<p>A <code class="xref py py-class docutils literal"><span class="pre">RoundTripDumper</span></code> that will use the <code class="docutils literal"><span class="pre">as_raw</span></code> property of objects if available.</p>
<dl class="method">
<dt id="aria.utils.formatting.YamlAsRawDumper.represent_data">
<code class="descname">represent_data</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.YamlAsRawDumper.represent_data" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.as_agnostic">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">as_agnostic</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.as_agnostic" title="Permalink to this definition"></a></dt>
<dd><p>Converts subclasses of list and dict to standard lists and dicts, and Unicode strings to
non-Unicode if possible, recursively.</p>
<p>Useful for creating human-readable output of structures.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.as_raw">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">as_raw</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.as_raw" title="Permalink to this definition"></a></dt>
<dd><p>Converts values using their <code class="docutils literal"><span class="pre">as_raw</span></code> property, if it exists, recursively.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.as_raw_dict">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">as_raw_dict</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.as_raw_dict" title="Permalink to this definition"></a></dt>
<dd><p>Assuming value is a dict, converts its values using <a class="reference internal" href="#aria.utils.formatting.as_raw" title="aria.utils.formatting.as_raw"><code class="xref py py-func docutils literal"><span class="pre">as_raw()</span></code></a>. The keys are left as is.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.as_raw_list">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">as_raw_list</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.as_raw_list" title="Permalink to this definition"></a></dt>
<dd><p>Assuming value is a list, converts its values using <a class="reference internal" href="#aria.utils.formatting.as_raw" title="aria.utils.formatting.as_raw"><code class="xref py py-func docutils literal"><span class="pre">as_raw()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.decode_dict">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">decode_dict</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.decode_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.decode_list">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">decode_list</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.decode_list" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.json_dumps">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">json_dumps</code><span class="sig-paren">(</span><em>value</em>, <em>indent=2</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.json_dumps" title="Permalink to this definition"></a></dt>
<dd><p>JSON dumps that supports Unicode and the <code class="docutils literal"><span class="pre">as_raw</span></code> property of objects if available.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.pluralize">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">pluralize</code><span class="sig-paren">(</span><em>noun</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.pluralize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.safe_repr">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">safe_repr</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.safe_repr" title="Permalink to this definition"></a></dt>
<dd><p>Like <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#repr" title="(in Python v2.7)"><code class="xref py py-func docutils literal"><span class="pre">repr()</span></code></a>, but calls <a class="reference internal" href="#aria.utils.formatting.as_raw" title="aria.utils.formatting.as_raw"><code class="xref py py-func docutils literal"><span class="pre">as_raw()</span></code></a> and <a class="reference internal" href="#aria.utils.formatting.as_agnostic" title="aria.utils.formatting.as_agnostic"><code class="xref py py-func docutils literal"><span class="pre">as_agnostic()</span></code></a> first.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.safe_str">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">safe_str</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.safe_str" title="Permalink to this definition"></a></dt>
<dd><p>Like <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> coercion, but makes sure that Unicode strings are properly encoded, and will
never return <code class="docutils literal"><span class="pre">None</span></code>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.string_list_as_string">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">string_list_as_string</code><span class="sig-paren">(</span><em>strings</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.string_list_as_string" title="Permalink to this definition"></a></dt>
<dd><p>Nice representation of a list of strings.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.yaml_dumps">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">yaml_dumps</code><span class="sig-paren">(</span><em>value</em>, <em>indent=2</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.yaml_dumps" title="Permalink to this definition"></a></dt>
<dd><p>YAML dumps that supports Unicode and the <code class="docutils literal"><span class="pre">as_raw</span></code> property of objects if available.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.formatting.yaml_loads">
<code class="descclassname">aria.utils.formatting.</code><code class="descname">yaml_loads</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.formatting.yaml_loads" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.http">
<span id="aria-utils-http"></span><h2><a class="reference internal" href="#module-aria.utils.http" title="aria.utils.http"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.http</span></code></a><a class="headerlink" href="#module-aria.utils.http" title="Permalink to this headline"></a></h2>
<p>HTTP utilities.</p>
<dl class="function">
<dt id="aria.utils.http.download_file">
<code class="descclassname">aria.utils.http.</code><code class="descname">download_file</code><span class="sig-paren">(</span><em>url</em>, <em>destination=None</em>, <em>logger=None</em>, <em>progress_handler=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.http.download_file" title="Permalink to this definition"></a></dt>
<dd><p>Download file.</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>url</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – URL from which to download</li>
<li><strong>destination</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)"><em>basestring</em></a>) – path where the file should be saved or <code class="docutils literal"><span class="pre">None</span></code> to auto-generate</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">path where the file was saved</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#basestring" title="(in Python v2.7)">basestring</a></p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first last simple">
<li><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.IOError" title="(in Python v2.7)"><strong>exceptions.IOError</strong></a></li>
<li><strong>requests.exceptions.RequestException</strong></li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.imports">
<span id="aria-utils-imports"></span><h2><a class="reference internal" href="#module-aria.utils.imports" title="aria.utils.imports"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.imports</span></code></a><a class="headerlink" href="#module-aria.utils.imports" title="Permalink to this headline"></a></h2>
<p>Utilities for dynamically loading Python code.</p>
<dl class="function">
<dt id="aria.utils.imports.import_fullname">
<code class="descclassname">aria.utils.imports.</code><code class="descname">import_fullname</code><span class="sig-paren">(</span><em>name</em>, <em>paths=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.imports.import_fullname" title="Permalink to this definition"></a></dt>
<dd><p>Imports a variable or class based on a full name, optionally searching for it in the paths.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.imports.import_modules">
<code class="descclassname">aria.utils.imports.</code><code class="descname">import_modules</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.imports.import_modules" title="Permalink to this definition"></a></dt>
<dd><p>Imports a module and all its sub-modules, recursively. Relies on modules defining a <code class="docutils literal"><span class="pre">MODULES</span></code>
attribute listing their sub-module names.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.imports.iter_modules">
<code class="descclassname">aria.utils.imports.</code><code class="descname">iter_modules</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.imports.iter_modules" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.utils.imports.load_attribute">
<code class="descclassname">aria.utils.imports.</code><code class="descname">load_attribute</code><span class="sig-paren">(</span><em>attribute_path</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.imports.load_attribute" title="Permalink to this definition"></a></dt>
<dd><p>Dynamically load an attribute based on the path to it. E.g.
<code class="docutils literal"><span class="pre">some_package.some_module.some_attribute</span></code>, will load <code class="docutils literal"><span class="pre">some_attribute</span></code> from the
<code class="docutils literal"><span class="pre">some_package.some_module</span></code> module.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.openclose">
<span id="aria-utils-openclose"></span><h2><a class="reference internal" href="#module-aria.utils.openclose" title="aria.utils.openclose"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.openclose</span></code></a><a class="headerlink" href="#module-aria.utils.openclose" title="Permalink to this headline"></a></h2>
<p>Utilities for working with open/close patterns.</p>
<dl class="class">
<dt id="aria.utils.openclose.OpenClose">
<em class="property">class </em><code class="descclassname">aria.utils.openclose.</code><code class="descname">OpenClose</code><span class="sig-paren">(</span><em>wrapped</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.openclose.OpenClose" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Wraps an object that has <code class="docutils literal"><span class="pre">open()</span></code> and <code class="docutils literal"><span class="pre">close()</span></code> methods to support the <code class="docutils literal"><span class="pre">with</span></code> keyword.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.plugin">
<span id="aria-utils-plugin"></span><h2><a class="reference internal" href="#module-aria.utils.plugin" title="aria.utils.plugin"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.plugin</span></code></a><a class="headerlink" href="#module-aria.utils.plugin" title="Permalink to this headline"></a></h2>
<p>Plugin utilities.</p>
<dl class="function">
<dt id="aria.utils.plugin.create">
<code class="descclassname">aria.utils.plugin.</code><code class="descname">create</code><span class="sig-paren">(</span><em>source</em>, <em>destination_dir</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.plugin.create" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-aria.utils.process">
<span id="aria-utils-process"></span><h2><a class="reference internal" href="#module-aria.utils.process" title="aria.utils.process"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.process</span></code></a><a class="headerlink" href="#module-aria.utils.process" title="Permalink to this headline"></a></h2>
<p>Process utilities.</p>
<dl class="function">
<dt id="aria.utils.process.append_to_path">
<code class="descclassname">aria.utils.process.</code><code class="descname">append_to_path</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.process.append_to_path" title="Permalink to this definition"></a></dt>
<dd><p>Appends one or more paths to the system path of an environment.
The environment will be that of the current process unless another is passed using the
‘env’ keyword argument.
:param args: paths to append
:param kwargs: ‘env’ may be used to pass a custom environment to use</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.process.append_to_pythonpath">
<code class="descclassname">aria.utils.process.</code><code class="descname">append_to_pythonpath</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.process.append_to_pythonpath" title="Permalink to this definition"></a></dt>
<dd><p>Appends one or more paths to the python path of an environment.
The environment will be that of the current process unless another is passed using the
‘env’ keyword argument.
:param args: paths to append
:param kwargs: ‘env’ may be used to pass a custom environment to use</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.specification">
<span id="aria-utils-specification"></span><h2><a class="reference internal" href="#module-aria.utils.specification" title="aria.utils.specification"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.specification</span></code></a><a class="headerlink" href="#module-aria.utils.specification" title="Permalink to this headline"></a></h2>
<p>Utilities for cross-referencing code with specification documents.</p>
<dl class="function">
<dt id="aria.utils.specification.implements_specification">
<code class="descclassname">aria.utils.specification.</code><code class="descname">implements_specification</code><span class="sig-paren">(</span><em>section</em>, <em>spec</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.specification.implements_specification" title="Permalink to this definition"></a></dt>
<dd><p>Decorator for specification implementations.</p>
<p>Used for documentation and standards compliance.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.threading">
<span id="aria-utils-threading"></span><h2><a class="reference internal" href="#module-aria.utils.threading" title="aria.utils.threading"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.threading</span></code></a><a class="headerlink" href="#module-aria.utils.threading" title="Permalink to this headline"></a></h2>
<p>Threading utilities.</p>
<dl class="class">
<dt id="aria.utils.threading.DaemonThread">
<em class="property">class </em><code class="descclassname">aria.utils.threading.</code><code class="descname">DaemonThread</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.DaemonThread" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/threading.html#threading.Thread" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></code></a></p>
<dl class="method">
<dt id="aria.utils.threading.DaemonThread.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.DaemonThread.run" title="Permalink to this definition"></a></dt>
<dd><p>We’re overriding <code class="docutils literal"><span class="pre">Thread.run</span></code> in order to avoid annoying (but harmless) error messages
during shutdown. The problem is that CPython nullifies the global state _before_ shutting
down daemon threads, so that exceptions might happen, and then <code class="docutils literal"><span class="pre">Thread.__bootstrap_inner</span></code>
prints them out.</p>
<p>Our solution is to swallow these exceptions here.</p>
<p>The side effect is that uncaught exceptions in our own thread code will _not_ be printed out
as usual, so it’s our responsibility to catch them in our code.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.utils.threading.ExceptionThread">
<em class="property">class </em><code class="descclassname">aria.utils.threading.</code><code class="descname">ExceptionThread</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.ExceptionThread" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/threading.html#threading.Thread" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></code></a></p>
<p>A thread from which top level exceptions can be retrieved or re-raised.</p>
<dl class="method">
<dt id="aria.utils.threading.ExceptionThread.is_error">
<code class="descname">is_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.ExceptionThread.is_error" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.threading.ExceptionThread.raise_error_if_exists">
<code class="descname">raise_error_if_exists</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.ExceptionThread.raise_error_if_exists" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.utils.threading.ExceptionThread.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.ExceptionThread.run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="exception">
<dt id="aria.utils.threading.ExecutorException">
<em class="property">exception </em><code class="descclassname">aria.utils.threading.</code><code class="descname">ExecutorException</code><a class="headerlink" href="#aria.utils.threading.ExecutorException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.Exception" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></code></a></p>
</dd></dl>
<dl class="class">
<dt id="aria.utils.threading.FixedThreadPoolExecutor">
<em class="property">class </em><code class="descclassname">aria.utils.threading.</code><code class="descname">FixedThreadPoolExecutor</code><span class="sig-paren">(</span><em>size=None</em>, <em>timeout=None</em>, <em>print_exceptions=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Executes tasks in a fixed thread pool.</p>
<p>Makes sure to gather all returned results and thrown exceptions in one place, in order of task
submission.</p>
<p>Example:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">sum</span><span class="p">(</span><span class="n">arg1</span><span class="p">,</span> <span class="n">arg2</span><span class="p">):</span>
<span class="k">return</span> <span class="n">arg1</span> <span class="o">+</span> <span class="n">arg2</span>
<span class="n">executor</span> <span class="o">=</span> <span class="n">FixedThreadPoolExecutor</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
<span class="n">executor</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="nb">sum</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="n">executor</span><span class="o">.</span><span class="n">drain</span><span class="p">()</span>
<span class="k">except</span><span class="p">:</span>
<span class="n">executor</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
<span class="n">executor</span><span class="o">.</span><span class="n">raise_first</span><span class="p">()</span>
<span class="nb">print</span> <span class="n">executor</span><span class="o">.</span><span class="n">returns</span>
</pre></div>
</div>
<p>You can also use it with the Python <code class="docutils literal"><span class="pre">with</span></code> keyword, in which case you don’t need to call
<code class="docutils literal"><span class="pre">close</span></code> explicitly:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">FixedThreadPoolExecutor</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="k">as</span> <span class="n">executor</span><span class="p">:</span>
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
<span class="n">executor</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="nb">sum</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="n">executor</span><span class="o">.</span><span class="n">drain</span><span class="p">()</span>
<span class="n">executor</span><span class="o">.</span><span class="n">raise_first</span><span class="p">()</span>
<span class="nb">print</span> <span class="n">executor</span><span class="o">.</span><span class="n">returns</span>
</pre></div>
</div>
<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 last simple">
<li><strong>size</strong> – number of threads in the pool; if <code class="docutils literal"><span class="pre">None</span></code> will use an optimal number for the
platform</li>
<li><strong>timeout</strong> – timeout in seconds for all blocking operations (<code class="docutils literal"><span class="pre">None</span></code> means no timeout)</li>
<li><strong>print_exceptions</strong> – set to <code class="docutils literal"><span class="pre">True</span></code> in order to print exceptions from tasks</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="method">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.close">
<code class="descname">close</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.close" title="Permalink to this definition"></a></dt>
<dd><p>Blocks until all current tasks finish execution and all worker threads are dead.</p>
<p>You cannot submit tasks anymore after calling this.</p>
<p>This is called automatically upon exit if you are using the <code class="docutils literal"><span class="pre">with</span></code> keyword.</p>
</dd></dl>
<dl class="method">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.drain">
<code class="descname">drain</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.drain" title="Permalink to this definition"></a></dt>
<dd><p>Blocks until all current tasks finish execution, but leaves the worker threads alive.</p>
</dd></dl>
<dl class="attribute">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.exceptions">
<code class="descname">exceptions</code><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.exceptions" title="Permalink to this definition"></a></dt>
<dd><p>The raised exceptions from all tasks, in order of submission.</p>
</dd></dl>
<dl class="attribute">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.is_alive">
<code class="descname">is_alive</code><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.is_alive" title="Permalink to this definition"></a></dt>
<dd><p>True if any of the worker threads are alive.</p>
</dd></dl>
<dl class="method">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.raise_first">
<code class="descname">raise_first</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.raise_first" title="Permalink to this definition"></a></dt>
<dd><p>If exceptions were thrown by any task, then the first one will be raised.</p>
<p>This is rather arbitrary: proper handling would involve iterating all the exceptions.
However, if you want to use the “raise” mechanism, you are limited to raising only one of
them.</p>
</dd></dl>
<dl class="attribute">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.returns">
<code class="descname">returns</code><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.returns" title="Permalink to this definition"></a></dt>
<dd><p>The returned values from all tasks, in order of submission.</p>
</dd></dl>
<dl class="method">
<dt id="aria.utils.threading.FixedThreadPoolExecutor.submit">
<code class="descname">submit</code><span class="sig-paren">(</span><em>func</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.FixedThreadPoolExecutor.submit" title="Permalink to this definition"></a></dt>
<dd><p>Submit a task for execution.</p>
<p>The task will be called ASAP on the next available worker thread in the 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">Raises:</th><td class="field-body"><strong>ExecutorException</strong> – if cannot be submitted</td>
</tr>
</tbody>
</table>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.utils.threading.LockedList">
<em class="property">class </em><code class="descclassname">aria.utils.threading.</code><code class="descname">LockedList</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.threading.LockedList" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">list</span></code></p>
<p>A list that supports the <code class="docutils literal"><span class="pre">with</span></code> keyword with a built-in lock.</p>
<p>Though Python lists are thread-safe in that they will not raise exceptions during concurrent
access, they do not guarantee atomicity. This class will let you gain atomicity when needed.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.type">
<span id="aria-utils-type"></span><h2><a class="reference internal" href="#module-aria.utils.type" title="aria.utils.type"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.type</span></code></a><a class="headerlink" href="#module-aria.utils.type" title="Permalink to this headline"></a></h2>
<p>Type utilities.</p>
<dl class="function">
<dt id="aria.utils.type.canonical_type">
<code class="descclassname">aria.utils.type.</code><code class="descname">canonical_type</code><span class="sig-paren">(</span><em>type_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.type.canonical_type" title="Permalink to this definition"></a></dt>
<dd><p>Return the canonical type for any Python, YAML, or TOSCA type name or alias, or <code class="docutils literal"><span class="pre">None</span></code> if
unsupported.</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"><strong>type_name</strong> – Type name (case insensitive)</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.utils.type.canonical_type_name">
<code class="descclassname">aria.utils.type.</code><code class="descname">canonical_type_name</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.type.canonical_type_name" title="Permalink to this definition"></a></dt>
<dd><p>Returns the canonical TOSCA type name of a primitive value, or <code class="docutils literal"><span class="pre">None</span></code> if unknown.</p>
<p>For a list of TOSCA type names, see the <a class="reference external" href="http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc373867862">TOSCA Simple Profile v1.0
cos01 specification</a></p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.type.convert_value_to_type">
<code class="descclassname">aria.utils.type.</code><code class="descname">convert_value_to_type</code><span class="sig-paren">(</span><em>str_value</em>, <em>python_type_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.type.convert_value_to_type" title="Permalink to this definition"></a></dt>
<dd><p>Converts a value to a specific Python primitive type.</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"><strong>python_type_name</strong> – Python primitive type name (case insensitive)</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – for unsupported types or conversion failure</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.utils.type.full_type_name">
<code class="descclassname">aria.utils.type.</code><code class="descname">full_type_name</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.type.full_type_name" title="Permalink to this definition"></a></dt>
<dd><p>The full class name of a type or instance.</p>
</dd></dl>
<dl class="function">
<dt id="aria.utils.type.validate_value_type">
<code class="descclassname">aria.utils.type.</code><code class="descname">validate_value_type</code><span class="sig-paren">(</span><em>value</em>, <em>type_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.type.validate_value_type" title="Permalink to this definition"></a></dt>
<dd><p>Validate that a value is of a specific type. Supports Python, YAML, and TOSCA type names and
aliases.</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"><strong>type_name</strong> – type name (case insensitive)</td>
</tr>
<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.ValueError" title="(in Python v2.7)"><strong>ValueError</strong></a> – on type mismatch</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.uris">
<span id="aria-utils-uris"></span><h2><a class="reference internal" href="#module-aria.utils.uris" title="aria.utils.uris"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.uris</span></code></a><a class="headerlink" href="#module-aria.utils.uris" title="Permalink to this headline"></a></h2>
<p>URI utilities.</p>
<dl class="function">
<dt id="aria.utils.uris.as_file">
<code class="descclassname">aria.utils.uris.</code><code class="descname">as_file</code><span class="sig-paren">(</span><em>uri</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.uris.as_file" title="Permalink to this definition"></a></dt>
<dd><p>If the URI is a file (either the <code class="docutils literal"><span class="pre">file</span></code> scheme or no scheme), then returns the normalized
path. Otherwise, returns <code class="docutils literal"><span class="pre">None</span></code>.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.uuid">
<span id="aria-utils-uuid"></span><h2><a class="reference internal" href="#module-aria.utils.uuid" title="aria.utils.uuid"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.uuid</span></code></a><a class="headerlink" href="#module-aria.utils.uuid" title="Permalink to this headline"></a></h2>
<p>UUID generation utilities.</p>
<dl class="function">
<dt id="aria.utils.uuid.generate_uuid">
<code class="descclassname">aria.utils.uuid.</code><code class="descname">generate_uuid</code><span class="sig-paren">(</span><em>length=None</em>, <em>variant='base57'</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.uuid.generate_uuid" title="Permalink to this definition"></a></dt>
<dd><p>A random string with varying degrees of guarantee of universal uniqueness.</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"><strong>variant</strong><ul class="simple">
<li><code class="docutils literal"><span class="pre">base57</span></code> (the default) uses a mix of upper and lowercase alphanumerics ensuring no visually
ambiguous characters; default length 22</li>
<li><code class="docutils literal"><span class="pre">alphanumeric</span></code> uses lowercase alphanumeric; default length 25</li>
<li><code class="docutils literal"><span class="pre">uuid</span></code> uses lowercase hexadecimal in the classic UUID format, including dashes; length is
always 36</li>
<li><code class="docutils literal"><span class="pre">hex</span></code> uses lowercase hexadecimal characters but has no guarantee of uniqueness; default
length of 5</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.validation">
<span id="aria-utils-validation"></span><h2><a class="reference internal" href="#module-aria.utils.validation" title="aria.utils.validation"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.validation</span></code></a><a class="headerlink" href="#module-aria.utils.validation" title="Permalink to this headline"></a></h2>
<p>Validation utilities.</p>
<dl class="class">
<dt id="aria.utils.validation.ValidatorMixin">
<em class="property">class </em><code class="descclassname">aria.utils.validation.</code><code class="descname">ValidatorMixin</code><a class="headerlink" href="#aria.utils.validation.ValidatorMixin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>A mix0in that should be added to classes that require validating user input.</p>
<dl class="classmethod">
<dt id="aria.utils.validation.ValidatorMixin.validate_callable">
<em class="property">classmethod </em><code class="descname">validate_callable</code><span class="sig-paren">(</span><em>argument_name</em>, <em>argument</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.validation.ValidatorMixin.validate_callable" title="Permalink to this definition"></a></dt>
<dd><p>Validate <code class="docutils literal"><span class="pre">argument</span></code> is callable</p>
</dd></dl>
<dl class="classmethod">
<dt id="aria.utils.validation.ValidatorMixin.validate_in_choice">
<em class="property">classmethod </em><code class="descname">validate_in_choice</code><span class="sig-paren">(</span><em>name</em>, <em>argument</em>, <em>choices</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.validation.ValidatorMixin.validate_in_choice" title="Permalink to this definition"></a></dt>
<dd><p>Validate <code class="docutils literal"><span class="pre">argument</span></code> is in <code class="docutils literal"><span class="pre">choices</span></code></p>
</dd></dl>
<dl class="classmethod">
<dt id="aria.utils.validation.ValidatorMixin.validate_instance">
<em class="property">classmethod </em><code class="descname">validate_instance</code><span class="sig-paren">(</span><em>argument_name</em>, <em>argument</em>, <em>expected_type</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.validation.ValidatorMixin.validate_instance" title="Permalink to this definition"></a></dt>
<dd><p>Validate <code class="docutils literal"><span class="pre">argument</span></code> is a instance of <code class="docutils literal"><span class="pre">expected_type</span></code></p>
</dd></dl>
<dl class="classmethod">
<dt id="aria.utils.validation.ValidatorMixin.validate_type">
<em class="property">classmethod </em><code class="descname">validate_type</code><span class="sig-paren">(</span><em>argument_name</em>, <em>argument</em>, <em>expected_type</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.validation.ValidatorMixin.validate_type" title="Permalink to this definition"></a></dt>
<dd><p>Validate <code class="docutils literal"><span class="pre">argument</span></code> is a subclass of <code class="docutils literal"><span class="pre">expected_type</span></code></p>
</dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.utils.validation.validate_function_arguments">
<code class="descclassname">aria.utils.validation.</code><code class="descname">validate_function_arguments</code><span class="sig-paren">(</span><em>func</em>, <em>func_kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.validation.validate_function_arguments" title="Permalink to this definition"></a></dt>
<dd><p>Validates all required arguments are supplied to <code class="docutils literal"><span class="pre">func</span></code> and that no additional arguments are
supplied.</p>
</dd></dl>
</div>
<div class="section" id="module-aria.utils.versions">
<span id="aria-utils-versions"></span><h2><a class="reference internal" href="#module-aria.utils.versions" title="aria.utils.versions"><code class="xref py py-mod docutils literal"><span class="pre">aria.utils.versions</span></code></a><a class="headerlink" href="#module-aria.utils.versions" title="Permalink to this headline"></a></h2>
<p>Verion string utilities.</p>
<dl class="class">
<dt id="aria.utils.versions.VersionString">
<em class="property">class </em><code class="descclassname">aria.utils.versions.</code><code class="descname">VersionString</code><span class="sig-paren">(</span><em>value=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.versions.VersionString" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">unicode</span></code></p>
<p>Version string that can be compared, sorted, made unique in a set, and used as a unique dict
key.</p>
<p>The primary part of the string is one or more dot-separated natural numbers. Trailing zeroes
are treated as redundant, e.g. “1.0.0” == “1.0” == “1”.</p>
<p>An optional qualifier can be added after a “-“. The qualifier can be a natural number or a
specially treated prefixed natural number, e.g. “1.1-beta1” &gt; “1.1-alpha2”. The case of the
prefix is ignored.</p>
<p>Numeric qualifiers will always be greater than prefixed integer qualifiers, e.g. “1.1-1” &gt;
“1.1-beta1”.</p>
<p>Versions without a qualifier will always be greater than their equivalents with a qualifier,
e.g. e.g. “1.1” &gt; “1.1-1”.</p>
<p>Any value that does not conform to this format will be treated as a zero version, which would
be lesser than any non-zero version.</p>
<p>For efficient list sorts use the <code class="docutils literal"><span class="pre">key</span></code> property, e.g.:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">sorted</span><span class="p">(</span><span class="n">versions</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">key</span><span class="p">)</span>
</pre></div>
</div>
<dl class="attribute">
<dt id="aria.utils.versions.VersionString.NULL">
<code class="descname">NULL</code><em class="property"> = u''</em><a class="headerlink" href="#aria.utils.versions.VersionString.NULL" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.utils.versions.parse_version_string">
<code class="descclassname">aria.utils.versions.</code><code class="descname">parse_version_string</code><span class="sig-paren">(</span><em>version</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.utils.versions.parse_version_string" title="Permalink to this definition"></a></dt>
<dd><p>Parses a version string.</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"><strong>version</strong> – version string</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">primary tuple and qualifier float</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">((<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-obj docutils literal"><span class="pre">int</span></code></a>), <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-obj docutils literal"><span class="pre">float</span></code></a>)</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
</div>
</div>
<div class="articleComments">
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="aria_extension_tosca.simple_v1_0.html" class="btn btn-neutral float-right" title="aria_extension_tosca.simple_v1_0" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="aria.storage.html" class="btn btn-neutral" title="aria.storage" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2016-2017, Apache Software Foundation.
</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:'0.1.1',
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>