<spanid="pylorax-api-cmdline-module"></span><h2>pylorax.api.cmdline module<aclass="headerlink"href="#module-pylorax.api.cmdline"title="Permalink to this headline">¶</a></h2>
<codeclass="descclassname">pylorax.api.cmdline.</code><codeclass="descname">lorax_composer_parser</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/cmdline.html#lorax_composer_parser"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.cmdline.lorax_composer_parser"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the ArgumentParser for lorax-composer</p>
<spanid="pylorax-api-compose-module"></span><h2>pylorax.api.compose module<aclass="headerlink"href="#module-pylorax.api.compose"title="Permalink to this headline">¶</a></h2>
<p>Setup for composing an image</p>
<divclass="section"id="adding-new-output-types">
<h3>Adding New Output Types<aclass="headerlink"href="#adding-new-output-types"title="Permalink to this headline">¶</a></h3>
<p>The new output type must add a kickstart template to ./share/composer/ where the
name of the kickstart (without the trailing .ks) matches the entry in compose_args.</p>
<p>The kickstart should not have any url or repo entries, these will be added at build
time. The %packages section should be the last thing, and while it can contain mandatory
packages required by the output type, it should not have the trailing %end because the
package NEVRAs will be appended to it at build time.</p>
<p>compose_args should have a name matching the kickstart, and it should set the novirt_install
parameters needed to generate the desired output. Other types should be set to False.</p>
<dlclass="function">
<dtid="pylorax.api.compose.add_customizations">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">add_customizations</code><spanclass="sig-paren">(</span><em>f</em>, <em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#add_customizations"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.add_customizations"title="Permalink to this definition">¶</a></dt>
<dd><p>Add customizations to the kickstart file</p>
<trclass="field-odd field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">RuntimeError if there was a problem writing to the kickstart</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.bootloader_append">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">bootloader_append</code><spanclass="sig-paren">(</span><em>line</em>, <em>kernel_append</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#bootloader_append"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.bootloader_append"title="Permalink to this definition">¶</a></dt>
<dd><p>Insert the kernel_append string into the –append argument</p>
<li><strong>line</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The bootloader … line</li>
<li><strong>kernel_append</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The arguments to append to the –append section</li>
<p>Using pykickstart to process the line is the best way to make sure it
is parsed correctly, and re-assembled for inclusion into the final kickstart</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.compose_args">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">compose_args</code><spanclass="sig-paren">(</span><em>compose_type</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#compose_args"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.compose_args"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the settings to pass to novirt_install for the compose type</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>compose_type</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The type of compose to create, from <cite>compose_types()</cite></td>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">compose_types</code><spanclass="sig-paren">(</span><em>share_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#compose_types"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.compose_types"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">customize_ks_template</code><spanclass="sig-paren">(</span><em>ks_template</em>, <em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#customize_ks_template"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.customize_ks_template"title="Permalink to this definition">¶</a></dt>
<dd><p>Customize the kickstart template and return it</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">firewall_cmd</code><spanclass="sig-paren">(</span><em>line</em>, <em>settings</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#firewall_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.firewall_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Update the firewall line with the new ports and services</p>
<li><strong>line</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The firewall … line</li>
<li><strong>settings</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A dict with the list of services and ports to enable and disable</li>
<p>Using pykickstart to process the line is the best way to make sure it
is parsed correctly, and re-assembled for inclusion into the final kickstart</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.get_default_services">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_default_services</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_default_services"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_default_services"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the default string for services, based on recipe
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_extra_pkgs</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>share_dir</em>, <em>compose_type</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_extra_pkgs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_extra_pkgs"title="Permalink to this definition">¶</a></dt>
<dd><p>Return extra packages needed for the output type</p>
<li><strong>share_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Path to the top level share directory</li>
<li><strong>compose_type</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The type of output to create from the recipe</li>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_firewall_settings</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_firewall_settings"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_firewall_settings"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.firewall settings</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_kernel_append</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_kernel_append"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_kernel_append"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.kernel append value</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_keyboard_layout</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_keyboard_layout"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_keyboard_layout"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.locale.keyboard list</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_languages</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_languages"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_languages"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.locale.languages list</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_services</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_services"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_services"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.services settings</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">get_timezone_settings</code><spanclass="sig-paren">(</span><em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#get_timezone_settings"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.get_timezone_settings"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the customizations.timezone dict</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">keyboard_cmd</code><spanclass="sig-paren">(</span><em>line</em>, <em>layout</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#keyboard_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.keyboard_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Update the keyboard line with the layout</p>
<p>Using pykickstart to process the line is the best way to make sure it
is parsed correctly, and re-assembled for inclusion into the final kickstart</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.lang_cmd">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">lang_cmd</code><spanclass="sig-paren">(</span><em>line</em>, <em>languages</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#lang_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.lang_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Update the lang line with the languages</p>
<li><strong>line</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The lang … line</li>
<li><strong>settings</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#list"title="(in Python v3.8)"><em>list</em></a>) – The list of languages</li>
<p>Using pykickstart to process the line is the best way to make sure it
is parsed correctly, and re-assembled for inclusion into the final kickstart</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.move_compose_results">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">move_compose_results</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>results_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#move_compose_results"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.move_compose_results"title="Permalink to this definition">¶</a></dt>
<dd><p>Move the final image to the results_dir and cleanup the unneeded compose files</p>
<li><strong>results_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Directory to put the results into</li>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">repo_to_ks</code><spanclass="sig-paren">(</span><em>r</em>, <em>url='url'</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#repo_to_ks"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.repo_to_ks"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a kickstart line with the correct args.
:param r: DNF repository information
:type r: dnf.Repo
:param url: “url” or “baseurl” to use for the baseurl parameter
:type url: str
:returns: kickstart command arguments for url/repo command
:rtype: str</p>
<p>Set url to “baseurl” if it is a repo, leave it as “url” for the installation url.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.services_cmd">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">services_cmd</code><spanclass="sig-paren">(</span><em>line</em>, <em>settings</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#services_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.services_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Update the services line with additional services to enable/disable</p>
<li><strong>line</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The services … line</li>
<li><strong>settings</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A dict with the list of services to enable and disable</li>
<li><strong>recipe</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The recipe to build</li>
<li><strong>compose_type</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The type of output to create from the recipe</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">Unique ID for the build that can be used to track its status</p>
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">test_templates</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>share_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#test_templates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.test_templates"title="Permalink to this definition">¶</a></dt>
<dd><p>Try depsolving each of the the templates and report any errors</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>dbo</strong> (<em>dnf.Base</em>) – dnf base object</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">List of template types and errors</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body">List of errors</td>
</tr>
</tbody>
</table>
<p>Return a list of templates and errors encountered or an empty list</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.timezone_cmd">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">timezone_cmd</code><spanclass="sig-paren">(</span><em>line</em>, <em>settings</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#timezone_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.timezone_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Update the timezone line with the settings</p>
<p>Using pykickstart to process the line is the best way to make sure it
is parsed correctly, and re-assembled for inclusion into the final kickstart</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.write_ks_group">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">write_ks_group</code><spanclass="sig-paren">(</span><em>f</em>, <em>group</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#write_ks_group"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.write_ks_group"title="Permalink to this definition">¶</a></dt>
<li><strong>group</strong>– A blueprint group dictionary</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>gid is optional</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.write_ks_root">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">write_ks_root</code><spanclass="sig-paren">(</span><em>f</em>, <em>user</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#write_ks_root"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.write_ks_root"title="Permalink to this definition">¶</a></dt>
<dd><p>Write kickstart root password and sshkey entry</p>
<li><strong>user</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A blueprint user dictionary</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">True if it wrote a rootpw command to the kickstart</p>
<p>If the entry contains a ssh key, use sshkey to write it
If it contains password, use rootpw to set it</p>
<p>root cannot be used with the user command. So only key and password are supported
for root.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.compose.write_ks_user">
<codeclass="descclassname">pylorax.api.compose.</code><codeclass="descname">write_ks_user</code><spanclass="sig-paren">(</span><em>f</em>, <em>user</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/compose.html#write_ks_user"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.compose.write_ks_user"title="Permalink to this definition">¶</a></dt>
<li><strong>user</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A blueprint user dictionary</li>
<spanid="pylorax-api-config-module"></span><h2>pylorax.api.config module<aclass="headerlink"href="#module-pylorax.api.config"title="Permalink to this headline">¶</a></h2>
<dlclass="class">
<dtid="pylorax.api.config.ComposerConfig">
<emclass="property">class </em><codeclass="descclassname">pylorax.api.config.</code><codeclass="descname">ComposerConfig</code><spanclass="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/config.html#ComposerConfig"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.config.ComposerConfig"title="Permalink to this definition">¶</a></dt>
<codeclass="descname">get_default</code><spanclass="sig-paren">(</span><em>section</em>, <em>option</em>, <em>default</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/config.html#ComposerConfig.get_default"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.config.ComposerConfig.get_default"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.config.configure">
<codeclass="descclassname">pylorax.api.config.</code><codeclass="descname">configure</code><spanclass="sig-paren">(</span><em>conf_file='/etc/lorax/composer.conf'</em>, <em>root_dir='/'</em>, <em>test_config=False</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/config.html#configure"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.config.configure"title="Permalink to this definition">¶</a></dt>
<li><strong>conf_file</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Path to the config file overriding the default settings</li>
<li><strong>root_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Directory to prepend to paths, defaults to /</li>
<li><strong>test_config</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#bool"title="(in Python v3.8)"><em>bool</em></a>) – Set to True to skip reading conf_file</li>
<codeclass="descclassname">pylorax.api.config.</code><codeclass="descname">make_dnf_dirs</code><spanclass="sig-paren">(</span><em>conf</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/config.html#make_dnf_dirs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.config.make_dnf_dirs"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>conf</strong> (<aclass="reference internal"href="#pylorax.api.config.ComposerConfig"title="pylorax.api.config.ComposerConfig"><em>ComposerConfig</em></a>) – The configuration to use</td>
<codeclass="descclassname">pylorax.api.config.</code><codeclass="descname">make_queue_dirs</code><spanclass="sig-paren">(</span><em>conf</em>, <em>gid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/config.html#make_queue_dirs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.config.make_queue_dirs"title="Permalink to this definition">¶</a></dt>
<li><strong>conf</strong> (<aclass="reference internal"href="#pylorax.api.config.ComposerConfig"title="pylorax.api.config.ComposerConfig"><em>ComposerConfig</em></a>) – The configuration to use</li>
<li><strong>gid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – Group ID that has access to the queue directories</li>
<spanid="pylorax-api-crossdomain-module"></span><h2>pylorax.api.crossdomain module<aclass="headerlink"href="#module-pylorax.api.crossdomain"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="pylorax.api.crossdomain.crossdomain">
<codeclass="descclassname">pylorax.api.crossdomain.</code><codeclass="descname">crossdomain</code><spanclass="sig-paren">(</span><em>origin</em>, <em>methods=None</em>, <em>headers=None</em>, <em>max_age=21600</em>, <em>attach_to_all=True</em>, <em>automatic_options=True</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/crossdomain.html#crossdomain"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.crossdomain.crossdomain"title="Permalink to this definition">¶</a></dt>
<spanid="pylorax-api-projects-module"></span><h2>pylorax.api.projects module<aclass="headerlink"href="#module-pylorax.api.projects"title="Permalink to this headline">¶</a></h2>
<dlclass="exception">
<dtid="pylorax.api.projects.ProjectsError">
<emclass="property">exception </em><codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">ProjectsError</code><aclass="reference internal"href="_modules/pylorax/api/projects.html#ProjectsError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.ProjectsError"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">api_changelog</code><spanclass="sig-paren">(</span><em>changelog</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#api_changelog"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.api_changelog"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>changelog</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#tuple"title="(in Python v3.8)"><em>tuple</em></a>) – A list of time, author, string tuples.</td>
<p>This returns only the most recent changelog entry.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.api_time">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">api_time</code><spanclass="sig-paren">(</span><em>t</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#api_time"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.api_time"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">delete_repo_source</code><spanclass="sig-paren">(</span><em>source_glob</em>, <em>source_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#delete_repo_source"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.delete_repo_source"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>source_glob</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – A glob of the repo sources to search</td>
<trclass="field-odd field"><thclass="field-name">Raises:</th><tdclass="field-body">ProjectsError if there was a problem</td>
</tr>
</tbody>
</table>
<p>A repo file may have multiple sources in it, delete only the selected source.
If it is the last one in the file, delete the file.</p>
<p>WARNING: This will delete ANY source, the caller needs to ensure that a system
source_name isn’t passed to it.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.dep_evra">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">dep_evra</code><spanclass="sig-paren">(</span><em>dep</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#dep_evra"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.dep_evra"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the epoch:version-release.arch for the dep</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">dep_nevra</code><spanclass="sig-paren">(</span><em>dep</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#dep_nevra"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.dep_nevra"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the name-epoch:version-release.arch</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">dnf_repo_to_file_repo</code><spanclass="sig-paren">(</span><em>repo</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#dnf_repo_to_file_repo"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.dnf_repo_to_file_repo"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a string representation of a DNF Repo object suitable for writing to a .repo file</p>
<p>The DNF Repo.dump() function does not produce a string that can be used as a dnf .repo file,
it ouputs baseurl and gpgkey as python lists which DNF cannot read. So do this manually with
only the attributes we care about.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.estimate_size">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">estimate_size</code><spanclass="sig-paren">(</span><em>packages</em>, <em>block_size=6144</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#estimate_size"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.estimate_size"title="Permalink to this definition">¶</a></dt>
<dd><p>Estimate the installed size of a package list</p>
<li><strong>block_size</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – The block size to use for rounding up file sizes.</li>
<p>Estimating actual requirements is difficult without the actual file sizes, which
dnf doesn’t provide access to. So use the file count and block size to estimate
a minimum size for each package.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.get_repo_sources">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">get_repo_sources</code><spanclass="sig-paren">(</span><em>source_glob</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#get_repo_sources"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.get_repo_sources"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a list of sources from a directory of yum repositories</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>source_glob</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – A glob to use to match the source files, including full path</td>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">A list of the source ids in all of the matching files</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body">list of str</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.get_source_ids">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">get_source_ids</code><spanclass="sig-paren">(</span><em>source_path</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#get_source_ids"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.get_source_ids"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a list of the source ids in a file</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>source_path</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Full path and filename of the source (yum repo) file</td>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">A list of source id strings</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body">list of str</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.modules_info">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">modules_info</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>module_names</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#modules_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.modules_info"title="Permalink to this definition">¶</a></dt>
<dd><p>Return details about a module, including dependencies</p>
<li><strong>module_names</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Names of the modules to get info about</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">List of dicts with module details and dependencies.</p>
</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first last">list of dicts</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.modules_list">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">modules_list</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>module_names</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#modules_list"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.modules_list"title="Permalink to this definition">¶</a></dt>
<li><strong>limit</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – Maximum number of modules to return</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">List of module information and total count</p>
</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first last">tuple of a list of dicts and an Int</p>
</td>
</tr>
</tbody>
</table>
<p>Modules don’t exist in RHEL7 so this only returns projects
and sets the type to “rpm”</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.pkg_to_build">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">pkg_to_build</code><spanclass="sig-paren">(</span><em>pkg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#pkg_to_build"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.pkg_to_build"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the build details from a hawkey.Package object</p>
<p>Note that this only returns the build dict, it does not include the name, description, etc.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.pkg_to_dep">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">pkg_to_dep</code><spanclass="sig-paren">(</span><em>pkg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#pkg_to_dep"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.pkg_to_dep"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the info from a hawkey.Package object</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">pkg_to_project</code><spanclass="sig-paren">(</span><em>pkg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#pkg_to_project"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.pkg_to_project"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the details from a hawkey.Package object</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">pkg_to_project_info</code><spanclass="sig-paren">(</span><em>pkg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#pkg_to_project_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.pkg_to_project_info"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the details from a hawkey.Package object</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>pkg</strong> (<em>hawkey.Package</em>) – hawkey.Package object with package details</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">A dict with the project details, as well as epoch, release, arch, build_time, changelog, …</td>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">proj_to_module</code><spanclass="sig-paren">(</span><em>proj</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#proj_to_module"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.proj_to_module"title="Permalink to this definition">¶</a></dt>
<dd><p>Extract the name from a project_info dict</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">projects_depsolve</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>projects</em>, <em>groups</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#projects_depsolve"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.projects_depsolve"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the dependencies for a list of projects</p>
<li><strong>dbo</strong> (<em>dnf.Base</em>) – dnf base object</li>
<li><strong>projects</strong> (<em>List of Strings</em>) – The projects to find the dependencies for</li>
<li><strong>groups</strong> (<em>List of str</em>) – The groups to include in dependency solving</li>
</ul>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">NEVRA’s of the project and its dependencies</p>
</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first">list of dicts</p>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">ProjectsError if there was a problem installing something</p>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">projects_depsolve_with_size</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>projects</em>, <em>groups</em>, <em>with_core=True</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#projects_depsolve_with_size"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.projects_depsolve_with_size"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the dependencies and installed size for a list of projects</p>
<li><strong>dbo</strong> (<em>dnf.Base</em>) – dnf base object</li>
<li><strong>project_names</strong> (<em>List of Strings</em>) – The projects to find the dependencies for</li>
<li><strong>groups</strong> (<em>List of str</em>) – The groups to include in dependency solving</li>
</ul>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">installed size and a list of NEVRA’s of the project and its dependencies</p>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first">tuple of (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)">int</a>, list of dicts)</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">ProjectsError if there was a problem installing something</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.projects_info">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">projects_info</code><spanclass="sig-paren">(</span><em>dbo</em>, <em>project_names</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#projects_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.projects_info"title="Permalink to this definition">¶</a></dt>
<li><strong>project_names</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – List of names of projects to get info about</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">List of project info dicts with pkg_to_project as well as epoch, version, release, etc.</p>
</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first last">list of dicts</p>
</td>
</tr>
</tbody>
</table>
<p>If project_names is None it will return the full list of available packages</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.projects_list">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">projects_list</code><spanclass="sig-paren">(</span><em>dbo</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#projects_list"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.projects_list"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>dbo</strong> (<em>dnf.Base</em>) – dnf base object</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">List of project info dicts with name, summary, description, homepage, upstream_vcs</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body">list of dicts</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.projects.repo_to_source">
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">repo_to_source</code><spanclass="sig-paren">(</span><em>repo</em>, <em>system_source</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#repo_to_source"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.repo_to_source"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a Weldr Source dict created from the DNF Repository</p>
<li><strong>system_source</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#bool"title="(in Python v3.8)"><em>bool</em></a>) – True if this source is an immutable system source</li>
<codeclass="descclassname">pylorax.api.projects.</code><codeclass="descname">source_to_repo</code><spanclass="sig-paren">(</span><em>source</em>, <em>dnf_conf</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/projects.html#source_to_repo"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.projects.source_to_repo"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a dnf Repo object created from a source dict</p>
<spanid="pylorax-api-queue-module"></span><h2>pylorax.api.queue module<aclass="headerlink"href="#module-pylorax.api.queue"title="Permalink to this headline">¶</a></h2>
<p>Functions to monitor compose queue and run anaconda</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">build_status</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>status_filter=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#build_status"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.build_status"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the details of finished or failed builds</p>
<li><strong>status_filter</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – What builds to return. None == all, “FINISHED”, or “FAILED”</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">A list of the build details (from compose_details)</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">check_queues</code><spanclass="sig-paren">(</span><em>cfg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#check_queues"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.check_queues"title="Permalink to this definition">¶</a></dt>
<dd><p>Check to make sure the new and run queue symlinks are correct</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">compose_detail</code><spanclass="sig-paren">(</span><em>results_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#compose_detail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.compose_detail"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>results_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The directory containing the metadata and results for the build</td>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body">IOError if it cannot read the directory, STATUS, or blueprint file.</td>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">get_compose_type</code><spanclass="sig-paren">(</span><em>results_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#get_compose_type"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.get_compose_type"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>results_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The directory containing the metadata and results for the build</td>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">get_image_name</code><spanclass="sig-paren">(</span><em>uuid_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#get_image_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.get_image_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the filename and full path of the build’s image file</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</td>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body">tuple of strings</td>
</tr>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body">RuntimeError if there was a problem (eg. invalid uuid, missing config file)</td>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">make_compose</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>results_dir</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#make_compose"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.make_compose"title="Permalink to this definition">¶</a></dt>
<dd><p>Run anaconda with the final-kickstart.ks from results_dir</p>
<li><strong>results_dir</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The directory containing the metadata and results for the build</li>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">monitor</code><spanclass="sig-paren">(</span><em>cfg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#monitor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.monitor"title="Permalink to this definition">¶</a></dt>
<dd><p>Monitor the queue for new compose requests</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">queue_status</code><spanclass="sig-paren">(</span><em>cfg</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#queue_status"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.queue_status"title="Permalink to this definition">¶</a></dt>
<dd><p>Return details about what is in the queue.</p>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">A list of the new composes, and a list of the running composes</td>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">start_queue_monitor</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uid</em>, <em>gid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#start_queue_monitor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.start_queue_monitor"title="Permalink to this definition">¶</a></dt>
<dd><p>Start the queue monitor as a mp process</p>
<li><strong>uid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – User ID that owns the queue</li>
<li><strong>gid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – Group ID that owns the queue</li>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_cancel</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_cancel"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_cancel"title="Permalink to this definition">¶</a></dt>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_delete</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_delete"title="Permalink to this definition">¶</a></dt>
<dd><p>Delete all of the results from a compose</p>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">This will raise an error if the delete failed</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_image</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_image"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_image"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the filename and full path of the build’s image file</p>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">RuntimeError if there was a problem (eg. invalid uuid, missing config file)</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_info</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_info"title="Permalink to this definition">¶</a></dt>
<dd><p>Return information about the composition</p>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">dictionary of information about the composition or None</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_log</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em>, <em>size=1024</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_log"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_log"title="Permalink to this definition">¶</a></dt>
<dd><p>Return <cite>size</cite> kbytes from the end of the anaconda.log</p>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<li><strong>size</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – Number of kbytes to read. Default is 1024</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">Up to <cite>size</cite> kbytes from the end of the log</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">RuntimeError if there was a problem (eg. no log file available)</p>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_status</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_status"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_status"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the details of a specific UUID compose</p>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<codeclass="descclassname">pylorax.api.queue.</code><codeclass="descname">uuid_tar</code><spanclass="sig-paren">(</span><em>cfg</em>, <em>uuid</em>, <em>metadata=False</em>, <em>image=False</em>, <em>logs=False</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/queue.html#uuid_tar"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.queue.uuid_tar"title="Permalink to this definition">¶</a></dt>
<li><strong>uuid</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The UUID of the build</li>
<li><strong>metadata</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#bool"title="(in Python v3.8)"><em>bool</em></a>) – Set to true to include all the metadata needed to reproduce the build</li>
<li><strong>image</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#bool"title="(in Python v3.8)"><em>bool</em></a>) – Set to true to include the output image</li>
<li><strong>logs</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#bool"title="(in Python v3.8)"><em>bool</em></a>) – Set to true to include the logs from the build</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">RuntimeError if there was a problem (eg. missing config file)</p>
<spanid="pylorax-api-recipes-module"></span><h2>pylorax.api.recipes module<aclass="headerlink"href="#module-pylorax.api.recipes"title="Permalink to this headline">¶</a></h2>
<dlclass="class">
<dtid="pylorax.api.recipes.CommitDetails">
<emclass="property">class </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">CommitDetails</code><spanclass="sig-paren">(</span><em>commit</em>, <em>timestamp</em>, <em>message</em>, <em>revision=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#CommitDetails"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.CommitDetails"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">CommitTimeValError</code><aclass="reference internal"href="_modules/pylorax/api/recipes.html#CommitTimeValError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.CommitTimeValError"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">NewRecipeGit</code><spanclass="sig-paren">(</span><em>toml_dict</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#NewRecipeGit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.NewRecipeGit"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a RecipeGit object from fields in a TOML dict</p>
<li><strong>rpmname</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Name of the rpm to create, also used as the prefix name in the tar archive</li>
<li><strong>rpmversion</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Version of the rpm, eg. “1.0.0”</li>
<li><strong>rpmrelease</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Release of the rpm, eg. “1”</li>
<li><strong>summary</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Summary string for the rpm</li>
<li><strong>repo</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – URL of the get repo to clone and create the archive from</li>
<li><strong>ref</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Git reference to check out. eg. origin/branch-name, git tag, or git commit hash</li>
<li><strong>destination</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Path to install the / of the git repo at when installing the rpm</li>
<p>This is a subclass of dict that enforces the constructor arguments
and adds a .filename property to return the recipe’s filename,
and a .toml() function to return the recipe as a TOML string.</p>
<dlclass="method">
<dtid="pylorax.api.recipes.Recipe.bump_version">
<codeclass="descname">bump_version</code><spanclass="sig-paren">(</span><em>old_version=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#Recipe.bump_version"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.Recipe.bump_version"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>old_version</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – An optional old version number</td>
If there is no old version the new version is checked and returned
If there is no new version, but there is a old one, bump its patch level
If the old and new versions are the same, bump the patch level
If they are different, check and return the new version</p>
</dd></dl>
<dlclass="attribute">
<dtid="pylorax.api.recipes.Recipe.filename">
<codeclass="descname">filename</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.filename"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the Recipe’s filename</p>
<p>Replaces spaces in the name with ‘-‘ and appends .toml</p>
</dd></dl>
<dlclass="method">
<dtid="pylorax.api.recipes.Recipe.freeze">
<codeclass="descname">freeze</code><spanclass="sig-paren">(</span><em>deps</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#Recipe.freeze"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.Recipe.freeze"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a new Recipe with full module and package NEVRA</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>deps</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#list"title="(in Python v3.8)"><em>list</em></a><em>(</em>) – A list of dependency NEVRA to use to fill in the modules and packages</td>
<codeclass="descname">group_names</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.group_names"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the names of the groups. Groups do not have versions.</p>
<codeclass="descname">module_names</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.module_names"title="Permalink to this definition">¶</a></dt>
<codeclass="descname">module_nver</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.module_nver"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the names and version globs of the modules</p>
<codeclass="descname">package_names</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.package_names"title="Permalink to this definition">¶</a></dt>
<codeclass="descname">package_nver</code><aclass="headerlink"href="#pylorax.api.recipes.Recipe.package_nver"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the names and version globs of the packages</p>
<codeclass="descname">toml</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#Recipe.toml"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.Recipe.toml"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the Recipe in TOML format</p>
</dd></dl>
</dd></dl>
<dlclass="exception">
<dtid="pylorax.api.recipes.RecipeError">
<emclass="property">exception </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">RecipeError</code><aclass="reference internal"href="_modules/pylorax/api/recipes.html#RecipeError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.RecipeError"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">RecipeFileError</code><aclass="reference internal"href="_modules/pylorax/api/recipes.html#RecipeFileError"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.RecipeFileError"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">RecipeGroup</code><spanclass="sig-paren">(</span><em>name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#RecipeGroup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.RecipeGroup"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">RecipeModule</code><spanclass="sig-paren">(</span><em>name</em>, <em>version</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#RecipeModule"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.RecipeModule"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">RecipePackage</code><spanclass="sig-paren">(</span><em>name</em>, <em>version</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#RecipePackage"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.RecipePackage"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">check_list_case</code><spanclass="sig-paren">(</span><em>expected_keys</em>, <em>recipe_keys</em>, <em>prefix=''</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#check_list_case"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.check_list_case"title="Permalink to this definition">¶</a></dt>
<li><strong>expected_keys</strong> (<em>list of str</em>) – A list of expected key strings</li>
<li><strong>recipe_keys</strong> (<em>list of str</em>) – A list of the recipe’s key strings</li>
</ul>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">list of errors</p>
</td>
</tr>
<trclass="field-odd field"><thclass="field-name">Return type:</th><tdclass="field-body"><pclass="first last">list of str</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.check_recipe_dict">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">check_recipe_dict</code><spanclass="sig-paren">(</span><em>recipe_dict</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#check_recipe_dict"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.check_recipe_dict"title="Permalink to this definition">¶</a></dt>
<dd><p>Check a dict before using it to create a new Recipe</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>recipe_dict</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A plain dict of the recipe</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body">True if dict is ok</td>
<p>This checks a dict to make sure required fields are present,
that optional fields are correct, and that other optional fields
are of the correct format, when included.</p>
<p>This collects all of the errors and returns a single RecipeError with
a string that can be presented to users.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.check_required_list">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">check_required_list</code><spanclass="sig-paren">(</span><em>lst</em>, <em>fields</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#check_required_list"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.check_required_list"title="Permalink to this definition">¶</a></dt>
<dd><p>Check a list of dicts for required fields</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">commit_recipe</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#commit_recipe"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.commit_recipe"title="Permalink to this definition">¶</a></dt>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">commit_recipe_directory</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>directory</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#commit_recipe_directory"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.commit_recipe_directory"title="Permalink to this definition">¶</a></dt>
<dd><p>Commit all *.toml files from a directory, if they aren’t already in git.</p>
<li><strong>directory</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The directory of *.toml recipes to commit</li>
<trclass="field-odd field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit or RecipeFileError</p>
</td>
</tr>
</tbody>
</table>
<p>Files with Toml or RecipeFileErrors will be skipped, and the remainder will
be tried.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.commit_recipe_file">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">commit_recipe_file</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#commit_recipe_file"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.commit_recipe_file"title="Permalink to this definition">¶</a></dt>
<li><strong>filename</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Path to the recipe file to commit</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit or RecipeFileError</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">customizations_diff</code><spanclass="sig-paren">(</span><em>old_recipe</em>, <em>new_recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#customizations_diff"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.customizations_diff"title="Permalink to this definition">¶</a></dt>
<dd><p>Diff the customizations sections from two versions of a recipe</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">delete_file</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#delete_file"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.delete_file"title="Permalink to this definition">¶</a></dt>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.delete_recipe">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">delete_recipe</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#delete_recipe"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.delete_recipe"title="Permalink to this definition">¶</a></dt>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to delete</li>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">diff_lists</code><spanclass="sig-paren">(</span><em>title</em>, <em>field</em>, <em>old_items</em>, <em>new_items</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#diff_lists"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.diff_lists"title="Permalink to this definition">¶</a></dt>
<li><strong>title</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Title of the entry</li>
<li><strong>field</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Field to use as the key for comparisons</li>
<li><strong>old_items</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#list"title="(in Python v3.8)"><em>list</em></a><em>(</em><aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a><em>)</em>) – List of item dicts with “name” field</li>
<li><strong>new_items</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#list"title="(in Python v3.8)"><em>list</em></a><em>(</em><aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a><em>)</em>) – List of item dicts with “name” field</li>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">find_commit_tag</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em>, <em>commit_id</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#find_commit_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.find_commit_tag"title="Permalink to this definition">¶</a></dt>
<dd><p>Find the tag that matches the commit_id</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">find_field_value</code><spanclass="sig-paren">(</span><em>field</em>, <em>value</em>, <em>lst</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#find_field_value"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.find_field_value"title="Permalink to this definition">¶</a></dt>
<dd><p>Find a field matching value in the list of dicts.</p>
<li><strong>field</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – field to search for</li>
<li><strong>value</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – value to match in the field</li>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">find_name</code><spanclass="sig-paren">(</span><em>name</em>, <em>lst</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#find_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.find_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Find the dict matching the name in a list and return it.</p>
<li><strong>name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Name to search for</li>
<p>This is just a wrapper for find_field_value with field set to “name”</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.find_recipe_obj">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">find_recipe_obj</code><spanclass="sig-paren">(</span><em>path</em>, <em>recipe</em>, <em>default=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#find_recipe_obj"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.find_recipe_obj"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><ulclass="first last simple">
<li><strong>path</strong> (<em>list of str</em>) – A list of dict field names</li>
<li><strong>recipe</strong> (<aclass="reference internal"href="#pylorax.api.recipes.Recipe"title="pylorax.api.recipes.Recipe"><em>Recipe</em></a>) – The recipe to search</li>
<li><strong>default</strong> (<em>Any</em>) – The value to return if it is not found</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Return the object found by applying the path to the dicts in the recipe, or
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">get_commit_details</code><spanclass="sig-paren">(</span><em>commit</em>, <em>revision=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#get_commit_details"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.get_commit_details"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the details about a specific commit.</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">get_revision_from_tag</code><spanclass="sig-paren">(</span><em>tag</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#get_revision_from_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.get_revision_from_tag"title="Permalink to this definition">¶</a></dt>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>tag</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The tag to exract the revision from</td>
<p>The revision is the part after the r in ‘branch/filename/rXXX’</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.gfile">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">gfile</code><spanclass="sig-paren">(</span><em>path</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#gfile"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.gfile"title="Permalink to this definition">¶</a></dt>
<dd><p>Convert a string path to GFile for use with Git</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.head_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">head_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#head_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.head_commit"title="Permalink to this definition">¶</a></dt>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.is_commit_tag">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">is_commit_tag</code><spanclass="sig-paren">(</span><em>repo</em>, <em>commit_id</em>, <em>tag</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#is_commit_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.is_commit_tag"title="Permalink to this definition">¶</a></dt>
<dd><p>Check to see if a tag points to a specific commit.</p>
<li><strong>tag</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The tag to check</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">True if the tag points to the commit, False otherwise</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">is_parent_diff</code><spanclass="sig-paren">(</span><em>repo</em>, <em>filename</em>, <em>tree</em>, <em>parent</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#is_parent_diff"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.is_parent_diff"title="Permalink to this definition">¶</a></dt>
<dd><p>Check to see if the commit is different from its parents</p>
<li><strong>tree</strong> (<em>Git.Tree</em>) – The commit’s tree</li>
<li><strong>parent</strong> (<em>Git.Commit</em>) – The commit’s parent commit</li>
</ul>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Retuns:</th><tdclass="field-body"><pclass="first">True if filename in the commit is different from its parents</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">list_branch_files</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#list_branch_files"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.list_branch_files"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a sorted list of the files on the branch HEAD</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.list_commit_files">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">list_commit_files</code><spanclass="sig-paren">(</span><em>repo</em>, <em>commit</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#list_commit_files"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.list_commit_files"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a sorted list of the files on a commit</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.list_commits">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">list_commits</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em>, <em>limit=0</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#list_commits"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.list_commits"title="Permalink to this definition">¶</a></dt>
<dd><p>List the commit history of a file on a branch.</p>
<li><strong>filename</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – filename to revert</li>
<li><strong>limit</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – Number of commits to return (0=all)</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.open_or_create_repo">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">open_or_create_repo</code><spanclass="sig-paren">(</span><em>path</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#open_or_create_repo"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.open_or_create_repo"title="Permalink to this definition">¶</a></dt>
<dd><p>Open an existing repo, or create a new one</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body">Can raise errors from Ggit</td>
</tr>
</tbody>
</table>
<p>A bare git repo will be created in the git directory of the specified path.
If a repo already exists it will be opened and returned instead of
creating a new one.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.prepare_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">prepare_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>builder</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#prepare_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.prepare_commit"title="Permalink to this definition">¶</a></dt>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.read_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">read_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em>, <em>commit=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#read_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.read_commit"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the contents of a file on a specific branch or commit.</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>If no commit is passed the master:filename is returned, otherwise it will be
commit:filename</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.read_commit_spec">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">read_commit_spec</code><spanclass="sig-paren">(</span><em>repo</em>, <em>spec</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#read_commit_spec"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.read_commit_spec"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the raw content of the blob specified by the spec</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>eg. To read the README file from master the spec is “master:README”</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.read_recipe_and_id">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">read_recipe_and_id</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em>, <em>commit=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#read_recipe_and_id"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.read_recipe_and_id"title="Permalink to this definition">¶</a></dt>
<dd><p>Read a recipe commit and its id from git</p>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to read</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>If no commit is passed the master:filename is returned, otherwise it will be
commit:filename</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.read_recipe_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">read_recipe_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em>, <em>commit=None</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#read_recipe_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.read_recipe_commit"title="Permalink to this definition">¶</a></dt>
<dd><p>Read a recipe commit from git and return a Recipe object</p>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to read</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>If no commit is passed the master:filename is returned, otherwise it will be
commit:filename</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.recipe_diff">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">recipe_diff</code><spanclass="sig-paren">(</span><em>old_recipe</em>, <em>new_recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#recipe_diff"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.recipe_diff"title="Permalink to this definition">¶</a></dt>
<li><strong>old_recipe</strong> (<aclass="reference internal"href="#pylorax.api.recipes.Recipe"title="pylorax.api.recipes.Recipe"><em>Recipe</em></a>) – The old version of the recipe</li>
<li><strong>new_recipe</strong> (<aclass="reference internal"href="#pylorax.api.recipes.Recipe"title="pylorax.api.recipes.Recipe"><em>Recipe</em></a>) – The new version of the recipe</li>
</ul>
</td>
</tr>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">A list of diff dict entries with old/new</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">recipe_filename</code><spanclass="sig-paren">(</span><em>name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#recipe_filename"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.recipe_filename"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the toml filename for a recipe</p>
<p>Replaces spaces with ‘-‘ and appends ‘.toml’</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.recipe_from_dict">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">recipe_from_dict</code><spanclass="sig-paren">(</span><em>recipe_dict</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#recipe_from_dict"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.recipe_from_dict"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a Recipe object from a plain dict.</p>
<trclass="field-odd field"><thclass="field-name">Parameters:</th><tdclass="field-body"><strong>recipe_dict</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#dict"title="(in Python v3.8)"><em>dict</em></a>) – A plain dict of the recipe</td>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">recipe_from_file</code><spanclass="sig-paren">(</span><em>recipe_path</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#recipe_from_file"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.recipe_from_file"title="Permalink to this definition">¶</a></dt>
<dd><p>Return a recipe file as a Recipe object</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">recipe_from_toml</code><spanclass="sig-paren">(</span><em>recipe_str</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#recipe_from_toml"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.recipe_from_toml"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a Recipe object from a toml string.</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">repo_file_exists</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#repo_file_exists"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.repo_file_exists"title="Permalink to this definition">¶</a></dt>
<dd><p>Return True if the filename exists on the branch</p>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">True if the filename exists on the HEAD of the branch, False otherwise.</p>
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">revert_file</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em>, <em>commit</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#revert_file"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.revert_file"title="Permalink to this definition">¶</a></dt>
<dd><p>Revert the contents of a file to that of a previous commit</p>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.revert_recipe">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">revert_recipe</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em>, <em>commit</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#revert_recipe"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.revert_recipe"title="Permalink to this definition">¶</a></dt>
<dd><p>Revert the contents of a recipe to that of a previous commit</p>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to revert</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.tag_file_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">tag_file_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#tag_file_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.tag_file_commit"title="Permalink to this definition">¶</a></dt>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>This uses git tags, of the form <cite>refs/tags/<branch>/<filename>/r<revision></cite>
Only the most recent recipe commit can be tagged to prevent out of order tagging.
Revisions start at 1 and increment for each new commit that is tagged.
If the commit has already been tagged it will return false.</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.tag_recipe_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">tag_recipe_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#tag_recipe_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.tag_recipe_commit"title="Permalink to this definition">¶</a></dt>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to tag</li>
<trclass="field-even field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">Can raise errors from Ggit</p>
</td>
</tr>
</tbody>
</table>
<p>Uses tag_file_commit()</p>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.recipes.write_commit">
<codeclass="descclassname">pylorax.api.recipes.</code><codeclass="descname">write_commit</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>filename</em>, <em>message</em>, <em>content</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/recipes.html#write_commit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.recipes.write_commit"title="Permalink to this definition">¶</a></dt>
<dd><p>Make a new commit to a repository’s branch</p>
<li><strong>filename</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – full path of the file to add</li>
<li><strong>message</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The commit message</li>
<li><strong>content</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The data to write</li>
<spanid="pylorax-api-server-module"></span><h2>pylorax.api.server module<aclass="headerlink"href="#module-pylorax.api.server"title="Permalink to this headline">¶</a></h2>
<dlclass="class">
<dtid="pylorax.api.server.GitLock">
<emclass="property">class </em><codeclass="descclassname">pylorax.api.server.</code><codeclass="descname">GitLock</code><spanclass="sig-paren">(</span><em>repo</em>, <em>lock</em>, <em>dir</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#pylorax.api.server.GitLock"title="Permalink to this definition">¶</a></dt>
<codeclass="descname">dir</code><aclass="headerlink"href="#pylorax.api.server.GitLock.dir"title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 2</p>
</dd></dl>
<dlclass="attribute">
<dtid="pylorax.api.server.GitLock.lock">
<codeclass="descname">lock</code><aclass="headerlink"href="#pylorax.api.server.GitLock.lock"title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 1</p>
</dd></dl>
<dlclass="attribute">
<dtid="pylorax.api.server.GitLock.repo">
<codeclass="descname">repo</code><aclass="headerlink"href="#pylorax.api.server.GitLock.repo"title="Permalink to this definition">¶</a></dt>
<dd><p>Alias for field number 0</p>
</dd></dl>
</dd></dl>
</div>
<divclass="section"id="module-pylorax.api.v0">
<spanid="pylorax-api-v0-module"></span><h2>pylorax.api.v0 module<aclass="headerlink"href="#module-pylorax.api.v0"title="Permalink to this headline">¶</a></h2>
<p>Setup v0 of the API server</p>
<p>v0_api() must be called to setup the API routes for Flask</p>
<divclass="section"id="status-responses">
<h3>Status Responses<aclass="headerlink"href="#status-responses"title="Permalink to this headline">¶</a></h3>
<p>Some requests only return a status/error response.</p>
<blockquote>
<div><p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<spanclass="s2">"errors"</span><spanclass="p">:</span><spanclass="p">[</span><spanclass="s2">"ggit-error: Failed to remove entry. File isn't in the tree - jboss.toml (-1)"</span><spanclass="p">]</span>
<h4><cite>/api/v0/blueprints/info/<blueprint_names>[?format=<json|toml>]</cite><aclass="headerlink"href="#api-v0-blueprints-info-blueprint-names-format-json-toml"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the JSON representation of the blueprint. This includes 3 top level
objects. <cite>changes</cite> which lists whether or not the workspace is different from
the most recent commit. <cite>blueprints</cite> which lists the JSON representation of the
blueprint, and <cite>errors</cite> which will list any errors, like non-existant blueprints.</p>
<p>By default the response is JSON, but if <cite>?format=toml</cite> is included in the URL’s
arguments it will return the response as the blueprint’s raw TOML content.
<em>Unless</em> there is an error which will only return a 400 and a standard error
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"An example GlusterFS server with samba"</span><spanclass="p">,</span>
<spanclass="s2">"errors"</span><spanclass="p">:</span><spanclass="p">[</span><spanclass="s2">"ggit-error: the path 'missing.toml' does not exist in the given tree (-3)"</span><spanclass="p">]</span>
<h4><cite>/api/v0/blueprints/changes/<blueprint_names>[?offset=0&limit=20]</cite><aclass="headerlink"href="#api-v0-blueprints-changes-blueprint-names-offset-0-limit-20"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the commits to a blueprint. By default it returns the first 20 commits, this
can be changed by passing <cite>offset</cite> and/or <cite>limit</cite>. The response will include the
commit hash, summary, timestamp, and optionally the revision number. The commit
hash can be passed to <cite>/api/v0/blueprints/diff/</cite> to retrieve the exact changes.</p>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.6 saved."</span><spanclass="p">,</span>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.5 saved."</span><spanclass="p">,</span>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.4 saved."</span><spanclass="p">,</span>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.3 saved."</span><spanclass="p">,</span>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.2 saved."</span><spanclass="p">,</span>
<spanclass="s2">"message"</span><spanclass="p">:</span><spanclass="s2">"blueprint glusterfs, version 0.0.1 saved."</span><spanclass="p">,</span>
<h4>DELETE <cite>/api/v0/blueprints/delete/<blueprint_name></cite><aclass="headerlink"href="#delete-api-v0-blueprints-delete-blueprint-name"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Delete a blueprint. The blueprint is deleted from the branch, and will no longer
be listed by the <cite>list</cite> route. A blueprint can be undeleted using the <cite>undo</cite> route
to revert to a previous commit. This will also delete the workspace copy of the
blueprint.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4>POST <cite>/api/v0/blueprints/workspace</cite><aclass="headerlink"href="#post-api-v0-blueprints-workspace"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Write a blueprint to the temporary workspace. This works exactly the same as <cite>new</cite> except
that it does not create a commit. JSON and TOML bodies are supported.</p>
<p>The workspace is meant to be used as a temporary blueprint storage for clients.
It will be read by the <cite>info</cite> and <cite>diff</cite> routes if it is different from the
most recent commit.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4>DELETE <cite>/api/v0/blueprints/workspace/<blueprint_name></cite><aclass="headerlink"href="#delete-api-v0-blueprints-workspace-blueprint-name"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Remove the temporary workspace copy of a blueprint. The <cite>info</cite> route will now
return the most recent commit of the blueprint. Any changes that were in the
workspace will be lost.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4>POST <cite>/api/v0/blueprints/undo/<blueprint_name>/<commit></cite><aclass="headerlink"href="#post-api-v0-blueprints-undo-blueprint-name-commit"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>This will revert the blueprint to a previous commit. The commit hash from the <cite>changes</cite>
route can be used in this request.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4>POST <cite>/api/v0/blueprints/tag/<blueprint_name></cite><aclass="headerlink"href="#post-api-v0-blueprints-tag-blueprint-name"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Tag a blueprint as a new release. This uses git tags with a special format.
<cite>refs/tags/<branch>/<filename>/r<revision></cite>. Only the most recent blueprint commit
can be tagged. Revisions start at 1 and increment for each new tag
(per-blueprint). If the commit has already been tagged it will return false.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4><cite>/api/v0/blueprints/diff/<blueprint_name>/<from_commit>/<to_commit></cite><aclass="headerlink"href="#api-v0-blueprints-diff-blueprint-name-from-commit-to-commit"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the differences between two commits, or the workspace. The commit hash
from the <cite>changes</cite> response can be used here, or several special strings:</p>
<ulclass="simple">
<li>NEWEST will select the newest git commit. This works for <cite>from_commit</cite> or <cite>to_commit</cite></li>
<li>WORKSPACE will select the workspace copy. This can only be used in <cite>to_commit</cite></li>
</ul>
<p>eg. <cite>/api/v0/blueprints/diff/glusterfs/NEWEST/WORKSPACE</cite> will return the differences
between the most recent git commit and the contents of the workspace.</p>
<p>Each entry in the response’s diff object contains the old blueprint value and the new one.
If old is null and new is set, then it was added.
If new is null and old is set, then it was removed.
If both are set, then it was changed.</p>
<p>The old/new entries will have the name of the blueprint field that was changed. This
can be one of: Name, Description, Version, Module, or Package.
The contents for these will be the old/new values for them.</p>
<p>In the example below the version was changed and the ping package was added.</p>
<h4><cite>/api/v0/blueprints/freeze/<blueprint_names></cite><aclass="headerlink"href="#api-v0-blueprints-freeze-blueprint-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return a JSON representation of the blueprint with the package and module versions set
to the exact versions chosen by depsolving the blueprint.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"An example GlusterFS server with samba"</span><spanclass="p">,</span>
<h4><cite>/api/v0/blueprints/depsolve/<blueprint_names></cite><aclass="headerlink"href="#api-v0-blueprints-depsolve-blueprint-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Depsolve the blueprint using yum, return the blueprint used, and the NEVRAs of the packages
chosen to satisfy the blueprint’s requirements. The response will include a list of results,
with the full dependency list in <cite>dependencies</cite>, the NEVRAs for the blueprint’s direct modules
and packages in <cite>modules</cite>, and any error will be in <cite>errors</cite>.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"An example GlusterFS server with samba"</span><spanclass="p">,</span>
<h4><cite>/api/v0/projects/list[?offset=0&limit=20]</cite><aclass="headerlink"href="#api-v0-projects-list-offset-0-limit-20"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>List all of the available projects. By default this returns the first 20 items,
but this can be changed by setting the <cite>offset</cite> and <cite>limit</cite> arguments.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"0 A.D. (pronounced "</span><spanclass="n">zero</span><spanclass="n">ey</span><spanclass="o">-</span><spanclass="n">dee</span><spanclass="s2">") is a ..."</span><spanclass="p">,</span>
<spanclass="s2">"summary"</span><spanclass="p">:</span><spanclass="s2">"Cross-Platform RTS Game of Ancient Warfare"</span><spanclass="p">,</span>
<h4><cite>/api/v0/projects/info/<project_names></cite><aclass="headerlink"href="#api-v0-projects-info-project-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return information about the comma-separated list of projects. It includes the description
of the package along with the list of available builds.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"The GNU tar program saves many ..."</span><spanclass="p">,</span>
<spanclass="s2">"summary"</span><spanclass="p">:</span><spanclass="s2">"A GNU file archiving program"</span><spanclass="p">,</span>
<h4><cite>/api/v0/projects/depsolve/<project_names></cite><aclass="headerlink"href="#api-v0-projects-depsolve-project-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Depsolve the comma-separated list of projects and return the list of NEVRAs needed
<h4><cite>/api/v0/projects/source/info/<source-names></cite><aclass="headerlink"href="#api-v0-projects-source-info-source-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return information about the comma-separated list of source names. Or all of the
sources if ‘*’ is passed. Note that general globbing is not supported, only ‘*’.</p>
<p>immutable system sources will have the “system” field set to true. User added sources
will have it set to false. System sources cannot be changed or deleted.</p>
<h4>POST <cite>/api/v0/projects/source/new</cite><aclass="headerlink"href="#post-api-v0-projects-source-new"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Add (or change) a source for use when depsolving blueprints and composing images.</p>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">proxy</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">gpgkey_urls</span></code> entries are optional. All of the others are required. The supported
types for the urls are:</p>
<ulclass="simple">
<li><codeclass="docutils literal notranslate"><spanclass="pre">yum-baseurl</span></code> is a URL to a yum repository.</li>
<li><codeclass="docutils literal notranslate"><spanclass="pre">yum-mirrorlist</span></code> is a URL for a mirrorlist.</li>
<li><codeclass="docutils literal notranslate"><spanclass="pre">yum-metalink</span></code> is a URL for a metalink.</li>
</ul>
<p>If <codeclass="docutils literal notranslate"><spanclass="pre">check_ssl</span></code> is true the https certificates must be valid. If they are self-signed you can either set
this to false, or add your Certificate Authority to the host system.</p>
<p>If <codeclass="docutils literal notranslate"><spanclass="pre">check_gpg</span></code> is true the GPG key must either be installed on the host system, or <codeclass="docutils literal notranslate"><spanclass="pre">gpgkey_urls</span></code>
should point to it.</p>
<p>You can edit an existing source (other than system sources), by doing a POST
of the new version of the source. It will overwrite the previous one.</p>
<h4>DELETE <cite>/api/v0/projects/source/delete/<source-name></cite><aclass="headerlink"href="#delete-api-v0-projects-source-delete-source-name"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Delete a user added source. This will fail if a system source is passed to
it.</p>
<p>The response will be a status response with <cite>status</cite> set to true, or an
error response with it set to false and an error message included.</p>
<h4><cite>/api/v0/modules/list[?offset=0&limit=20]</cite><aclass="headerlink"href="#api-v0-modules-list-offset-0-limit-20"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return a list of all of the available modules. This includes the name and the
group_type, which is always “rpm” for lorax-composer. By default this returns
the first 20 items. This can be changed by setting the <cite>offset</cite> and <cite>limit</cite>
<h4><cite>/api/v0/modules/list/<module_names>[?offset=0&limit=20]</cite><aclass="headerlink"href="#api-v0-modules-list-module-names-offset-0-limit-20"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the list of comma-separated modules. Output is the same as <cite>/modules/list</cite></p>
<h4><cite>/api/v0/modules/info/<module_names></cite><aclass="headerlink"href="#api-v0-modules-info-module-names"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the module’s dependencies, and the information about the module.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"The GNU tar program saves ..."</span><spanclass="p">,</span>
<spanclass="s2">"summary"</span><spanclass="p">:</span><spanclass="s2">"A GNU file archiving program"</span><spanclass="p">,</span>
<h4><cite>/api/v0/compose/status/<uuids>[?blueprint=<blueprint_name>&status=<compose_status>&type=<compose_type>]</cite><aclass="headerlink"href="#api-v0-compose-status-uuids-blueprint-blueprint-name-status-compose-status-type-compose-type"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Return the details for each of the comma-separated list of uuids. A uuid of ‘*’ will return
<h4>DELETE <cite>/api/v0/compose/cancel/<uuid></cite><aclass="headerlink"href="#delete-api-v0-compose-cancel-uuid"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Cancel the build, if it is not finished, and delete the results. It will return a
<h4>DELETE <cite>/api/v0/compose/delete/<uuids></cite><aclass="headerlink"href="#delete-api-v0-compose-delete-uuids"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Delete the list of comma-separated uuids from the compose results.</p>
<spanclass="s2">"description"</span><spanclass="p">:</span><spanclass="s2">"An example kubernetes master"</span><spanclass="p">,</span>
<h4><cite>/api/v0/compose/metadata/<uuid></cite><aclass="headerlink"href="#api-v0-compose-metadata-uuid"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Returns a .tar of the metadata used for the build. This includes all the
information needed to reproduce the build, including the final kickstart
populated with repository and package NEVRA.</p>
<p>The mime type is set to ‘application/x-tar’ and the filename is set to
UUID-metadata.tar</p>
<p>The .tar is uncompressed, but is not large.</p>
<h4><cite>/api/v0/compose/results/<uuid></cite><aclass="headerlink"href="#api-v0-compose-results-uuid"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Returns a .tar of the metadata, logs, and output image of the build. This
includes all the information needed to reproduce the build, including the
final kickstart populated with repository and package NEVRA. The output image
is already in compressed form so the returned tar is not compressed.</p>
<p>The mime type is set to ‘application/x-tar’ and the filename is set to
UUID.tar</p>
</div></blockquote>
</div>
<divclass="section"id="api-v0-compose-logs-uuid">
<h4><cite>/api/v0/compose/logs/<uuid></cite><aclass="headerlink"href="#api-v0-compose-logs-uuid"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Returns a .tar of the anaconda build logs. The tar is not compressed, but is
not large.</p>
<p>The mime type is set to ‘application/x-tar’ and the filename is set to
<h4><cite>/api/v0/compose/log/<uuid>[?size=kbytes]</cite><aclass="headerlink"href="#api-v0-compose-log-uuid-size-kbytes"title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><p>Returns the end of the anaconda.log. The size parameter is optional and defaults to 1Mbytes
if it is not included. The returned data is raw text from the end of the logfile, starting on
<codeclass="descclassname">pylorax.api.v0.</code><codeclass="descname">blueprint_exists</code><spanclass="sig-paren">(</span><em>api</em>, <em>branch</em>, <em>blueprint_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/v0.html#blueprint_exists"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.v0.blueprint_exists"title="Permalink to this definition">¶</a></dt>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – Recipe name to read</li>
<codeclass="descclassname">pylorax.api.v0.</code><codeclass="descname">take_limits</code><spanclass="sig-paren">(</span><em>iterable</em>, <em>offset</em>, <em>limit</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/v0.html#take_limits"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.v0.take_limits"title="Permalink to this definition">¶</a></dt>
<dd><p>Apply offset and limit to an iterable object</p>
<li><strong>offset</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – The number of items to skip</li>
<li><strong>limit</strong> (<aclass="reference external"href="https://docs.python.org/3/library/functions.html#int"title="(in Python v3.8)"><em>int</em></a>) – The total number of items to return</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first last">A subset of the iterable</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.v0.v0_api">
<codeclass="descclassname">pylorax.api.v0.</code><codeclass="descname">v0_api</code><spanclass="sig-paren">(</span><em>api</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/v0.html#v0_api"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.v0.v0_api"title="Permalink to this definition">¶</a></dt>
<spanid="pylorax-api-workspace-module"></span><h2>pylorax.api.workspace module<aclass="headerlink"href="#module-pylorax.api.workspace"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="pylorax.api.workspace.workspace_delete">
<codeclass="descclassname">pylorax.api.workspace.</code><codeclass="descname">workspace_delete</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/workspace.html#workspace_delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.workspace.workspace_delete"title="Permalink to this definition">¶</a></dt>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The name of the recipe</li>
<trclass="field-odd field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">IO related errors</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dlclass="function">
<dtid="pylorax.api.workspace.workspace_dir">
<codeclass="descclassname">pylorax.api.workspace.</code><codeclass="descname">workspace_dir</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/workspace.html#workspace_dir"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.workspace.workspace_dir"title="Permalink to this definition">¶</a></dt>
<dd><p>Create the workspace’s path from a Repository and branch</p>
<codeclass="descclassname">pylorax.api.workspace.</code><codeclass="descname">workspace_read</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe_name</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/workspace.html#workspace_read"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.workspace.workspace_read"title="Permalink to this definition">¶</a></dt>
<dd><p>Read a Recipe from the branch’s workspace</p>
<li><strong>recipe_name</strong> (<aclass="reference external"href="https://docs.python.org/3/library/stdtypes.html#str"title="(in Python v3.8)"><em>str</em></a>) – The name of the recipe</li>
<trclass="field-even field"><thclass="field-name">Returns:</th><tdclass="field-body"><pclass="first">The workspace copy of the recipe, or None if it doesn’t exist</p>
<codeclass="descclassname">pylorax.api.workspace.</code><codeclass="descname">workspace_write</code><spanclass="sig-paren">(</span><em>repo</em>, <em>branch</em>, <em>recipe</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/workspace.html#workspace_write"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.workspace.workspace_write"title="Permalink to this definition">¶</a></dt>
<li><strong>recipe</strong> (<aclass="reference internal"href="#pylorax.api.recipes.Recipe"title="pylorax.api.recipes.Recipe"><em>Recipe</em></a>) – The recipe to write to the workspace</li>
<trclass="field-odd field"><thclass="field-name">Raises:</th><tdclass="field-body"><pclass="first last">IO related errors</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<divclass="section"id="module-pylorax.api">
<spanid="module-contents"></span><h2>Module contents<aclass="headerlink"href="#module-pylorax.api"title="Permalink to this headline">¶</a></h2>
<dlclass="function">
<dtid="pylorax.api.crossdomain">
<codeclass="descclassname">pylorax.api.</code><codeclass="descname">crossdomain</code><spanclass="sig-paren">(</span><em>origin</em>, <em>methods=None</em>, <em>headers=None</em>, <em>max_age=21600</em>, <em>attach_to_all=True</em>, <em>automatic_options=True</em><spanclass="sig-paren">)</span><aclass="reference internal"href="_modules/pylorax/api/crossdomain.html#crossdomain"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#pylorax.api.crossdomain"title="Permalink to this definition">¶</a></dt>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.