summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-02-13 06:50:39 +0100
committerMichał Górny <mgorny@gentoo.org>2023-02-13 06:50:39 +0100
commitd78049d7db54b26d8f43d964cf8a1943533aa864 (patch)
treeb16fb34825989ab573f8d5caecf8127d32cb782b
parentUpdate Guide to ba52293 (diff)
downloadpython-d78049d7db54b26d8f43d964cf8a1943533aa864.tar.gz
python-d78049d7db54b26d8f43d964cf8a1943533aa864.tar.bz2
python-d78049d7db54b26d8f43d964cf8a1943533aa864.zip
Update Guide to a0f53e0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--guide/_sources/pypi.rst.txt79
-rw-r--r--guide/pypi.html91
-rw-r--r--guide/searchindex.js2
3 files changed, 135 insertions, 37 deletions
diff --git a/guide/_sources/pypi.rst.txt b/guide/_sources/pypi.rst.txt
index 63c2902..024101e 100644
--- a/guide/_sources/pypi.rst.txt
+++ b/guide/_sources/pypi.rst.txt
@@ -117,12 +117,35 @@ Packages with matching name and version
In the most common case, the upstream package will have exactly the same
name as the Gentoo package, and the version numbers will be entirely
compatible. In this case, it is sufficient to inherit the eclass,
-and it will automatically set a suitable default ``SRC_URI``. The URI
-will be equivalent to::
+and it will automatically set a suitable default ``SRC_URI``.
+The result will be roughly equivalent to::
SRC_URI="
https://files.pythonhosted.org/packages/source/${PN::1}/${PN}/${P}.tar.gz
"
+ S=${WORKDIR}/${P}
+
+with ``${P}`` actually using the normalized project name and the Gentoo
+version being translated to its PyPI equivalent. The version
+translation performs the following replacements:
+
+ ============= ===========
+ Gentoo suffix PyPI suffix
+ ============= ===========
+ _alpha a
+ _beta b
+ _rc rc
+ _p .post
+ ============= ===========
+
+If the project in question uses a build system that is not compliant
+with `PEP 625`_ and has uppercase letters or dots in its name, you may
+need to set ``PYPI_NO_NORMALIZE`` to a non-empty value to disable name
+normalization, e.g.::
+
+ PYPI_NO_NORMALIZE=1
+
+ inherit distutils-r1 pypi
Note that ``SRC_URI`` is not combined between eclasses and ebuilds.
Should you need to fetch additional files, you need to explicitly append
@@ -139,20 +162,39 @@ to the variable or the default will be overwritten, e.g.::
Customizing the generated URL
=============================
The default value may not be suitable for your package if it uses
-a different project name, version numbers that are incompatible with
-Gentoo or the legacy ``.zip`` sdist format. The ``pypi_sdist_url``
-function can be used to generate URLs in that case. Its usage is::
+a different project name than the Gentoo package name, a version number
+that needs to be translated differently or the legacy ``.zip`` sdist
+format. The ``pypi_sdist_url`` function can be used to generate URLs
+in that case. Its usage is::
- pypi_sdist_url [<project> [<version> [<suffix>]]]
+ pypi_sdist_url [--no-normalize] [<project> [<version> [<suffix>]]]
-with package defaulting to ``${PN}``, version to ``${PV}`` and suffix
-to ``.tar.gz``. For example, the Gentoo ``dev-python/markups`` package
-uses title-case ``Markups`` project name, and so the ebuild uses::
+with package defaulting to ``${PN}``, version to translated ``${PV}``
+and suffix to ``.tar.gz``. The generated filename uses `PEP 625`_
+normalization, unless ``--no-normalize`` is provided
+(``PYPI_NO_NORMALIZE`` does not affect explicit function calls).
+For example, the Gentoo ``dev-python/markups`` package uses title-case
+``Markups`` project name and legacy filename, and so the ebuild needs
+to use::
+
+ inherit distutils-r1 pypi
+
+ SRC_URI="$(pypi_sdist_url --no-normalize "${PN^}")"
+ S=${WORKDIR}/${P^}
+
+Should the package start using source distributions with normalized
+filenames, then only project name would need to be overriden
+and the default ``S`` would be correct (``Markups`` and ``markups``
+normalize the same)::
inherit distutils-r1 pypi
SRC_URI="$(pypi_sdist_url "${PN^}")"
+Note that due to project name normalization, the ebuild would also work
+without ``SRC_URI`` override. However, it is recommended to pass
+the canonical project name, as normalization is not guaranteed.
+
Fetching wheels
===============
@@ -160,21 +202,22 @@ In very specific cases, it may be necessary to fetch wheels
(i.e. prebuilt Python packages) instead. The ``pypi_wheel_url``
function is provided to aid this purpose. Its usage is::
- pypi_wheel_url [<project> [<version> [<python-tag> [<abi-platform-tag>]]]]
+ pypi_wheel_url [--unpack] [<project> [<version> [<python-tag> [<abi-platform-tag>]]]]
-with package defaulting to ``${PN}``, version to ``${PV}``, python-tag
-to ``py3`` and abi-platform-tag to ``none-any`` (i.e. indicating a pure
-Python package). For example, ``dev-python/ensurepip-setuptools``
-does::
+with package defaulting to ``${PN}``, version to translated ``${PV}``,
+python-tag to ``py3`` and abi-platform-tag to ``none-any``
+(i.e. indicating a pure Python package). For example,
+``dev-python/ensurepip-setuptools`` does::
inherit pypi
SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
Note that wheels are ZIP archives suffixed ``.whl``, and they are not
-unpacked by the package manager automatically. You either need to
-unzip it explicitly or use ``->`` to rename it, e.g. by appending
-``.zip`` suffix. Remember to add an explicit dependency
-on ``app-arch/unzip`` as well.
+unpacked by the package manager automatically. Should you need them
+unpacked, you can pass ``--unpack`` option to include a ``->`` operator
+that renames the wheel to use ``.whl.zip`` suffix, causing it to be
+unpacked. Remember to add an explicit dependency on ``app-arch/unzip``
+in that case.
The ``pypi_wheel_filename`` function is provided to aid getting
the wheel filename. It has a matching synopsis::
diff --git a/guide/pypi.html b/guide/pypi.html
index 1b182ab..e306f49 100644
--- a/guide/pypi.html
+++ b/guide/pypi.html
@@ -136,11 +136,47 @@ In this normalization, the example wheel is named:</p>
<p>In the most common case, the upstream package will have exactly the same
name as the Gentoo package, and the version numbers will be entirely
compatible. In this case, it is sufficient to inherit the eclass,
-and it will automatically set a suitable default <code class="docutils literal notranslate"><span class="pre">SRC_URI</span></code>. The URI
-will be equivalent to:</p>
+and it will automatically set a suitable default <code class="docutils literal notranslate"><span class="pre">SRC_URI</span></code>.
+The result will be roughly equivalent to:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> https://files.pythonhosted.org/packages/source/</span><span class="si">${</span><span class="nv">PN</span><span class="p">::</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz</span>
<span class="s2">&quot;</span>
+<span class="nv">S</span><span class="o">=</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span>/<span class="si">${</span><span class="nv">P</span><span class="si">}</span>
+</pre></div>
+</div>
+<p>with <code class="docutils literal notranslate"><span class="pre">${P}</span></code> actually using the normalized project name and the Gentoo
+version being translated to its PyPI equivalent. The version
+translation performs the following replacements:</p>
+<blockquote>
+<div><table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Gentoo suffix</p></th>
+<th class="head"><p>PyPI suffix</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>_alpha</p></td>
+<td><p>a</p></td>
+</tr>
+<tr class="row-odd"><td><p>_beta</p></td>
+<td><p>b</p></td>
+</tr>
+<tr class="row-even"><td><p>_rc</p></td>
+<td><p>rc</p></td>
+</tr>
+<tr class="row-odd"><td><p>_p</p></td>
+<td><p>.post</p></td>
+</tr>
+</tbody>
+</table>
+</div></blockquote>
+<p>If the project in question uses a build system that is not compliant
+with <a class="reference external" href="https://peps.python.org/pep-0625/">PEP 625</a> and has uppercase letters or dots in its name, you may
+need to set <code class="docutils literal notranslate"><span class="pre">PYPI_NO_NORMALIZE</span></code> to a non-empty value to disable name
+normalization, e.g.:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">PYPI_NO_NORMALIZE</span><span class="o">=</span><span class="m">1</span>
+
+inherit<span class="w"> </span>distutils-r1<span class="w"> </span>pypi
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">SRC_URI</span></code> is not combined between eclasses and ebuilds.
@@ -158,42 +194,61 @@ to the variable or the default will be overwritten, e.g.:</p>
<section id="customizing-the-generated-url">
<h2>Customizing the generated URL<a class="headerlink" href="#customizing-the-generated-url" title="Permalink to this heading">¶</a></h2>
<p>The default value may not be suitable for your package if it uses
-a different project name, version numbers that are incompatible with
-Gentoo or the legacy <code class="docutils literal notranslate"><span class="pre">.zip</span></code> sdist format. The <code class="docutils literal notranslate"><span class="pre">pypi_sdist_url</span></code>
-function can be used to generate URLs in that case. Its usage is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pypi_sdist_url<span class="w"> </span><span class="o">[</span>&lt;project&gt;<span class="w"> </span><span class="o">[</span>&lt;version&gt;<span class="w"> </span><span class="o">[</span>&lt;suffix&gt;<span class="o">]]]</span>
+a different project name than the Gentoo package name, a version number
+that needs to be translated differently or the legacy <code class="docutils literal notranslate"><span class="pre">.zip</span></code> sdist
+format. The <code class="docutils literal notranslate"><span class="pre">pypi_sdist_url</span></code> function can be used to generate URLs
+in that case. Its usage is:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pypi_sdist_url<span class="w"> </span><span class="o">[</span>--no-normalize<span class="o">]</span><span class="w"> </span><span class="o">[</span>&lt;project&gt;<span class="w"> </span><span class="o">[</span>&lt;version&gt;<span class="w"> </span><span class="o">[</span>&lt;suffix&gt;<span class="o">]]]</span>
+</pre></div>
+</div>
+<p>with package defaulting to <code class="docutils literal notranslate"><span class="pre">${PN}</span></code>, version to translated <code class="docutils literal notranslate"><span class="pre">${PV}</span></code>
+and suffix to <code class="docutils literal notranslate"><span class="pre">.tar.gz</span></code>. The generated filename uses <a class="reference external" href="https://peps.python.org/pep-0625/">PEP 625</a>
+normalization, unless <code class="docutils literal notranslate"><span class="pre">--no-normalize</span></code> is provided
+(<code class="docutils literal notranslate"><span class="pre">PYPI_NO_NORMALIZE</span></code> does not affect explicit function calls).
+For example, the Gentoo <code class="docutils literal notranslate"><span class="pre">dev-python/markups</span></code> package uses title-case
+<code class="docutils literal notranslate"><span class="pre">Markups</span></code> project name and legacy filename, and so the ebuild needs
+to use:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>inherit<span class="w"> </span>distutils-r1<span class="w"> </span>pypi
+
+<span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>pypi_sdist_url<span class="w"> </span>--no-normalize<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PN</span><span class="p">^</span><span class="si">}</span><span class="s2">&quot;</span><span class="k">)</span><span class="s2">&quot;</span>
+<span class="nv">S</span><span class="o">=</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span>/<span class="si">${</span><span class="nv">P</span><span class="p">^</span><span class="si">}</span>
</pre></div>
</div>
-<p>with package defaulting to <code class="docutils literal notranslate"><span class="pre">${PN}</span></code>, version to <code class="docutils literal notranslate"><span class="pre">${PV}</span></code> and suffix
-to <code class="docutils literal notranslate"><span class="pre">.tar.gz</span></code>. For example, the Gentoo <code class="docutils literal notranslate"><span class="pre">dev-python/markups</span></code> package
-uses title-case <code class="docutils literal notranslate"><span class="pre">Markups</span></code> project name, and so the ebuild uses:</p>
+<p>Should the package start using source distributions with normalized
+filenames, then only project name would need to be overriden
+and the default <code class="docutils literal notranslate"><span class="pre">S</span></code> would be correct (<code class="docutils literal notranslate"><span class="pre">Markups</span></code> and <code class="docutils literal notranslate"><span class="pre">markups</span></code>
+normalize the same):</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>inherit<span class="w"> </span>distutils-r1<span class="w"> </span>pypi
<span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>pypi_sdist_url<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PN</span><span class="p">^</span><span class="si">}</span><span class="s2">&quot;</span><span class="k">)</span><span class="s2">&quot;</span>
</pre></div>
</div>
+<p>Note that due to project name normalization, the ebuild would also work
+without <code class="docutils literal notranslate"><span class="pre">SRC_URI</span></code> override. However, it is recommended to pass
+the canonical project name, as normalization is not guaranteed.</p>
</section>
<section id="fetching-wheels">
<h2>Fetching wheels<a class="headerlink" href="#fetching-wheels" title="Permalink to this heading">¶</a></h2>
<p>In very specific cases, it may be necessary to fetch wheels
(i.e. prebuilt Python packages) instead. The <code class="docutils literal notranslate"><span class="pre">pypi_wheel_url</span></code>
function is provided to aid this purpose. Its usage is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pypi_wheel_url<span class="w"> </span><span class="o">[</span>&lt;project&gt;<span class="w"> </span><span class="o">[</span>&lt;version&gt;<span class="w"> </span><span class="o">[</span>&lt;python-tag&gt;<span class="w"> </span><span class="o">[</span>&lt;abi-platform-tag&gt;<span class="o">]]]]</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pypi_wheel_url<span class="w"> </span><span class="o">[</span>--unpack<span class="o">]</span><span class="w"> </span><span class="o">[</span>&lt;project&gt;<span class="w"> </span><span class="o">[</span>&lt;version&gt;<span class="w"> </span><span class="o">[</span>&lt;python-tag&gt;<span class="w"> </span><span class="o">[</span>&lt;abi-platform-tag&gt;<span class="o">]]]]</span>
</pre></div>
</div>
-<p>with package defaulting to <code class="docutils literal notranslate"><span class="pre">${PN}</span></code>, version to <code class="docutils literal notranslate"><span class="pre">${PV}</span></code>, python-tag
-to <code class="docutils literal notranslate"><span class="pre">py3</span></code> and abi-platform-tag to <code class="docutils literal notranslate"><span class="pre">none-any</span></code> (i.e. indicating a pure
-Python package). For example, <code class="docutils literal notranslate"><span class="pre">dev-python/ensurepip-setuptools</span></code>
-does:</p>
+<p>with package defaulting to <code class="docutils literal notranslate"><span class="pre">${PN}</span></code>, version to translated <code class="docutils literal notranslate"><span class="pre">${PV}</span></code>,
+python-tag to <code class="docutils literal notranslate"><span class="pre">py3</span></code> and abi-platform-tag to <code class="docutils literal notranslate"><span class="pre">none-any</span></code>
+(i.e. indicating a pure Python package). For example,
+<code class="docutils literal notranslate"><span class="pre">dev-python/ensurepip-setuptools</span></code> does:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>inherit<span class="w"> </span>pypi
<span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>pypi_wheel_url<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PN</span><span class="p">#ensurepip-</span><span class="si">}</span><span class="s2">&quot;</span><span class="k">)</span><span class="s2">&quot;</span>
</pre></div>
</div>
<p>Note that wheels are ZIP archives suffixed <code class="docutils literal notranslate"><span class="pre">.whl</span></code>, and they are not
-unpacked by the package manager automatically. You either need to
-unzip it explicitly or use <code class="docutils literal notranslate"><span class="pre">-&gt;</span></code> to rename it, e.g. by appending
-<code class="docutils literal notranslate"><span class="pre">.zip</span></code> suffix. Remember to add an explicit dependency
-on <code class="docutils literal notranslate"><span class="pre">app-arch/unzip</span></code> as well.</p>
+unpacked by the package manager automatically. Should you need them
+unpacked, you can pass <code class="docutils literal notranslate"><span class="pre">--unpack</span></code> option to include a <code class="docutils literal notranslate"><span class="pre">-&gt;</span></code> operator
+that renames the wheel to use <code class="docutils literal notranslate"><span class="pre">.whl.zip</span></code> suffix, causing it to be
+unpacked. Remember to add an explicit dependency on <code class="docutils literal notranslate"><span class="pre">app-arch/unzip</span></code>
+in that case.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">pypi_wheel_filename</span></code> function is provided to aid getting
the wheel filename. It has a matching synopsis:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pypi_wheel_filename<span class="w"> </span><span class="o">[</span>&lt;project&gt;<span class="w"> </span><span class="o">[</span>&lt;version&gt;<span class="w"> </span><span class="o">[</span>&lt;python-tag&gt;<span class="w"> </span><span class="o">[</span>&lt;abi-platform-tag&gt;<span class="o">]]]]</span>
diff --git a/guide/searchindex.js b/guide/searchindex.js
index 507183a..0846aeb 100644
--- a/guide/searchindex.js
+++ b/guide/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["any", "basic", "buildsys", "concept", "depend", "distutils", "distutils-legacy", "eclass", "expert-multi", "helper", "index", "interpreter", "interpreter-maintenance", "migration", "multi", "package-maintenance", "porting", "preface", "pypi", "pytest", "qawarn", "single", "test"], "filenames": ["any.rst", "basic.rst", "buildsys.rst", "concept.rst", "depend.rst", "distutils.rst", "distutils-legacy.rst", "eclass.rst", "expert-multi.rst", "helper.rst", "index.rst", "interpreter.rst", "interpreter-maintenance.rst", "migration.rst", "multi.rst", "package-maintenance.rst", "porting.rst", "preface.rst", "pypi.rst", "pytest.rst", "qawarn.rst", "single.rst", "test.rst"], "titles": ["python-any-r1 \u2014 build-time dependency", "Common basics", "Integration with build systems written in Python", "Advanced concepts", "Advanced dependencies", "distutils-r1 \u2014 standard Python build systems", "distutils-r1 legacy concepts", "Choosing between Python eclasses", "Expert python-r1 usage", "Common helper functions", "Gentoo Python Guide", "Python interpreters", "Maintenance of Python implementations", "Migration guides", "python-r1 \u2014 multi-impl packages", "Python package maintenance", "Porting tips", "Preface", "pypi \u2014 helper eclass for PyPI archives", "pytest recipes", "QA checks and warnings", "python-single-r1 \u2014 single-impl packages", "Tests in Python packages"], "terms": {"The": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "eclass": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 19, 21, 22], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "enabl": [0, 4, 6, 7, 8, 10, 11, 12, 14, 15, 19, 20, 22], "support": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22], "packag": [0, 8, 9, 10, 11, 13, 17, 19], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "pure": [0, 5, 6, 7, 8, 10, 11, 15, 18], "refer": [0, 1, 5, 9, 11, 13, 14, 17, 18, 20, 21], "5": [0, 2, 5, 7, 8, 9, 11, 14, 15, 16, 18, 19, 21, 22], "defin": [0, 1, 5, 6, 11, 21, 22], "featur": [0, 4, 5, 6, 7, 8, 11, 12, 13, 20, 21, 22], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "pkg_setup": [0, 1, 2, 8, 21], "phase": [0, 1, 3, 6, 7, 8, 9, 10, 13, 14, 15, 20, 21], "It": [0, 1, 3, 4, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "normal": [0, 3, 5, 8, 9, 14, 15, 16, 18, 20, 21, 22], "call": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 16, 19, 20, 21, 22], "python_setup": [0, 1, 2, 10, 13, 14, 21], "function": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 21, 22], "order": [0, 1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 21, 22], "find": [0, 2, 3, 4, 6, 14, 15, 19, 20, 22], "suitabl": [0, 7, 9, 14, 17, 18], "interpret": [0, 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 19, 20, 21], "global": [0, 1, 5, 8, 13, 14, 19, 21, 22], "environ": [0, 5, 6, 10, 11, 13, 14, 16, 19, 21], "appropri": [0, 2, 4, 5, 6, 7, 9, 11, 12, 15, 18, 21, 22], "mean": [0, 1, 2, 5, 7, 8, 11, 15, 16, 18, 19, 21, 22], "most": [0, 3, 5, 6, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "trivial": [0, 5, 12, 16, 21], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22], "autotool": [0, 5, 6, 10, 16, 21], "compat": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 16, 18, 21], "system": [0, 3, 7, 8, 9, 10, 13, 14, 15, 17, 20, 21, 22], "could": [0, 2, 3, 5, 6, 8, 9, 15, 16, 20, 21], "look": [0, 1, 6, 8, 16, 19, 20, 21, 22], "like": [0, 2, 4, 5, 6, 8, 11, 15, 16, 20, 21, 22], "follow": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "copyright": [0, 2, 4, 5, 6, 8, 14, 21, 22], "1999": [0, 2, 4, 5, 6, 8, 14, 21, 22], "2020": [0, 2, 4, 5, 6, 8, 13, 14, 16, 21, 22], "gentoo": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22], "author": [0, 2, 4, 5, 6, 8, 9, 10, 12, 14, 20, 21, 22], "distribut": [0, 2, 4, 5, 6, 8, 14, 15, 16, 17, 20, 21, 22], "under": [0, 1, 2, 3, 4, 5, 6, 8, 14, 21, 22], "term": [0, 2, 4, 5, 6, 8, 14, 21, 22], "gnu": [0, 2, 4, 5, 6, 8, 14, 21, 22], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 21, 22], "public": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "licens": [0, 2, 4, 5, 6, 8, 10, 14, 20, 21, 22], "v2": [0, 2, 4, 5, 6, 8, 14, 21, 22], "eapi": [0, 2, 4, 5, 6, 8, 10, 14, 21, 22], "7": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "python_compat": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 21, 22], "python3_": [0, 1, 2, 4, 5, 6, 8, 12, 21, 22], "6": [0, 1, 2, 4, 5, 6, 8, 11, 12, 14, 15, 16, 19, 21, 22], "8": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21, 22], "inherit": [0, 1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 16, 18, 19, 21, 22], "descript": [0, 2, 4, 5, 6, 8, 14, 21, 22], "A": [0, 1, 2, 4, 6, 7, 8, 10, 11, 15, 19, 20], "repositori": [0, 5, 6, 12, 15, 20], "data": [0, 2, 5, 6, 9, 16, 21, 22], "file": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 21], "describ": [0, 5, 6, 8, 9, 15, 18, 20], "media": [0, 2, 8], "player": [0, 4], "capabl": 0, "homepag": [0, 2, 4, 5, 6, 8, 14, 15, 21, 22], "http": [0, 2, 4, 5, 6, 8, 9, 12, 14, 16, 18, 20, 21, 22], "cgit": 0, "freedesktop": 0, "org": [0, 2, 4, 5, 6, 8, 9, 12, 14, 18, 20, 21, 22], "info": [0, 5, 6, 19], "src_uri": [0, 2, 4, 5, 6, 8, 14, 15, 18, 21, 22], "www": [0, 2, 8, 14, 21], "softwar": [0, 1, 4, 8, 14, 15, 16, 22], "pn": [0, 2, 4, 5, 6, 8, 9, 14, 18, 21, 22], "p": [0, 2, 4, 5, 6, 8, 14, 18, 19, 21, 22], "tar": [0, 2, 4, 5, 6, 8, 12, 14, 18, 21, 22], "gz": [0, 2, 4, 5, 6, 8, 14, 18, 21, 22], "bsd": [0, 2, 5, 6, 8, 14, 21], "slot": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "0": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 19, 20, 21, 22], "keyword": [0, 2, 4, 5, 6, 8, 10, 14, 16, 21, 22], "alpha": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "amd64": [0, 2, 4, 5, 6, 8, 12, 14, 21, 22], "arm": [0, 2, 4, 5, 6, 8, 21, 22], "arm64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "hppa": [0, 2, 4, 5, 6, 8, 14, 21, 22], "ia64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "mip": [0, 2, 4, 5, 6, 8, 21, 22], "ppc": [0, 2, 4, 5, 6, 8, 14, 21, 22], "ppc64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "sh": [0, 2, 4, 5, 6, 8, 12, 21, 22], "sparc": [0, 2, 4, 5, 6, 8, 14, 21, 22], "x86": [0, 2, 4, 5, 6, 8, 12, 14, 21, 22], "ius": [0, 2, 4, 5, 8, 14, 21, 22], "rdepend": [0, 1, 2, 4, 5, 6, 8, 13, 14, 21, 22], "virtual": [0, 2, 8, 14], "udev": 0, "208": 0, "bdepend": [0, 1, 2, 4, 5, 6, 8, 12, 14, 19, 21, 22], "python_dep": [0, 2, 4, 5, 8, 10, 14, 21], "pkgconfig": [0, 2, 8, 14], "ebuild": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "demonstr": [0, 5, 21], "absolut": [0, 1, 9, 15, 21, 22], "minimum": [0, 15, 21], "work": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 22], "code": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 16, 19, 20, 21, 22], "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 19, 20, 21, 22], "three": [0, 1, 3, 9, 13, 16, 20], "highlight": [0, 16, 21], "line": [0, 3, 5, 13, 15, 16, 21, 22], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22], "specif": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22], "plu": [0, 21], "implicitli": [0, 3, 5, 8, 12, 20, 21, 22], "export": [0, 1, 2, 5, 21], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22], "other": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "declar": [0, 1, 2, 5, 6, 8, 9, 11, 14, 19, 21, 22], "ensur": [0, 1, 4, 5, 6, 9, 12, 14, 20, 21], "would": [0, 2, 4, 5, 7, 11, 12, 14, 15, 16, 18, 21, 22], "built": [0, 1, 3, 5, 6, 7, 8, 11, 12, 14, 16, 17, 18, 21, 22], "against": [0, 4, 7, 9, 11, 12, 14, 15, 21, 22], "implement": [0, 1, 3, 4, 5, 6, 7, 10, 14, 16, 17, 19, 20, 21, 22], "specifi": [0, 1, 2, 5, 6, 7, 8, 14, 15, 18, 19, 20, 21, 22], "get": [0, 5, 6, 12, 13, 18, 19, 22], "replac": [0, 5, 6, 10, 11, 13, 15, 18], "python_gen_any_dep": [0, 2, 8], "match": [0, 2, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21], "python_check_dep": [0, 2, 8], "accept": [0, 1, 4, 5, 6, 9, 12, 15, 16, 18, 19, 20], "templat": [0, 2, 4, 5, 15, 20, 21], "where": [0, 3, 5, 6, 9, 11, 12, 14, 16, 18, 21, 22], "liter": [0, 4, 21], "python_usedep": [0, 2, 4, 5, 8, 10, 12, 14, 15, 19, 21, 22], "substitut": [0, 4, 21], "requir": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "same": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "least": [0, 5, 8, 15, 20, 22], "one": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 16, 17, 19, 20, 21, 22], "test": [0, 1, 2, 3, 7, 8, 10, 11, 12, 13, 16, 17, 18, 21], "whether": [0, 1, 4, 5, 6, 7, 15, 19, 21, 22], "question": [0, 1, 5, 7, 14, 19, 22], "In": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "particular": [0, 1, 4, 5, 6, 11, 15, 18, 22], "verifi": [0, 1, 5, 6, 8, 13, 20, 22], "branch": [0, 11, 16, 22], "wa": [0, 4, 5, 11, 12, 13, 16, 18, 19, 20, 22], "satisfi": [0, 1, 8, 12], "were": [0, 2, 3, 5, 8, 11, 12, 13, 16, 18, 20], "instal": [0, 1, 3, 4, 7, 8, 10, 11, 12, 13, 16, 19], "current": [0, 5, 6, 11, 12, 13, 15, 19, 22], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22], "purpos": [0, 6, 9, 12, 14, 16, 18, 21, 22], "variabl": [0, 1, 5, 6, 8, 13, 14, 16, 18, 19, 21, 22], "string": [0, 1, 4, 5, 8, 14, 16, 21], "best": [0, 7, 12, 16, 17, 18, 19], "explain": [0, 1, 6, 20], "exampl": [0, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 21, 22], "meson": [0, 4, 5, 7, 10, 15], "manag": [0, 4, 6, 8, 9, 18, 20, 22], "cinnamon": 0, "fork": [0, 11, 12, 15, 22], "from": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "nautilu": 0, "develop": [0, 1, 7, 11, 15, 17, 19, 22], "linuxmint": 0, "com": [0, 2, 4, 5, 6, 8, 12, 14, 16, 18, 22], "project": [0, 1, 5, 8, 9, 10, 14, 17, 18, 19, 20, 22], "html": [0, 5, 8, 20, 22], "github": [0, 2, 4, 5, 6, 8, 12, 14, 17, 18, 21, 22], "nemo": 0, "archiv": [0, 2, 4, 10, 21, 22], "pv": [0, 2, 4, 5, 8, 14, 18, 21, 22], "gpl": [0, 2, 4, 8, 14, 21], "2": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22], "lgpl": [0, 2, 14, 21, 22], "fdl": [0, 21], "1": [0, 2, 3, 4, 5, 6, 8, 9, 15, 18, 19, 20, 21, 22], "dev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22], "polib": 0, "pygobject": [0, 14], "3": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "python_has_vers": [0, 2, 8], "provid": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "its": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 15, 16, 19, 22], "both": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 17, 18, 19, 20, 21, 22], "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "dep": [0, 5, 13, 19], "true": [0, 1, 2, 5, 6, 8, 12, 13, 16, 22], "them": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22], "while": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22], "which": [0, 6, 9, 10, 11, 14, 22], "wrapper": [0, 1, 6, 9, 13, 14, 22], "help": [0, 15, 17, 22], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 15, 16, 19, 22], "singl": [0, 1, 4, 6, 9, 10, 14, 15, 16, 18, 19, 20, 22], "option": [0, 1, 3, 6, 8, 10, 13, 15, 19, 20, 21, 22], "class": [0, 1, 5, 16, 19], "flag": [0, 1, 5, 7, 8, 9, 10, 11, 12, 14, 15, 21, 22], "more": [0, 1, 3, 4, 5, 7, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21], "similarli": [0, 1, 5, 15, 18], "has_vers": [0, 4, 12], "root": [0, 5, 6, 13, 21, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22], "b": 0, "d": [0, 2, 3, 8, 9, 14, 18, 19], "r": [0, 2, 5, 9, 16, 22], "idepend": 0, "pdepend": [0, 2, 8, 12], "pass": [0, 6, 8, 9, 10, 12, 13, 16, 19, 22], "assum": [0, 1, 4, 5, 6, 9, 13, 15, 21], "verbos": [0, 15, 20, 22], "print": [0, 3, 8, 14, 19, 22], "check": [0, 5, 6, 9, 10, 12, 13, 16, 17, 22], "perform": [0, 2, 5, 6, 11, 12, 14, 20, 21, 22], "result": [0, 5, 6, 8, 9, 12, 15, 16, 17, 19, 20, 22], "return": [0, 2, 8, 16, 20, 22], "success": 0, "found": [0, 1, 3, 5, 6, 9, 10, 11, 12, 15, 18, 20, 22], "fals": [0, 2, 5, 8, 12, 15, 16], "otherwis": [0, 6, 7, 8, 9], "note": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22], "invoc": [0, 5, 19, 20], "chain": 0, "abov": [0, 1, 6, 8, 12, 13, 15, 20, 21, 22], "also": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 22], "written": [0, 1, 5, 7, 10, 11, 16, 19], "import": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19], "understand": 0, "correctli": [0, 1, 5, 6, 7, 9, 11, 12, 13, 15, 16, 22], "exactli": [0, 7, 18], "furthermor": [0, 2, 5], "combin": [0, 2, 5, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22], "must": [0, 1, 2, 3, 5, 6, 7, 8, 11, 15, 16, 19, 21, 22], "onc": [0, 5, 8, 11, 12, 20], "invalid": [0, 16], "split": [0, 5, 13, 16], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "necessari": [0, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22], "particularli": [0, 5, 6, 7, 11, 13, 15, 19, 22], "common": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "suit": [0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 19, 22], "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "wrap": [0, 5, 6, 9, 13, 22], "programm": [0, 15], "complet": [0, 5, 16, 17, 20, 22], "bash": [0, 5, 7, 8, 9, 21, 22], "scop": 0, "releas": [0, 2, 5, 8, 11, 12, 14, 16, 20], "download": [0, 2, 5, 8, 14], "xz": [0, 4, 12, 14, 21], "s390": [0, 2, 4, 5, 6, 8, 21, 22], "linux": [0, 2, 4, 5, 6, 8, 9, 14, 16, 21, 22], "maco": [0, 4, 6, 8, 21, 22], "x64": [0, 4, 6, 8, 21, 22], "m68k": [0, 4, 5, 6, 8, 21, 22], "mint": 0, "solari": [0, 6, 21, 22], "sparc64": [0, 6], "restrict": [0, 2, 4, 5, 10, 19, 20, 21, 22], "app": [0, 2, 4, 5, 8, 12, 14, 15, 18, 20, 22], "shell": [0, 8, 14, 22], "4": [0, 3, 5, 8, 9, 10, 11, 12, 14, 15, 22], "3_p30": 0, "pexpect": [0, 22], "pytest": [0, 4, 5, 8, 10, 12, 15, 18], "r1_pkg_setup": [0, 2, 21], "anoth": [0, 8, 9, 14, 15, 16, 19, 20, 22], "possibl": [0, 2, 4, 5, 8, 9, 12, 14, 16, 17, 19, 22], "uncondition": [0, 1, 2, 4, 5, 6, 8, 11, 20, 21, 22], "condition": [0, 1, 2, 4, 5, 11, 12, 14, 15, 19, 21], "simplest": [0, 2, 5, 7, 14, 19, 22], "wai": [0, 5, 6, 9, 12, 13, 15, 19, 22], "achiev": [0, 8, 11, 16], "block": [0, 8, 13, 22], "express": [0, 8, 13, 21], "similar": [0, 2, 5, 14, 15, 20, 21, 22], "cmake": [0, 5, 6, 21], "qt": 0, "bind": [0, 2, 5, 8, 14, 21], "telepathi": 0, "bu": 0, "protocol": [0, 2, 21], "dbu": [0, 2], "hardest": 0, "differ": [0, 1, 3, 5, 9, 10, 11, 15, 16, 18, 19, 22], "do": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22], "error": [0, 2, 5, 9, 12, 13, 16, 19, 20, 22], "prone": 0, "move": [0, 4, 5, 12], "insid": [0, 1, 3, 5, 6, 9, 14, 18, 19, 21, 22], "python3_6": [0, 2, 4, 8, 14], "gnome2": [0, 4, 14], "gobject": 0, "librari": [0, 1, 2, 3, 4, 8, 9, 11, 14, 21, 22], "access": [0, 5, 10, 11, 19], "secret": 0, "servic": [0, 15, 22], "api": [0, 2, 5, 9, 10, 11, 13, 14, 16], "wiki": [0, 4, 8, 9, 12, 14, 17], "gnome": [0, 4, 14], "libsecret": 0, "apach": [0, 2, 4, 5, 8, 22], "introspect": 0, "fail": [0, 1, 2, 5, 8, 9, 11, 12, 16, 19, 22], "bug": [0, 5, 6, 12, 20, 22], "655482": 0, "required_us": [0, 1, 2, 4, 5, 7, 8, 13, 14, 21], "mock": [0, 4, 8, 11, 12, 19, 22], "fi": [0, 2, 4, 5, 8, 12, 14, 21], "host": 0, "variou": [1, 5, 6, 9, 13, 16], "r1": [1, 3, 4, 9, 10, 12, 15, 18, 20, 22], "try": [1, 6, 8, 9, 11, 16, 22], "design": [1, 21], "you": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "probabl": [1, 6, 8, 13, 21], "us": [1, 9, 10, 11, 12, 13, 15, 16, 18, 20], "than": [1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 17, 18, 19, 20, 22], "so": [1, 4, 5, 6, 11, 15, 18, 19, 21, 22], "worthwhil": [1, 22], "shortli": 1, "bit": [1, 12, 17], "well": [1, 5, 7, 8, 11, 13, 15, 18, 20], "non": [1, 6, 7, 9, 12, 14, 16, 18, 19, 22], "obviou": [1, 22], "between": [1, 5, 8, 10, 11, 13, 16, 18], "befor": [1, 4, 5, 8, 9, 10, 12, 14, 16], "thei": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "valid": [1, 5, 8, 15, 16, 20, 22], "valu": [1, 5, 6, 9, 13, 18, 19, 22], "pythonx_i": 1, "cpython": [1, 4, 5, 9, 11, 13, 18, 20], "x": [1, 5, 11, 16, 19, 22], "y": [1, 2, 11, 16], "pypy3": [1, 4, 5, 6, 8, 11, 12, 13, 15, 19, 20, 22], "typic": [1, 14], "ani": [1, 2, 3, 5, 6, 7, 10, 14, 16, 18, 19, 20, 22], "respons": [1, 5], "explicitli": [1, 5, 7, 8, 10, 13, 18, 20, 22], "put": [1, 8], "correct": [1, 5, 6, 7, 9, 10, 15, 19, 20, 21], "meant": [1, 13, 20], "consist": [1, 6, 9, 13, 14, 15], "cover": [1, 5, 6, 13, 22], "time": [1, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22], "runtim": [1, 2, 3, 5, 8, 10, 13, 14, 15], "form": [1, 4, 12, 17, 18], "doe": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 22], "appli": [1, 4, 5, 6, 7, 12, 15, 19, 20, 21, 22], "distutil": [1, 3, 4, 9, 10, 13, 14, 18, 19, 20, 21, 22], "assign": 1, "default": [1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 20, 21, 22], "commonli": [1, 2, 3, 5, 6, 9, 11, 18], "concept": [1, 5, 10], "state": 1, "enforc": [1, 4, 5, 7, 8, 11, 19, 22], "whenev": [1, 4, 9, 11, 14, 15, 19, 21, 22], "run": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20], "two": [1, 5, 6, 8, 9, 11, 13, 16, 19, 20, 21], "being": [1, 3, 5, 6, 8, 9, 11, 12, 15, 16, 19, 22], "epython": [1, 2, 5, 8, 9, 12, 13, 19, 22], "contain": [1, 3, 4, 5, 6, 7, 12, 13, 15, 20], "": [1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 19, 20, 21, 22], "basenam": 1, "identifi": 1, "e": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "g": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "python3": [1, 3, 5, 9, 11, 13, 15, 16, 19, 20, 22], "10": [1, 4, 5, 8, 10, 11, 12, 15, 20], "final": [1, 2, 4, 5, 9, 11, 13, 16, 21, 22], "path": [1, 3, 5, 6, 9, 10, 12, 13, 16, 18, 20, 22], "usr": [1, 2, 3, 5, 7, 8, 9, 19, 20, 22], "bin": [1, 2, 5, 7, 8, 9, 12, 21, 22], "full": [1, 2, 4, 5, 13, 22], "should": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "embed": [1, 2, 9, 11], "program": [1, 2, 5, 6, 11, 16, 19, 22], "shebang": [1, 10, 11, 22], "spawn": 1, "dure": [1, 5, 6, 7, 12, 13, 19, 20], "prefer": [1, 4, 5, 7, 8, 11, 12, 14, 15, 19, 22], "rather": [1, 6, 8, 12, 15, 16, 17, 19, 20, 22], "bypass": 1, "virtualenv": [1, 6, 12, 22], "creat": [1, 3, 4, 5, 6, 12, 13, 15, 16, 20, 22], "pep": [1, 3, 6, 7, 10, 12, 15, 16, 18], "517": [1, 3, 6, 7, 10, 12], "mode": [1, 3, 6, 7, 10, 13, 16, 20], "mai": [1, 3, 4, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 22], "caus": [1, 4, 5, 8, 9, 13, 15, 19, 20, 22], "failur": [1, 5, 10, 11, 12, 19], "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 19, 22], "previou": [1, 5, 12, 13, 16], "version": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 16, 17, 19, 22], "just": [1, 6, 11, 13, 22], "resolv": [1, 5, 6, 16, 19, 22], "problem": [1, 3, 4, 5, 6, 8, 12, 15, 16, 17, 19, 20, 22], "pythonn": 1, "tool": [1, 2, 5, 8, 14, 15, 16, 20, 22], "etc": 1, "via": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 21, 22], "exec": [1, 8, 9, 11, 12, 22], "hardcod": [1, 12, 19], "either": [1, 2, 5, 8, 9, 11, 13, 18, 19, 20, 22], "establish": [1, 13, 22], "local": [1, 2, 3, 4, 5, 8, 9, 12, 13, 14, 19, 20, 21, 22], "scope": [1, 4, 8, 13, 19, 22], "multi": [1, 5, 10, 13, 21], "impl": [1, 5, 10, 13], "python_foreach_impl": [1, 2, 8, 14], "sub": [1, 3, 7, 8, 10, 22], "setup": [1, 3, 6, 7, 10, 13, 15, 19, 20, 22], "done": [1, 5, 6, 8, 9, 14, 15, 19, 22], "directli": [1, 5, 6, 7, 9, 11, 13, 16, 19, 22], "section": [1, 5, 6, 7, 12, 15, 16, 18, 20, 22], "focu": [1, 7, 12, 14], "often": [1, 5, 12, 22], "extern": [1, 2, 5, 6, 7, 11, 12, 22], "languag": [1, 2, 5, 11, 15], "usual": [1, 3, 4, 5, 7, 11, 13, 15, 16, 19, 20, 22], "rule": [1, 2, 6, 7, 8, 13, 14, 15, 18], "classifi": [1, 6], "categori": [1, 15], "present": [1, 5, 6, 15, 20], "script": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 21], "usabl": [1, 11], "whose": [1, 5], "therefor": [1, 2, 5, 6, 7, 8, 11, 12, 15, 19, 20], "howev": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "modern": [1, 4, 5, 6, 11, 12, 19, 22], "base": [1, 4, 5, 7, 8, 10, 12, 14, 15, 21, 22], "entri": [1, 5, 12, 19, 20], "point": [1, 5, 11, 13, 15, 19, 22], "refus": [1, 4, 11], "place": [1, 6, 11, 12, 18, 20], "special": [1, 3, 4, 5, 6, 16, 22], "subclass": 1, "extra": [1, 5, 6, 10], "still": [1, 5, 6, 8, 11, 13, 16, 18, 20, 22], "meaningfulli": 1, "handl": [1, 4, 5, 6, 8, 13, 14, 15, 22], "gracefulli": [1, 4, 8], "subset": [1, 4, 5, 7, 8, 11, 12, 14, 15, 20, 22], "without": [1, 4, 10, 11, 13, 14, 15, 19, 22], "There": [1, 3, 5, 8, 9, 15, 16, 19, 20, 22], "multipl": [1, 3, 4, 5, 7, 10, 14, 15, 17, 19, 20, 22], "approach": [1, 5, 7, 8, 12, 16], "ad": [1, 5, 7, 10, 11, 13, 14, 19], "consid": [1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 16, 20], "light": 1, "enough": [1, 11, 22], "inform": [1, 3, 6, 10, 13, 16, 18, 20, 22], "messag": [1, 5, 22], "pkg_postinst": [1, 5], "util": [1, 2, 4, 5, 7, 8, 9, 12, 15, 19, 20, 21, 22], "optfeatur": 1, "cheap": 1, "rebuild": [1, 6, 11], "includ": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22], "__init__": [1, 3, 5, 9, 19, 20, 22], "py": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 22], "As": [1, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 19, 21, 22], "thumb": [1, 6, 7, 13, 15], "belong": [1, 22], "care": [1, 2, 5, 7, 9, 15, 22], "addit": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 15, 18, 19, 22], "plugin": [1, 3, 5, 6, 8, 10, 22], "setuptools_scm": [1, 10, 22], "document": [1, 2, 7, 8, 10, 11, 14, 17, 22], "former": [1, 5, 7, 8, 13, 16, 22], "runner": [1, 5, 7, 10], "sinc": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 19, 22], "sometim": [1, 4, 5, 6, 7, 9, 11, 19, 22], "These": [1, 6, 7, 11, 12, 13, 15, 19, 22], "go": [1, 2, 8, 17, 18, 19], "doc": [1, 2, 5, 8, 21], "respect": [1, 3, 4, 5, 12, 14, 15, 19, 20], "maximum": [1, 5], "coverag": [1, 5, 15, 19, 22], "further": [1, 19], "guid": [1, 3, 5, 16, 17, 20], "linter": 1, "report": [1, 6, 9, 10, 12, 15, 22], "actual": [1, 5, 6, 8, 9, 11, 12, 15, 19, 22], "undesir": [1, 5, 10, 19], "again": [1, 2, 15, 22], "conveni": [1, 4, 5, 6, 7, 19, 20, 22], "add": [1, 2, 5, 6, 8, 12, 15, 18, 20, 21, 22], "sphinx": [1, 3, 6, 7, 8, 10, 12, 15], "copi": [1, 3, 5, 6, 9, 11, 15, 20, 21, 22], "c": [1, 2, 5, 6, 8, 9, 10, 11, 14], "extens": [1, 6, 7, 8, 9, 10, 11, 14, 15, 16], "header": [1, 9], "numpi": [1, 2], "If": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22], "metadata": [1, 5, 6, 14, 15, 21], "pyproject": [1, 5, 7, 12, 20], "toml": [1, 5, 7, 10, 12, 20], "setuptool": [1, 3, 4, 5, 7, 8, 12, 13, 15, 18, 19, 22], "cfg": [1, 3, 5, 6, 15, 19, 20], "custom": [1, 2, 6, 10, 13, 15, 16, 19, 20], "read": [1, 5, 16, 18, 22], "name": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 22], "uncondit": [1, 2, 5, 10, 13, 14, 15], "upstream": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 19, 20, 22], "spuriou": 1, "strip": [1, 3, 5, 11, 15, 19, 22], "ommit": 1, "kei": [1, 5, 16, 19, 20, 21], "kind": [1, 3, 5, 7, 9, 11, 22], "621": 1, "older": [1, 11, 15, 18], "flit": [1, 5, 6, 12, 13], "poetri": [1, 5, 6, 13], "indic": [1, 5, 6, 11, 12, 13, 15, 18, 19, 20, 22], "install_requir": [1, 3, 5, 6], "group": [1, 2, 6, 13, 15, 19], "extras_requir": [1, 5], "setup_requir": [1, 5, 19], "deprec": [1, 3, 5, 10, 11, 13, 22], "tests_requir": [1, 5], "tox": [1, 5, 22], "ini": [1, 5, 19, 22], "noxfil": 1, "python_requir": 1, "besid": [2, 6, 11, 14, 19, 20], "few": [2, 4, 6, 12, 19, 22], "make": [2, 3, 4, 5, 6, 7, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "proper": [2, 8], "fairli": [2, 15, 21], "recent": [2, 3, 5, 15, 22], "agnost": 2, "henc": [2, 5, 14], "treat": [2, 19], "arbitrari": [2, 13, 18], "ha": [2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22], "gain": [2, 19], "quit": [2, 4, 6, 11, 12], "At": [2, 5, 11, 15, 17, 20], "mani": [2, 5, 8, 12, 14, 15, 16, 20, 22], "old": [2, 4, 5, 6, 8, 10, 11, 12, 16, 22], "reason": [2, 4, 5, 6, 11, 18, 19, 22], "suffici": [2, 5, 6, 7, 11, 14, 18], "prior": [2, 3, 5, 6, 8, 11, 13, 16, 20, 22], "happen": [2, 3, 4, 6, 7, 8, 11, 21, 22], "natur": [2, 5, 8, 15], "sort": 2, "latter": [2, 5, 7, 8, 13, 15, 16, 19, 22], "set": [2, 4, 5, 6, 7, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "much": [2, 5, 20, 22], "compon": [2, 3, 8, 11, 14, 16], "account": [2, 8, 11, 15, 22], "detail": [2, 7, 9, 11, 13, 16, 20, 22], "choic": [2, 6, 7, 13, 18, 22], "chapter": [2, 5, 8, 9], "along": [2, 5, 6, 7, 11, 12, 13, 20, 21, 22], "toolchain": [2, 4, 8], "func": [2, 8], "commit": [2, 18, 22], "6e5e8a57628095d8d0c8bbb38187afb0f3a42112": 2, "userspac": 2, "xbox": 2, "360": 2, "control": [2, 4, 5, 19], "driver": 2, "xboxdrv": 2, "gitlab": [2, 8], "io": [2, 4, 5, 8, 14, 21], "chewi": 2, "workdir": [2, 5], "lib": [2, 3, 5, 7, 9, 16, 19, 20, 22], "boost": [2, 7], "glib": 2, "sy": [2, 5, 8, 11, 14, 15, 16, 22], "libudev": 2, "libusb": 2, "x11": 2, "libx11": 2, "src_compil": [2, 5, 6, 8, 14], "escon": 2, "cxx": 2, "tc": [2, 9], "getcxx": 2, "getar": 2, "ranlib": 2, "getranlib": 2, "cxxflag": 2, "wall": 2, "linkflag": 2, "ldflag": [2, 5], "src_instal": [2, 5, 8, 9, 14, 21], "dobin": [2, 9], "doman": 2, "dodoc": [2, 5], "new": [2, 5, 6, 9, 10, 11, 13, 16, 19, 22], "readm": [2, 12, 20], "md": [2, 20], "todo": [2, 9, 12], "yourself": [2, 4, 22], "becaus": [2, 5, 6, 11, 15, 19, 20, 22], "cannot": [2, 4, 5, 9, 11, 22], "my_p": 2, "src": [2, 5, 9, 22], "_rc": 2, "rc": [2, 11], "high": [2, 4, 11, 12, 15, 21], "open": [2, 16], "sourc": [2, 3, 10, 12, 14, 17, 20, 22], "schema": [2, 15], "free": [2, 15, 22], "orient": [2, 16], "databas": [2, 4], "mongodb": [2, 4], "fastdl": 2, "sspl": 2, "acct": 2, "user": [2, 3, 5, 6, 7, 8, 11, 12, 15, 19, 21, 22], "arch": [2, 5, 8, 11, 12, 18], "snappi": 2, "cpp": 2, "yaml": [2, 3], "70": 2, "thread": [2, 8, 19, 21, 22], "libpcr": 2, "42": 2, "zstd": 2, "snowbal": 2, "stemmer": 2, "net": [2, 8, 11, 14, 15, 21], "libpcap": 2, "zlib": 2, "11": [2, 5, 10, 12, 15, 22], "pymongo": 2, "cheetah3": 2, "psutil": 2, "pyyaml": 2, "type": [2, 3, 6, 13, 15, 16], "ncurs": [2, 14], "readlin": [2, 5, 8, 14], "admin": [2, 8], "mongo": 2, "src_configur": [2, 5, 8, 9, 13, 14, 21], "scons_opt": 2, "cc": [2, 9], "getcc": [2, 9], "disabl": [2, 5, 8, 10, 11, 12, 14, 21, 22], "warn": [2, 3, 5, 10, 16], "pcre": 2, "core": [2, 5, 20, 22], "src_test": [2, 5, 6, 14, 22], "buildscript": 2, "resmok": 2, "dbpathprefix": 2, "job": [2, 19], "makeopts_job": [2, 19], "die": [2, 3, 5, 8, 9, 14, 19, 22], "nostrip": [2, 8], "prefix": [2, 8, 9, 15, 16, 22], "ed": [2, 9, 15], "everyth": [2, 13, 20], "your": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 18, 19, 20, 22], "python2_7": [2, 5, 6, 8, 13, 14, 21, 22], "eutil": 2, "molecular": 2, "dynam": 2, "nmr": 2, "analysi": [2, 21], "relax": [2, 19], "gna": 2, "bz2": [2, 8, 21], "python_required_us": [2, 4, 5, 8, 10, 14, 21], "python_gen_cond_dep": [2, 4, 5, 8, 12, 13, 21, 22], "numdifftool": 2, "matplotlib": [2, 5, 21], "python2": [2, 8, 9, 13, 21], "wxpython": [2, 21], "wx_gtk_ver": [2, 21], "sci": [2, 5, 21], "chemistri": 2, "pymol": 2, "bmrblib": 2, "minfx": 2, "scipi": 2, "molmol": 2, "vmd": 2, "visual": 2, "grace": 2, "opendx": 2, "gfx": 2, "pngcrush": 2, "python_moduleinto": [2, 5, 9, 14], "python_domodul": [2, 5, 9, 12, 14, 21], "make_wrapp": [2, 9], "python_get_sitedir": [2, 3, 8, 9], "part": [2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 19, 22], "That": [2, 16, 22], "fortran_need": 2, "fortran": 2, "fortran_standard": 2, "90": [2, 14], "object": [2, 11, 16, 21], "chemic": 2, "kinet": 2, "thermodynam": 2, "transport": 2, "cantera": 2, "v": [2, 4, 5, 10, 13, 14, 22], "pch": 2, "sundial": 2, "eigen": 2, "libfmt": 2, "cython": [2, 10, 14, 21], "2_pkg_setup": 2, "scons_var": 2, "cc_flag": 2, "cxx_flag": 2, "std": 2, "debug": 2, "getfc": 2, "fortranflag": 2, "optimize_flag": 2, "wno": 2, "inlin": [2, 7, 14, 18], "renamed_shared_librari": 2, "use_pch": 2, "usex": [2, 5, 21], "system_fmt": 2, "system_sundi": 2, "system_eigen": 2, "env_var": 2, "extra_inc_dir": 2, "eigen3": 2, "scons_target": 2, "f90_interfac": 2, "n": [2, 16, 19], "python2_packag": 2, "none": [2, 5, 6, 16, 18], "python3_packag": 2, "python3_cmd": 2, "els": [2, 8, 11, 16], "stage_dir": 2, "libdirnam": 2, "get_libdir": [2, 8], "python_optim": [2, 8, 9, 20], "deal": [2, 7, 8, 10, 15], "sens": 2, "plain": [2, 5, 6, 13], "loop": [2, 5, 19], "autom": 2, "pipelin": [2, 22], "poisson": 2, "boltzmann": 2, "electrostat": 2, "calcul": 2, "poissonboltzmann": 2, "apb": 2, "opal": 2, "openbabel": 2, "zsi": 2, "lang": [2, 8, 11, 12, 21], "swig": [2, 21], "src_prepar": [2, 3, 5, 8, 9, 14, 16, 19, 20], "f": [2, 9, 16], "pyc": [2, 9, 20], "o": [2, 5, 20], "pyo": [2, 9, 20], "delet": [2, 3, 14], "eappli": 2, "patch": [2, 4, 5, 6, 8, 11, 12, 18, 20, 22], "eapply_us": 2, "rm": [2, 3, 5, 9], "rf": 2, "python_copy_sourc": [2, 14], "python_configur": 2, "cat": [2, 5], "build_dir": [2, 3, 9, 14, 22], "build_config": 2, "eof": [2, 5], "eprefix": [2, 5, 8, 9], "max_atom": 2, "10000": 2, "build_pdb2pka": 2, "rebuild_swig": 2, "run_in_build_dir": [2, 8, 14], "python_instal": [2, 3, 14], "cd": [2, 5, 9, 12, 22], "let": [2, 4, 8, 16, 21], "independ": [2, 4, 5, 6, 7, 14, 21], "separ": [2, 5, 6, 7, 8, 11, 14, 15, 16, 19, 22], "presum": 2, "manual": [2, 6, 10, 11, 12, 18, 20], "wider": 2, "target": [2, 8, 9, 11, 12, 15, 21, 22], "rang": [2, 5, 12], "recommend": [2, 5, 7, 12, 13, 14, 15, 16, 18, 19, 21, 22], "gp": [2, 8], "daemon": [2, 8], "usb": [2, 8], "serial": [2, 5, 8, 15], "devic": [2, 8], "map": [2, 5, 6, 8, 15, 19], "client": [2, 8, 9, 11, 14], "gpsd": [2, 8], "mirror": [2, 4, 5, 6, 8, 14, 21, 22], "nongnu": [2, 8], "24": [2, 8, 19, 22], "misc": [2, 8], "pp": [2, 8], "20120407": [2, 8], "myesconsarg": [2, 8], "libdir": [2, 8, 9], "udevdir": [2, 8], "get_udevdir": [2, 8], "chrpath": [2, 8], "gpsd_user": [2, 8], "gpsd_group": [2, 8], "uucp": [2, 8], "manbuild": [2, 8], "use_scon": [2, 8], "sconstruct": [2, 8], "py2": [2, 8, 18, 22], "construct": [2, 4, 8, 21], "pkg_config": 2, "shlinkflag": 2, "destdir": [2, 8, 9, 20], "bundl": [2, 5, 12], "simpl": [2, 5, 7, 13, 14, 17], "impli": [2, 9, 11], "python_req_us": [2, 4, 5, 6, 8, 14, 21], "individu": [2, 5, 11, 19], "applic": [2, 9, 11], "had": 2, "instead": [2, 3, 5, 6, 7, 8, 9, 13, 14, 16, 18, 19, 20, 21, 22], "no_waf_libdir": 2, "ye": 2, "unit": 2, "framework": [2, 3, 5, 11, 17], "mrzechonek": 2, "tut": 2, "roughli": [2, 9, 11, 13], "ldap": 2, "ldb": 2, "samba": [2, 21], "ftp": [2, 21], "pub": 2, "elibc_freebsd": 2, "libbsd": 2, "popt": 2, "talloc": [2, 21], "tevent": 2, "9": [2, 5, 10, 12, 15, 18, 20, 22], "31": [2, 15], "tdb": 2, "12": [2, 8, 15, 16, 19, 20], "nd": 2, "openldap": 2, "libxslt": 2, "waf_binari": [2, 21], "buildtool": [2, 21], "filesdir": 2, "27": [2, 8], "optional_packag": 2, "myconf": [2, 8], "rpath": 2, "modulesdir": 2, "builtin": 2, "utils_src_configur": [2, 21], "tradition": 3, "python": [3, 6, 17, 18, 19, 20], "organ": 3, "subpackag": [3, 20], "locat": [3, 5, 20], "parent": [3, 9], "directori": [3, 5, 6, 9, 11, 12, 13, 14, 16, 18, 19, 20, 22], "submodul": 3, "repres": [3, 5, 22], "attribut": [3, 10, 16], "session": [3, 22], "addnod": 3, "site": [3, 5, 6, 9, 10, 11, 16, 19, 22], "fine": [3, 12, 16], "start": [3, 4, 5, 6, 11, 12, 15, 16, 22], "problemat": [3, 5, 6, 10, 19], "top": [3, 5, 9, 10, 18, 19], "level": [3, 9, 10, 11, 22], "layout": [3, 6, 13], "wish": [3, 6, 22], "zope": [3, 15], "share": [3, 5], "interfac": [3, 6, 11, 15, 16], "event": [3, 11, 19], "depend": [3, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20], "far": [3, 12, 21], "concern": 3, "entir": [3, 5, 9, 10, 12, 13, 14, 18, 22], "doabl": 3, "real": [3, 19, 20, 22], "we": [3, 4, 6, 8, 11, 12, 14, 15, 17, 20], "freshli": 3, "build": [3, 9, 10, 11, 15, 16, 20, 22], "abl": [3, 15], "tmp": [3, 5, 9, 19, 20, 22], "portag": [3, 5, 8, 10, 12, 14, 15, 19, 22], "python3_8": 3, "traceback": [3, 5, 22], "last": [3, 5, 16], "stdin": 3, "modulenotfounderror": 3, "No": [3, 22], "now": [3, 5, 6, 8, 13, 14, 22], "around": [3, 5, 6, 11, 12, 22], "back": [3, 6, 16], "better": [3, 6, 11, 12, 13, 14, 20], "solut": [3, 15, 16, 20, 22], "unlik": [3, 5, 6, 11, 15], "tradit": 3, "act": 3, "proxi": [3, 14], "strictli": [3, 5, 6, 15, 22], "bound": [3, 11, 16], "permit": [3, 4, 5, 6, 11, 15, 22], "load": [3, 7, 9, 16, 19, 20, 22], "search": [3, 10, 15, 22], "method": [3, 5, 11, 13, 16, 19, 20, 22], "420": 3, "newer": [3, 4, 5, 6, 11, 12, 15, 16, 20], "pkgutil": 3, "standard": [3, 4, 6, 7, 9, 10, 11, 14, 16, 22], "discourag": [3, 6], "earlier": [3, 13], "ignor": [3, 4, 5, 8, 15, 19, 22], "did": [3, 13, 16, 22], "within": [3, 5, 6, 12, 15, 17, 22], "content": [3, 5, 7], "__path__": 3, "__import__": 3, "extend_path": 3, "__name__": 3, "pkg_resourc": [3, 6], "declare_namespac": 3, "altern": [3, 5, 6, 8, 10, 16, 17, 18, 22], "pth": 3, "automat": [3, 4, 5, 6, 10, 12, 15, 18, 20, 22], "inject": [3, 21, 22], "portabl": 3, "topic": [3, 17], "exact": [3, 5, 11, 21], "detect": [3, 5, 9, 15, 22], "recogn": [3, 5, 15, 16], "lack": [3, 9, 22], "action": [3, 15, 22], "distinguish": [3, 5, 13], "veri": [3, 4, 5, 6, 9, 11, 15, 17, 18, 20, 22], "through": [3, 4, 5, 6, 8, 11, 16, 19, 22], "suspici": 3, "less": [3, 15, 22], "ruamel": 3, "miss": [3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20], "learn": 3, "about": [3, 6, 13, 15], "collis": [3, 5, 15, 22], "namespace_packag": 3, "per": [3, 20], "remov": [3, 4, 5, 6, 10, 11, 13, 14, 15, 19, 20, 22], "tree": [3, 5, 12, 13, 20, 22], "after": [3, 6, 9, 11, 12, 13, 15, 16, 18, 20, 22], "python_compil": 3, "r1_python_compil": [3, 5], "jaraco": [3, 5, 12, 19], "equival": [3, 6, 8, 9, 13, 18], "r1_python_instal": [3, 5], "python_install_al": [3, 5], "r1_python_install_al": [3, 5], "explicit": [3, 4, 5, 6, 18, 21, 22], "rdep": 3, "sed": [3, 5, 8, 14, 15, 19, 22], "r1_src_prepar": [3, 5, 19], "histor": [3, 5, 6, 11, 13, 16, 18, 20], "process": [3, 5, 7, 12, 16, 20, 21], "retir": 3, "major": [4, 5, 6, 11, 15, 22], "avail": [4, 5, 6, 8, 11, 13, 15, 16, 17], "sqlite3": 4, "sqlite": [4, 8], "xdg": 4, "music": 4, "lollypop": 4, "adishatz": 4, "syntax": [4, 10, 11, 15, 20], "lightweight": [4, 20], "password": 4, "backend": [4, 10, 12, 13], "pwman3": 4, "mysql": [4, 14], "postgr": 4, "fulli": [4, 5, 7, 11], "solv": [4, 17], "python_gen_impl_dep": 4, "helper": [4, 5, 7, 10, 14, 21, 22], "2_7": [4, 22], "3_": 4, "travel": 4, "spulec": 4, "freezegun": [4, 19, 22], "pypi": [4, 5, 6, 8, 10, 11, 13], "dateutil": 4, "six": [4, 8, 22], "nose": [4, 22], "distutils_enable_test": [4, 5, 10, 13, 19], "ll": [4, 14], "backport": [4, 6, 10, 12], "zero": [4, 15], "argument": [4, 6, 10, 13, 16, 22], "output": [4, 5, 6, 9, 16, 20, 22], "everi": [4, 5, 6, 8, 11, 14, 15, 16, 18, 20, 22], "escap": [4, 13, 21], "quot": [4, 21], "partial": [4, 5, 9, 10, 13], "python_single_usedep": [4, 5, 13, 21], "cli": [4, 5], "black": 4, "click": 4, "fnmatch": 4, "style": [4, 5, 13, 16, 17, 19, 22], "wildcard": 4, "stdlib": [4, 13, 16], "rememb": [4, 12, 18], "pattern": [4, 12, 13, 21], "prevent": [4, 5, 11, 21, 22], "filenam": [4, 5], "expans": 4, "expand": 4, "zoneinfo": 4, "advantag": [4, 5, 7, 19, 22], "adjust": [4, 9, 11, 16], "switch": [4, 7, 9, 11, 12, 13, 15, 22], "list": [4, 5, 8, 12, 13, 19, 20, 22], "longer": [4, 6, 11, 13, 18, 22], "silent": 4, "updat": [4, 6, 9, 11, 12, 16, 18], "immedi": [4, 5, 12, 21], "becam": [4, 11], "empti": [4, 5, 15], "importlib_metadata": [4, 6, 15, 22], "python3_7": [4, 8], "facilit": [5, 9, 18], "deriv": [5, 6], "notabl": [5, 15, 16, 18], "effici": [5, 15], "oper": [5, 11, 17], "backward": [5, 11, 16], "incompat": [5, 6, 11, 16, 18, 19, 22], "greater": [5, 7], "number": [5, 7, 12, 15, 18, 19, 20, 22], "cost": [5, 11], "flexibl": [5, 7], "wheel": [5, 10, 11, 12, 15, 19, 20], "zip": [5, 6, 18], "stage": [5, 11, 20, 22], "compil": [5, 6, 10, 11, 22], "mere": [5, 7], "imag": [5, 9, 20], "compliant": [5, 7], "invok": [5, 19, 22], "popul": [5, 15], "addition": [5, 9, 11, 14], "pyproject2setuppi": [5, 6, 13], "hack": [5, 6, 7, 13], "reli": [5, 6, 11, 22], "distutils_use_pep517": [5, 13], "legal": 5, "unset": [5, 6], "By": [5, 6, 11], "2022": [5, 13, 19], "xml": [5, 6], "feel": [5, 15], "json": 5, "martinblech": 5, "xmltodict": 5, "mit": [5, 6, 22], "vast": 5, "index": [5, 10], "sdist": [5, 15, 18, 20, 22], "binari": [5, 9, 12, 16], "mechan": [5, 7, 11], "over": [5, 7, 11, 12, 19, 21, 22], "offici": 5, "instanc": [5, 13, 16, 18], "nonfunct": 5, "append": [5, 14, 15, 18, 22], "uniqu": [5, 14], "suffix": [5, 15, 18, 20], "gh": [5, 22], "request": [5, 8, 10, 12, 15], "distfil": [5, 16, 18, 21], "clearli": [5, 20, 22], "tarbal": [5, 12, 22], "textual": 5, "rich": 5, "implic": 5, "cf": [5, 12], "regener": [5, 12], "anywai": [5, 16], "nevertheless": 5, "even": [5, 8, 9, 11, 19, 22], "pregener": 5, "internet": [5, 10, 19], "nodej": 5, "underli": [5, 6, 7], "txt": [5, 6, 12, 19], "ci": [5, 22], "travi": 5, "yml": 5, "grep": 5, "statement": [5, 20], "indirect": 5, "relev": [5, 6, 13, 17, 19, 22], "unnecessarili": 5, "logic": [5, 6, 12, 22], "long": [5, 11, 12], "quickli": 5, "widest": 5, "avoid": [5, 6, 8, 10, 15, 16, 17, 22], "unpredict": 5, "who": [5, 17, 22], "especi": [5, 7, 19, 20, 22], "distutils_single_impl": [5, 7], "aim": [5, 11, 15, 17, 20], "exist": [5, 10, 11, 12, 16, 20], "rewritten": [5, 21, 22], "layer": [5, 14], "pyroot": 5, "rootpi": 5, "physic": [5, 21], "root_numpi": 5, "pytabl": 5, "termcolor": 5, "determin": [5, 6, 7, 11, 21, 22], "flit_cor": [5, 12, 20], "maintain": [5, 10, 11, 12, 16, 19], "suggest": [5, 8, 13, 15, 17, 19, 20, 22], "tabl": [5, 12, 13, 15, 16, 19], "summar": [5, 16], "use_pep517": 5, "hatchl": 5, "jupyt": 5, "jupyter_packag": 5, "build_api": 5, "maturin": 5, "mesonpi": 5, "see": [5, 9, 16, 19, 20, 22], "below": [5, 8], "pbr": [5, 6], "pdm": [5, 13], "pep517": [5, 20], "sip": [5, 8, 15], "sipbuild": 5, "standalon": [5, 12], "itself": [5, 6, 8, 9, 12, 15, 19], "own": [5, 22], "Their": [6, 9, 20], "fix": [5, 6, 10, 11, 12, 15, 16, 19, 20, 22], "produc": [12, 15, 20], "ident": 20, "artifact": 20, "reduc": 20, "footprint": 20, "isol": 20, "faster": 20, "poetry_cor": 20, "smaller": 20, "40": [12, 20], "incorrect": [5, 6, 20], "intend": [16, 20, 22], "implicit": [14, 20, 22], "fallback": [6, 20], "regular": [7, 20, 22], "pleas": [5, 6, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22], "alwai": [5, 6, 8, 11, 13, 16, 17, 18, 20], "unfortun": [13, 15, 16, 19, 20, 22], "due": [10, 12, 14, 19, 20], "prolong": 20, "larg": [5, 12, 15, 19, 20], "tend": 20, "mistak": [15, 20], "checkout": [5, 12, 22], "abil": [5, 6], "tag": [5, 12, 18, 22], "execut": [5, 6, 7, 9, 11, 12, 13, 14, 22], "143": 5, "_install_setup_requir": 5, "attr": [5, 12, 22], "131": 5, "dist": 5, "dict": [5, 21], "425": 5, "_distribut": 5, "self": [5, 16, 19, 22], "292": 5, "finalize_opt": 5, "717": 5, "ep": 5, "48": 5, "infer_vers": 5, "_get_vers": 5, "config": [5, 9, 12], "148": 5, "parsed_vers": 5, "_do_pars": 5, "110": 5, "rais": [5, 16], "lookuperror": 5, "scm": 5, "unabl": [5, 15, 22], "sure": [5, 15, 19, 22], "re": [5, 8, 15, 22], "intact": 5, "git": [5, 12, 22], "folder": 5, "don": [5, 13], "t": [5, 7, 8, 11, 13, 22], "pip": [5, 12, 22], "proj": 5, "master": [5, 22], "egg": [5, 6, 19], "setuptools_scm_pretend_vers": 5, "static": [5, 8], "write": [5, 6, 7, 12, 16, 17, 20], "hybrid": [5, 10], "expos": [5, 6, 22], "guarante": [5, 6, 10, 18], "taken": [5, 16, 22], "ship": [5, 20], "issu": [5, 6, 13, 15, 16, 19, 22], "forc": [4, 5, 6, 8, 9, 12, 13, 19, 22], "frobnic": 5, "makefil": [5, 14], "jq": 5, "pyx": 5, "unresolv": 5, "regard": 5, "simultan": [5, 11, 17, 22], "link": [5, 7, 9, 16], "editor": 5, "broken": [5, 6, 19, 22], "cryptic": 5, "revers": [5, 7, 12, 15], "miscompil": 5, "panda": 5, "breakag": [5, 22], "dask": [5, 19], "29": 5, "_lib": 5, "hashtabl": 5, "_hashtabl": 5, "tslib": 5, "_tslib": 5, "13": [5, 15, 18, 19, 22], "interv": 5, "init": 5, "30": [5, 11], "convers": [5, 6], "outofboundstimedelta": 5, "localize_pydatetim": 5, "importerror": [5, 6, 10, 11, 16], "38": [5, 20], "x86_64": 5, "undefin": 5, "symbol": 5, "pandas_datetime_to_datetimestruct": 5, "easiest": [5, 15, 21], "workaround": [5, 20], "j1": 5, "origin": [5, 9, 11, 12, 16], "overrid": [5, 9, 14, 22], "extend": [5, 11], "introduc": [5, 11], "src_": 5, "python_": [5, 8], "_all": [5, 8], "compris": 5, "behav": [5, 8], "r1_": 5, "correspond": [5, 11, 12, 15], "python_prepare_al": [5, 19], "each": [5, 6, 7, 11, 14], "foreach": 5, "python_configure_al": 5, "python_compile_al": [5, 8], "python_test_al": 5, "dedic": [5, 6, 12, 14], "chang": [5, 6, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22], "task": [5, 8, 12], "default_src_prepar": 5, "ez_setup": 5, "bootstrap": [5, 6, 10], "end": [5, 6, 7, 9, 11, 14, 19, 22], "dir": [5, 14], "extran": 5, "fixm": 5, "test_pytest_plugin": 5, "test_testcase_no_app": 5, "_": [5, 12, 15, 18, 22], "test_test_util": 5, "pointless": 5, "cov": [5, 19, 22], "addopt": 5, "aiohttp": [5, 19], "r1_python_prepare_al": [5, 19], "duplic": [5, 14, 22], "moment": [5, 11, 13, 15], "modif": 5, "keep": [5, 15, 17], "why": [5, 6, 10], "console_script": [5, 6], "configur": [5, 6, 8, 13, 14, 20, 22], "step": [5, 6, 7, 8, 14], "esetup": [5, 8], "mpi": 5, "distutils_arg": [5, 13], "resourcepath": 5, "compress": 5, "manpag": 5, "distutils_enable_sphinx": [5, 8], "emak": [5, 8, 9], "strongli": [5, 6, 15], "encourag": [5, 15], "testbitvector": 5, "redefin": [5, 19], "too": [5, 11, 22], "collada": 5, "einstalldoc": [5, 8, 14], "docinto": 5, "sample_cod": 5, "docompress": 5, "pf": 5, "main": [5, 9], "manipul": [5, 22], "arrai": 5, "futur": [5, 15, 18], "pillow": 5, "build_ext": [5, 6, 22], "tiff": 5, "webp": 5, "dash": 5, "underscor": [5, 15, 18, 22], "boolean": 5, "disable_tiff": 5, "enable_tiff": 5, "disable_webp": 5, "enable_webp": 5, "modifi": [5, 6, 11, 15, 20, 22], "beforehand": 5, "econf": [5, 21], "paremet": 5, "find_packag": 20, "wrongli": [16, 20, 22], "grab": [13, 20], "attempt": [16, 20, 22], "forbidden": [], "exclud": 20, "paramet": [8, 16, 20, 22], "properli": [6, 13], "intermedi": [], "minim": [11, 15, 16, 22], "precis": [8, 9, 22], "catch": [20, 22], "earli": [7, 8, 12, 22], "anywher": [], "first": [6, 10, 11, 12, 15, 16, 19, 20, 22], "easi": [16, 20, 22], "whitelist": 22, "sanit": [11, 16, 22], "mozilla": 22, "bleach": 22, "webencod": 22, "unittest": [5, 11, 22], "discoveri": [19, 20, 22], "univers": 22, "encod": [16, 22], "detector": 22, "chardet": [8, 22], "cygwin": [6, 22], "hypothesi": 22, "bottom": 22, "venv": [5, 6, 13, 22], "temporari": [5, 6, 22], "frequent": [18, 19, 22], "littl": [6, 19, 22], "skip": [4, 8, 10, 12, 16, 20], "those": [5, 6, 8, 9, 19, 22], "how": 22, "statist": 22, "want": [6, 8, 22], "across": [5, 11, 22], "irrelev": 22, "pep8": 22, "pycodestyl": 22, "flake8": [19, 22], "thin": [6, 22], "alreadi": [9, 12, 14, 15, 16, 20, 22], "close": 22, "pre": 22, "post": [6, 13, 15, 22], "easili": [5, 14, 19, 22], "r1_src_test": [5, 22], "cmd": 22, "cmd2": 22, "colorama": 22, "pyperclip": 22, "wcwidth": 22, "text": [5, 8, 16, 22], "column": 22, "80": 22, "fact": 22, "simpli": [15, 16, 17, 22], "3_6": [14, 22], "3_7": [14, 22], "3_8": 22, "tab": [15, 22], "argpars": 22, "argcomplet": 22, "fish": 22, "tcsh": 22, "rel": [19, 20, 22], "epytest": [4, 5, 6, 8, 12, 19, 22], "network": [6, 19, 22], "marker": [10, 22], "m": [15, 19, 20, 22], "displai": 22, "appeas": 22, "usng": 22, "xvfb": 22, "server": 22, "virtx": 22, "nonfat": 22, "termin": 22, "context": [21, 22], "come": [5, 13, 19], "theme": [5, 6, 8], "hard": [5, 8, 12], "To": [5, 6, 8, 9, 12, 15, 16, 19, 20, 21], "conf": [5, 6, 20], "ext": 5, "distutils_use_setuptool": [5, 13], "color": 5, "stream": 5, "handler": 5, "log": [5, 20], "coloredlog": 5, "xolox": 5, "readthedoc": 5, "en": 5, "latest": [5, 15], "humanfriendli": 5, "expert": [5, 10, 14, 22], "uncommon": [5, 15], "third": [5, 7, 13, 20], "parti": 5, "inflect": 5, "word": 5, "jazzband": 5, "rst": 5, "linker": [5, 9], "alabast": [5, 6], "python_target": [5, 7, 8, 11, 12], "inspect": 5, "omit": [5, 15, 16], "port": [5, 8, 10], "pyseri": 5, "psf": 5, "tri": 5, "been": [5, 6, 8, 11, 12, 13, 14, 16, 19, 20], "assumpt": 5, "consum": [5, 6, 22], "distutils_opt": 5, "alter": [5, 19], "distutils_dep": 5, "dependneci": 5, "r1_src_compil": 5, "r1_src_instal": 5, "primari": [5, 19], "alongsid": [5, 6], "libfoo": 5, "r1_src_configur": [], "setuptools_rust": 5, "ecosystem": [5, 15, 17], "bump": [5, 12, 15, 18], "lock": 5, "Then": 12, "crate": 5, "cargo_opt": 5, "url": [5, 10, 11, 15, 16], "cargo_crate_uri": 5, "qa_flags_ignor": 5, "posit": [5, 15], "cflag": [5, 9, 22], "cargo_src_unpack": 5, "inflector": 5, "alias": [5, 16], "asn1": 5, "asn1_der": 5, "_rust": 5, "src_unpack": 5, "benefit": [5, 7], "yet": [5, 8, 11, 21], "cyclic": 5, "suppos": [5, 16], "overlap": 5, "machineri": 5, "op": 5, "unless": [5, 6, 8, 15], "merg": [4, 5], "toward": 5, "effect": [5, 8, 11, 20], "pick": [5, 12], "up": [5, 6, 9, 11, 13, 14, 15, 17, 19, 20, 22], "hukkin": 5, "tomli": [5, 12, 15], "pythonhost": [5, 18], "py3": [5, 18, 19], "whl": [5, 18], "unzip": [5, 18], "deliber": 5, "unpack": [5, 18], "gpep517": [5, 18, 20], "python_newscript": [5, 9], "__main__": [5, 22], "exit": [5, 16, 20, 22], "fragment": [5, 16], "emesonarg": 5, "dlint": 5, "meson_src_configur": 5, "meson_src_compil": 5, "meson_src_test": 5, "meson_src_instal": 5, "here": [6, 8, 14, 21], "direct": [6, 14], "convert": [6, 8, 13], "facil": 6, "right": [6, 7], "fit": [6, 22], "profil": [4, 6, 15], "pyproject2toml": 6, "misbehav": 6, "subsequ": [6, 18, 20], "qa": [6, 9, 10, 12, 17], "expect": [6, 11, 16, 19, 20, 22], "sidebar": 6, "bitprophet": 6, "possibli": [6, 22], "snippet": [6, 16, 20], "except": [6, 7, 9, 11, 12, 16], "pm": 6, "cleanli": [6, 12], "condit": [6, 10, 12, 19, 22], "leav": 6, "never": [6, 11, 13, 16], "clean": [6, 11, 13], "requier": 6, "With": [6, 22], "themselv": [6, 19, 20, 22], "entry_point": [6, 19], "dictionari": [6, 21], "our": [6, 19, 22], "interest": [6, 8, 22], "gui_script": 6, "meaning": 6, "importlib": [6, 11, 22], "fall": [6, 16], "remind": 6, "distutils_strict_entry_point": 6, "trigger": [6, 12, 19, 20, 22], "wrong": [6, 13, 15], "leftov": 6, "resourc": [6, 11, 12, 20], "submit": [6, 20], "suppli": 6, "heavi": 6, "speak": [6, 11], "known": [6, 16, 22], "limit": [6, 12, 15, 17], "address": [6, 11, 16], "definit": 6, "subdirectori": [6, 9], "interspers": [6, 20], "closest": 6, "inplac": 6, "shift": [6, 11], "throughout": 6, "2to3": 6, "distutils_in_source_build": 6, "collect": [6, 19, 22], "pypa": 6, "riscv": [6, 8, 21], "pythonpath": [6, 22], "distutils_install_for_test": [6, 13, 19, 22], "alik": [6, 7, 11, 13], "preserv": [6, 11, 15, 16], "extrem": 6, "home": [6, 12, 13], "went": 6, "awai": [6, 7, 18], "python_test": [4, 6, 8, 9, 12, 19, 22], "total": 7, "rare": [7, 9, 19, 22], "simpler": 7, "complex": [7, 16, 18, 21], "primarili": [7, 11], "involv": [7, 8, 13], "graph": [7, 11, 12], "meet": 7, "potenti": [7, 11, 15, 16, 19], "basi": 7, "occur": [7, 11, 19], "libpython": [7, 11, 16], "aforement": [7, 13, 16, 18], "foo": [7, 16], "wise": 7, "abstract": [7, 14, 18], "scon": [7, 8, 10, 20], "second": [7, 13, 20], "easier": [7, 18, 20], "select": [7, 8, 19, 21], "allow": [7, 22], "repeat": [7, 14, 15, 20], "model": 7, "libboost_python": 7, "python_single_target": [7, 11, 12], "Its": [7, 12, 18], "legaci": [7, 10, 13, 16, 20, 22], "power": 8, "harder": [8, 15], "ninja": [8, 15], "train": 8, "opposit": [8, 11, 13], "investig": 8, "human": 8, "beings": 8, "socks5": 8, "ssl": 8, "certifi": [8, 15], "2017": 8, "17": 8, "idna": 8, "urllib3": [8, 12], "26": 8, "pysock": 8, "cryptographi": [8, 15], "pyopenssl": 8, "14": [8, 22], "httpbin": [8, 19], "hang": 8, "continu": [8, 12, 22], "python_gen_useflag": 8, "out": [8, 9, 10, 11, 12, 13, 14, 15, 16], "toolkit": 8, "translat": 8, "format": [8, 12, 15, 16, 18, 20], "subtitl": 8, "pydiff": 8, "iso": 8, "lxml": 8, "pycountri": 8, "18": 8, "levenshtein": 8, "devel": 8, "gettext": 8, "video": 8, "gaupol": 8, "riverbankcomput": 8, "intro": 8, "sip_api_major_nr": 8, "siplib": 8, "h": [8, 9, 21], "bison": 8, "flex": 8, "prepar": [8, 9, 20, 21], "bindir": 8, "incdir": 8, "python_get_includedir": [8, 9, 13], "echo": [8, 20], "distutils_all_subphase_impl": 8, "python3_5": 8, "bzip2": 8, "epydoc": 8, "eselect": 8, "elibc_glibc": 8, "sandbox": [8, 20, 22], "kernel_linux": 8, "pax": 8, "rsync": 8, "userland_gnu": 8, "coreutil": 8, "sphinx_rtd_them": 8, "practic": [8, 11, 12], "big": 8, "imagin": 8, "anymor": [8, 11], "downgrad": 8, "though": [8, 11], "resembl": [8, 19], "presenc": [8, 19], "activ": [8, 17], "behavior": [8, 11, 16, 18], "goal": [8, 12, 22], "side": [8, 11], "someth": [8, 9, 22], "accord": [8, 18], "integr": [8, 9, 10, 11], "won": 8, "reject": [8, 15, 16], "unsupport": [8, 11], "python_is_python3": [8, 13], "basic": [9, 10], "reus": [9, 15], "four": [9, 13, 21], "python_doex": 9, "python_newex": 9, "python_doscript": [9, 14, 21], "recurs": [9, 15, 19], "python_dohead": 9, "python_scriptinto": 9, "affect": [9, 11, 14], "symlink": 9, "onto": 9, "improv": [9, 10, 11, 17], "cropgtk": 9, "sbin": 9, "pynslcd": 9, "anyth": 9, "land": 9, "my_pn": 9, "doin": 9, "libimag": 9, "env": [9, 12], "python_fix_shebang": 9, "sphinxtrain": 9, "openvpn": 9, "vulnkei": 9, "insinto": 9, "kitti": 9, "speed": 9, "nowadai": [9, 12, 13], "pypy2": [9, 11], "_feedparser_sgmllib": 9, "lib64": 9, "byte_compil": 9, "cmake_src_instal": 9, "entropi": 9, "ocassion": 9, "bad": [9, 16], "seri": 9, "getter": [9, 13, 16], "python_get_scriptdir": 9, "python_get_library_path": [9, 13], "python_get_cflag": 9, "preprocessor": 9, "pkg": 9, "python_get_lib": 9, "python_get_python_config": 9, "offset": 9, "mycmakearg": [9, 13, 21], "dpython_dest": 9, "dpython_execut": 9, "dpython_include_dir": 9, "dpython_librari": 9, "cmake_src_configur": [9, 21], "pyinc": 9, "pylib": 9, "micha\u0142": 10, "g\u00f3rny": 10, "creativ": 10, "intern": 10, "prefac": 10, "life": 10, "cycl": [10, 12], "stabil": 10, "choos": [10, 11, 14], "overview": 10, "variant": [10, 11, 16, 19], "flit_scm": 10, "hatch": 10, "vc": [10, 22], "snapshot": [10, 22], "parallel": 10, "race": 10, "command": [10, 14, 15, 19, 20, 22], "usag": [10, 18], "rust": 10, "cargo": 10, "variat": 10, "byte": [10, 16], "queri": [10, 16], "advanc": 10, "cffi": 10, "greenlet": [10, 19], "checklist": 10, "abort": 10, "assert": [10, 20], "recip": 10, "xdist": [10, 12, 22], "autoload": 10, "typeerror": 10, "_make_test_flaki": 10, "got": [10, 13], "unexpect": [10, 20], "rerun": 10, "importpathmismatcherror": 10, "fixtur": [10, 12], "namespac": [10, 19], "disjoint": 10, "waf": [10, 21], "tip": [10, 22], "retroact": 10, "migrat": [10, 18], "bytecod": 10, "relat": [10, 12, 13, 15, 22], "mainten": 10, "co": [10, 22], "monitor": [10, 20], "routin": [10, 14], "page": [10, 16, 17], "increment": 11, "minor": [11, 22], "plan": 11, "On": 11, "hand": [11, 13], "platform": [11, 16, 18, 22], "linux_distribut": 11, "window": 11, "understood": 11, "initi": [11, 22], "enter": 11, "stabl": [11, 12, 15], "prematur": [11, 15], "mask": [4, 11, 12, 15], "beta": 11, "made": [11, 13, 14, 16, 21], "regress": 11, "readi": [11, 12, 15], "dai": 11, "inconsist": [11, 15, 22], "mark": [11, 15, 19, 22], "architectur": [4, 11], "clear": [11, 15], "depenend": 11, "repeatedli": 11, "ask": [11, 15], "push": [11, 12, 15], "forward": 11, "eventu": [11, 12], "becom": [11, 16], "slowli": [11, 15], "discontinu": 11, "next": [11, 12, 15, 19], "june": 11, "juli": 11, "year": 11, "predict": [11, 21], "nears": 11, "great": 11, "obsolet": [11, 13], "feasibl": [4, 11, 15], "vulner": 11, "break": [11, 15, 16], "revert": 11, "enum": 11, "urlsplit": 11, "secur": [11, 12], "abi": [11, 18], "bugfix": 11, "occasion": 11, "remain": [4, 11, 12, 13], "contrari": [11, 16], "hold": [11, 16], "subslot": 11, "fortun": 11, "late": 11, "hous": 11, "rpython": 11, "lot": [11, 15], "good": [11, 15, 17, 19, 22], "gc": 11, "jython": 11, "java": 11, "stand": 11, "alon": 11, "bidirect": 11, "interact": 11, "slow": 11, "pace": 11, "ironpython": 11, "brython": 11, "web": 11, "javascript": 11, "dom": 11, "micropython": 11, "microcontrol": 11, "down": 11, "hardwar": 11, "tauthon": 11, "accompani": 11, "nor": [11, 17, 20], "ideal": [11, 15, 22], "funcsig": 11, "signatur": [11, 16], "afterward": [11, 14, 15], "later": 11, "lzma": 11, "compet": 11, "amount": [11, 12, 22], "ipaddress": 11, "drop": [11, 16], "box": [11, 13], "hexvers": [11, 22], "0x03030000": 11, "trolliu": 11, "asyncio": [11, 19, 22], "nativ": 11, "workflow": 12, "clone": 12, "remot": [12, 15, 22], "fetch": [5, 10, 12], "rebas": 12, "v3": 12, "cherri": 12, "upload": 12, "mkdir": 12, "scp": 12, "precompil": [12, 20], "unusu": 12, "structur": [12, 22], "ex": 12, "technic": [12, 18], "docker": 12, "binpkg": 12, "diff": 12, "mgorni": 12, "desc": 12, "_python_all_impl": 12, "_python_verify_pattern": 12, "_python_set_impl": 12, "_python_impl_match": 12, "python_pkg_dep": 12, "gpyutil": [12, 15], "circular": 12, "eas": [12, 15], "temporarili": [12, 13], "python3_11": 12, "20": [12, 18], "pwd": 12, "round": 12, "signific": [4, 12, 19], "remaind": 12, "pydant": 12, "epytest_deselect": [4, 12, 19], "test_comparison": 12, "test_close_to_now_": 12, "lenient": 12, "deselect": [4, 12, 19, 22], "unblock": 12, "100": 12, "emerg": [12, 20], "previous": 12, "reinstal": 12, "batch": [12, 20], "focus": 12, "reenabl": [12, 19], "face": [12, 22], "goe": [12, 22], "unbundl": 12, "obligatori": [12, 15], "baselin": 12, "ones": 12, "chosen": 12, "fewest": 12, "vendor": [12, 13], "februari": 13, "gross": 13, "serv": 13, "placehold": 13, "transit": [13, 15], "period": [13, 15], "ban": 13, "python_multi_usedep": 13, "know": [13, 16, 22], "given": 13, "repoman": 13, "pkgcheck": [13, 15], "tell": 13, "chose": 13, "reorder": 13, "desir": [13, 16, 20, 22], "scan": [13, 15], "unmatch": 13, "trial": 13, "stuff": 13, "thing": [13, 17, 19], "privat": 13, "python_export": 13, "python_wrapper_setup": 13, "python_gen_usedep": 13, "mydistutilsarg": 13, "renam": [13, 15, 16, 18, 20], "cleanup": 13, "python_gen": 13, "march": 13, "python_get": 13, "python_includedir": 13, "python_libpath": 13, "dpython3_include_dir": 13, "dpython3_librari": 13, "sundri": 13, "stop": [13, 16, 18], "realli": [13, 15, 19, 22], "ugli": 13, "sole": 13, "uppercas": [13, 15, 16, 18], "fourth": 13, "cruft": 13, "short": [13, 19], "evalu": 13, "januari": 13, "safe": 13, "streamlin": 13, "inde": 13, "foundat": 14, "fionet": 14, "psql": 14, "cach": 14, "sourceforg": [14, 21], "replic": 14, "tgz": 14, "libcangji": 14, "cangjian": 14, "i18n": 14, "eautoreconf": [14, 16], "econf_sourc": 14, "la": 14, "multibuild": 14, "unnecessari": [14, 15, 21, 22], "libtool": 14, "buggi": 14, "canva": 14, "widget": 14, "gtk": 14, "cairo": 14, "2d": 14, "draw": 14, "goocanva": 14, "subdir": 14, "am": 14, "gnome2_src_prepar": 14, "gnome2_src_configur": 14, "gnome2_src_instal": 14, "sub_instal": 14, "gi": 14, "_overridesdir": 14, "outsid": [14, 21], "qemu": 14, "kernel": 14, "machin": [14, 20], "userland": 14, "kvm": 14, "qemu_python_instal": 14, "vmxcap": 14, "qmp": 14, "ga": 14, "reach": 15, "eol": [15, 16], "proactiv": 15, "anticip": 15, "soon": 15, "wide": [15, 22], "revis": [12, 15], "newli": 15, "risk": 15, "team": 15, "manpow": 15, "member": 15, "u": 15, "gemato": 15, "carri": 15, "histori": 15, "rss": 15, "comprehens": 15, "opml": 15, "followup": 15, "track": [12, 15], "mail": [12, 15], "suscept": 15, "confus": [15, 19], "sync": [15, 19], "conflict": 15, "cx": 15, "freez": 15, "patchelf": 15, "openapi": 15, "spec": [15, 16], "60": 15, "59": 15, "62": 15, "pin": 15, "httpcore": 15, "15": 15, "httpx": 15, "23": [15, 22], "sphobjinv": 15, "28": 15, "date": [15, 17, 20, 22], "pend": 15, "pip3": 15, "dirti": 15, "equal": [15, 22], "filetyp": 15, "mercuri": 15, "node": 15, "semver": 15, "pyqt": 15, "builder": 15, "pyqt5": 15, "pyqtwebengin": 15, "rout": 15, "dev20220522": 15, "selenium": 15, "141": 15, "sphinxcontrib": 15, "websupport": 15, "dev20220515": 15, "uri": [15, 18], "watchfil": 15, "watchgod": 15, "dev0": 15, "sign": [12, 15], "tag_build": 15, "compar": [15, 16], "tempest": 15, "oslo": 15, "stestr": 15, "versioningit": 15, "wstool": 15, "think": 16, "ve": 16, "hit": 16, "me": 16, "18_p9": 16, "13_p3": 16, "10_p3": 16, "9_p2": 16, "4_p1": 16, "urllib": 16, "pars": 16, "exploit": 16, "verbatim": 16, "worm": 16, "danger": 16, "worst": [16, 22], "unpars": 16, "django": [16, 22], "pr": 16, "14349": 16, "impact": [16, 20], "urlpars": 16, "nurl": 16, "parseresult": 16, "scheme": 16, "netloc": 16, "param": [16, 19], "badurl": 16, "what": 16, "attributeerror": 16, "492": 16, "decor": [16, 22], "async": [16, 19], "def": [16, 19, 22], "yield": 16, "await": 16, "sleep": 16, "callabl": 16, "mostli": [16, 17], "getfullargspec": 16, "p1": 16, "p2": 16, "kp3": 16, "kp4": 16, "kp5": 16, "arg": 16, "kwarg": 16, "argspec": 16, "vararg": 16, "fullargspec": 16, "varkw": 16, "kwonlyarg": 16, "kwonlydefault": 16, "annot": 16, "tupl": 16, "int": 16, "str": 16, "float": 16, "k6": 16, "k7": 16, "k8": 16, "One": [16, 22], "prototyp": 16, "bar": 16, "pretti": 16, "stringif": 16, "automak": 16, "16": 16, "exec_prefix": 16, "met": 16, "pkg_config_path": 16, "python_cflag": 16, "python_lib": 16, "man": 16, "autoreconf": 16, "throw": 16, "get_python_inc": 16, "get_path": 16, "platinclud": 16, "get_python_lib": 16, "purelib": 16, "platlib": 16, "platstdlib": 16, "todai": 16, "encodebyt": 16, "decodebyt": 16, "ought": 16, "unicod": 16, "version_info": 16, "b64_encodebyt": 16, "b64encod": 16, "b64decod": 16, "insert": 16, "newlin": 16, "length": 16, "until": 16, "emb": 16, "lpython3": 16, "7m": 16, "among": 17, "beyond": 17, "reliabl": [17, 22], "deep": 17, "beginn": 17, "peopl": 17, "suboptim": 17, "improp": 17, "fill": 17, "gap": 17, "welcom": 17, "whole": [4, 19, 22], "parametr": 19, "epytest_ignor": 19, "test_client": 19, "test_gener": 19, "test_filenam": 19, "test_transport": 19, "test_transport_work": 19, "eventlet": 19, "test_contextvar": 19, "test_leak": 19, "might": 19, "intent": 19, "Not": 19, "collid": [19, 22], "instabl": 19, "unstabl": 19, "discret": 19, "decid": 19, "justifi": 19, "semi": 19, "random": 19, "multiprocess": 19, "finish": 19, "01": 19, "chanc": 19, "experienc": 19, "insuffici": 19, "nest": 19, "envvar": 19, "pytest_disable_plugin_autoload": 19, "pytest_plugin": 19, "comma": 19, "looponfail": 19, "pytest_fork": 19, "flaki": [19, 22], "rerunfailur": 19, "supposedli": 19, "twice": 19, "_pytest": [19, 22], "pathlib": [19, 22], "posixpath": 19, "signifi": 19, "event_loop": 19, "freezer": 19, "mocker": 19, "captur": [19, 22], "summari": 19, "asgiref": 19, "135": 19, "test_loc": 19, "test_sync": 19, "test_sync_contextvar": 19, "deprecationwarn": 19, "main_event_loop": 19, "get_event_loop": 19, "filterwarn": 19, "fatal": [19, 22], "_____________________": 19, "______________________": 19, "577": 19, "asgitest": 19, "testcas": 19, "583": 19, "test_wrapped_case_is_collect": 19, "interrupt": 19, "world": 19, "elog": 20, "portage_elog_class": 20, "optim": 20, "size": 20, "oo": 20, "docstr": 20, "store": 20, "disk": [20, 22], "permiss": 20, "uninstal": 20, "violat": 20, "auxiliari": 20, "readabl": [20, 22], "trimesh": 20, "__pycache__": 20, "blender_boolean": 20, "310": 20, "opt": 20, "notic": 20, "blueman": 20, "constant": 20, "deviceclass": 20, "sdp": 20, "tmpl": 20, "pair": 20, "docbook": 20, "35": 20, "36": 20, "plot": 21, "voacap": 21, "propag": 21, "qsl": 21, "hz1jw": 21, "pythonprop": 21, "basemap": 21, "gtk2": 21, "doubl": 21, "energi": 21, "yoda": 21, "hepforg": 21, "use_en": 21, "pyext": 21, "extra_opt": 21, "give": 21, "sound": 21, "signal": [21, 22], "composit": 21, "csound": 21, "fordfrog": 21, "dbuild_python_interfac": 21, "dbuild_python_opcod": 21, "superset": 21, "arab": 21, "arabey": 21, "duali": 21, "pyduali": 21, "dict2db": 21, "trans2arab": 21, "arabic2tran": 21, "domain": 22, "firstli": 22, "idea": [15, 22], "nosetest": 22, "secondli": 22, "strict": 22, "thirdli": 22, "wholli": 22, "spew": 22, "seem": 22, "ceas": 22, "downstream": 22, "convinc": [4, 22], "preced": 22, "area": 22, "____________________": 22, "systemd": 22, "test_login": 22, "234": 22, "hint": [12, 22], "578": 22, "_importtestmodul": 22, "mod": 22, "import_path": 22, "fspath": 22, "importmod": 22, "524": 22, "import_modul": 22, "module_nam": 22, "127": 22, "_bootstrap": 22, "_gcd_import": 22, "frozen": 22, "1014": 22, "991": 22, "_find_and_load": 22, "975": 22, "_find_and_load_unlock": 22, "671": 22, "_load_unlock": 22, "rewrit": 22, "170": 22, "exec_modul": 22, "__dict__": 22, "login": 22, "r2": 22, "discov": 22, "pyarg": 22, "guess": 22, "quick": 22, "mayb": 22, "eunittest": 22, "aris": 22, "confirm": 22, "whom": 22, "myself": 22, "subtl": 22, "lead": 22, "But": 22, "bewar": 22, "unexpectedli": 22, "test_start_params_bug": 22, "xfail": 22, "statsmodel": 22, "tsa": 22, "test_arima": 22, "horrend": 22, "space": 22, "mayhem": 22, "5a": 22, "test_null_byt": 22, "skipif": 22, "0x03000000": 22, "unconditioanlli": 22, "test_babel_with_language_": 22, "test_build_latex": 22, "test_polyglossia_with_language_": 22, "altogeth": 22, "replai": 22, "devmanu": 22, "explan": 22, "connect": 22, "pygit2": 22, "no_network": 22, "properti": 22, "test_network": 22, "allow_test": 22, "unclear": 22, "backtrac": 22, "pluggi": 22, "cachedir": 22, "pytest_cach": 22, "rootdir": 22, "var": 22, "sabyenc": 22, "configfil": 22, "item": 22, "test_decod": 22, "test_crc_pickl": 22, "54": 22, "test_empty_size_pickl": 22, "0x00007f748bc47740": 22, "testsupport": 22, "74": 22, "sabyenc3_wrapp": 22, "119": 22, "180": 22, "pytest_pyfunc_cal": 22, "caller": 22, "187": 22, "_multical": 22, "temp": 22, "2934": 22, "66": 22, "dump": [16, 22], "vv": 22, "34": 22, "timeout": 22, "25": 22, "sabyenc3": 22, "596": 22, "decode_usenet_chunk": 22, "pybytearray_check": 22, "pylist_getitem": 22, "py_input_list": 22, "lp": 22, "0x00007fb5db746740": 22, "73": 22, "117": 22, "87": 22, "lambda": 22, "runpi": 22, "85": 22, "_run_cod": 22, "193": 22, "_run_module_as_main": 22, "reproduc": 22, "ubuntu": 22, "dndebug": 22, "leak": 22, "o0": 22, "isort": 22, "distutils_pep517_instal": 22, "destin": 22, "cp": 22, "pushd": 22, "null": 22, "popd": 22, "novemb": 16, "tomllib": [], "w": 18, "tomlkit": 16, "edit": 16, "wherea": [16, 18], "input": 16, "tomldecodeerror": 16, "d1": 16, "in1": 16, "in2": 16, "d2": 16, "d3": 16, "rb": 16, "insist": 16, "incompatibilit": 16, "consider": 16, "tomli_w": 16, "wb": 16, "trustm": 4, "test_request": 4, "testrequest": 4, "test_https_warn": 4, "outer": 4, "tl": 4, "pull": 4, "python_vers": 16, "pycargoebuild": 5, "obsolesc": 12, "announc": 12, "proce": 12, "progress": 12, "show": 12, "effort": 12, "rite": [], "_python_historical_impl": 12, "statu": 12, "dead": 12, "polici": 10, "live": [], "2023": [], "conform": 15, "publish": 15, "hyphen": 15, "dot": [15, 18], "crucial": 15, "bugzilla": 15, "illustr": 15, "flask": [15, 18], "babel": 15, "github3": 15, "sphinx_pytest": 15, "redirect": 15, "mismatch": [], "charact": [15, 18], "canon": [15, 18], "id": 15, "unnot": [], "bear": 15, "mind": 15, "doubt": 15, "reserv": 15, "503": 15, "insensit": 15, "letter": [15, 18], "turn": 15, "lowercas": [15, 18], "titl": [15, 18], "423": 15, "incomplet": 5, "strai": 10, "changelog": 20, "wait": 20, "qawarn": 20, "box_logo": [], "png": [], "test_": [], "ref": [], "buildapi": 5, "masonri": 5, "build_meta": 5, "__legacy__": 5, "small": 18, "adapt": 18, "overwritten": 18, "execnet": 18, "c0459b92bc4a42b08281e69b8802d24c5d3415d4": 18, "pypi_sdist_url": 18, "markup": 18, "prebuilt": 18, "pypi_wheel_url": 18, "aid": 18, "ensurepip": 18, "pypi_wheel_filenam": 18, "synopsi": 18, "hash": 18, "2e": 18, "36e46173a288c1c40853ffdb712c67e0e022df0e1ce50b7b1b50066b74d4": 18, "inconveni": 18, "settl": 18, "pytag": 18, "625": 18, "440": 18, "transform": 18, "contigu": 18, "babelex": 18, "flask_babelex": 18, "predat": 18, "minu": 18, "abitag": 18, "platformtag": 18, "cp39": 18, "427": 18, "alphanumer": 18, "left": 18}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"python": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22], "ani": [0, 8], "r1": [0, 2, 5, 6, 7, 8, 13, 14, 21], "build": [0, 1, 2, 5, 6, 7, 8, 12, 13, 14, 21], "time": [0, 2, 7, 8, 14, 21], "depend": [0, 1, 2, 4, 5, 8, 14, 19, 21, 22], "basic": [0, 1, 5, 21, 22], "us": [0, 2, 3, 4, 5, 6, 7, 8, 14, 19, 21, 22], "uncondit": [0, 21], "condit": [0, 2, 4, 5, 14, 21], "addit": [0, 5, 14], "multipl": [0, 11, 21], "set": [0, 8], "common": [1, 9], "python_compat": 1, "python_dep": 1, "python_required_us": 1, "environ": [1, 22], "packag": [1, 2, 3, 4, 5, 6, 7, 12, 14, 15, 16, 18, 20, 21, 22], "The": [1, 5], "most": 1, "type": 1, "find": 1, "list": [1, 15, 16], "from": [1, 13], "system": [1, 2, 5, 6, 12], "integr": [2, 5], "written": 2, "meson": 2, "scon": 2, "extra": [2, 22], "singl": [2, 5, 7, 13, 21], "impl": [2, 7, 14, 21], "instal": [2, 5, 6, 9, 14, 15, 20, 21, 22], "pure": [2, 14], "multi": [2, 7, 14], "hybrid": [2, 21], "waf": 2, "advanc": [3, 4], "concept": [3, 6], "namespac": 3, "hierarch": 3, "structur": 3, "determin": 3, "whether": 3, "ar": [3, 20], "ad": [3, 12, 15, 22], "new": [3, 12, 15], "gentoo": [3, 10], "legaci": [3, 5, 6, 18], "request": 4, "flag": 4, "interpret": [4, 8, 11, 12], "version": [4, 11, 15, 18], "cffi": 4, "greenlet": 4, "distutil": [5, 6, 7, 8, 16], "standard": 5, "pep": [5, 13, 20, 22], "517": [5, 13, 20, 22], "mode": [5, 22], "sourc": [5, 6, 18], "archiv": [5, 18], "variant": 5, "deprec": [16, 20], "backend": [5, 20], "flit": 20, "buildapi": 20, "poetri": 20, "masonri": 20, "api": [8, 20], "setuptool": [6, 20], "build_meta": 20, "__legacy__": 20, "setuptools_scm": 5, "flit_scm": 5, "hatch": 5, "vc": 5, "snapshot": 5, "cython": 5, "parallel": [5, 19], "race": 5, "sub": 5, "phase": [5, 22], "function": [5, 9], "python_prepar": 5, "python_configur": 5, "python_compil": 5, "python_test": 5, "python_instal": 5, "pass": 5, "argument": [5, 19], "setup": 5, "py": 5, "call": 5, "custom": [5, 18, 22], "command": 5, "prevent": [], "test": [4, 5, 6, 15, 19, 20, 22], "directori": [], "being": [], "enabl": 5, "distutils_enable_test": 22, "more": 22, "befor": [6, 22], "run": [19, 22], "undesir": 22, "pytest": [19, 22], "virtualx": 22, "document": [5, 20], "via": [5, 15], "sphinx": 5, "autodoc": 5, "extens": [5, 22], "without": [5, 16], "option": [4, 5], "usag": [5, 8], "rust": [4, 5], "cargo": 5, "manual": [5, 14, 21], "build_dir": 5, "d": 5, "non": 5, "differ": [6, 8], "variat": 6, "distutils_use_setuptool": 6, "entri": 6, "point": 6, "other": [6, 19], "runtim": [6, 7, 21], "pyproject": 6, "toml": [6, 16], "base": [6, 16, 19], "project": [6, 15], "In": 6, "v": [6, 7], "out": 6, "choos": [7, 22], "between": 7, "eclass": [7, 12, 18], "overview": 7, "first": 7, "expert": [8, 19], "partial": 8, "restrict": 8, "implement": [8, 9, 11, 12, 15], "python_setup": 8, "disjoint": 8, "regular": 8, "combin": 8, "helper": [9, 18], "fix": 9, "shebang": 9, "script": 9, "byte": [9, 20], "compil": [9, 20], "modul": [9, 20], "queri": 9, "inform": 9, "guid": [10, 13], "content": 10, "indic": 10, "tabl": 10, "life": 11, "cycl": 11, "stabil": 11, "guarante": 11, "altern": 11, "support": [11, 15], "backport": 11, "mainten": [12, 15], "note": 12, "specif": 12, "cpython": 12, "patchset": 12, "pypi": [12, 15, 18, 22], "profil": 12, "chang": [12, 16], "port": [12, 15, 16], "initi": 12, "bootstrap": 12, "migrat": 13, "old": 13, "python_usedep": 13, "syntax": 13, "eapi": [13, 15], "7": 13, "8": [13, 16], "autotool": 14, "2": 15, "which": 15, "exist": 15, "can": 15, "co": 15, "maintain": 15, "monitor": 15, "releas": 15, "feed": 15, "check": [15, 20], "pip": 15, "repologi": 15, "routin": 15, "outdat": 15, "gpy": 15, "verifi": 15, "dep": 15, "tip": 16, "retroact": 16, "bpo43882": 16, "urlsplit": 16, "now": 16, "strip": 16, "lf": 16, "cr": 16, "ht": 16, "charact": 16, "3": 16, "11": 16, "gener": [16, 18], "coroutin": 16, "remov": [12, 16], "asyncio": 16, "inspect": 16, "getargspec": 16, "formatargspec": 16, "10": 16, "configur": 16, "No": 16, "1": 16, "found": [16, 19], "sysconfig": 16, "9": 16, "base64": 16, "encodestr": 16, "decodestr": 16, "config": 16, "pkg": 16, "longer": 16, "librari": 16, "default": 16, "prefac": 17, "recip": 19, "skip": [19, 22], "marker": 19, "path": 19, "name": [15, 18, 19], "avoid": 19, "runner": [19, 22], "xdist": 19, "plugin": 19, "explicitli": 19, "disabl": 19, "automat": 19, "autoload": 19, "entir": 19, "typeerror": 19, "_make_test_flaki": 19, "got": 19, "an": 19, "unexpect": 19, "keyword": 19, "rerun": 19, "importpathmismatcherror": 19, "fixtur": 19, "warn": [19, 20], "qa": 20, "improv": 20, "report": 20, "portag": 20, "bytecod": 20, "relat": 20, "strai": 20, "A": 21, "resolv": [], "suit": 4, "problem": [], "correct": 22, "miss": 22, "file": [20, 22], "importerror": 22, "c": 22, "checklist": 22, "deal": 22, "failur": 22, "problemat": 22, "requir": 22, "internet": 22, "access": 22, "abort": 22, "due": 22, "assert": 22, "awai": [], "introduct": [], "tomllib": 16, "tomli": 16, "fallback": 16, "w": 16, "replac": 16, "prepar": 12, "polici": 15, "top": 20, "level": 20, "site": 20, "exampl": 20, "why": 22, "i": 22, "import": 22, "case": 22, "match": 18, "url": 18, "fetch": 18, "wheel": 18, "modern": 18, "distribut": 18, "filenam": 18, "binari": 18}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"python-any-r1 \u2014 build-time dependency": [[0, "python-any-r1-build-time-dependency"]], "Basic use for unconditional Python": [[0, "basic-use-for-unconditional-python"], [21, "basic-use-for-unconditional-python"]], "Dependencies": [[0, "dependencies"], [14, "dependencies"], [21, "dependencies"], [5, "dependencies"]], "Conditional Python use": [[0, "conditional-python-use"], [14, "conditional-python-use"], [21, "conditional-python-use"]], "Additional conditional dependencies": [[0, "additional-conditional-dependencies"]], "Multiple sets of conditional dependencies": [[0, "multiple-sets-of-conditional-dependencies"]], "Common basics": [[1, "common-basics"]], "PYTHON_COMPAT": [[1, "python-compat"]], "PYTHON_DEPS and PYTHON_REQUIRED_USE": [[1, "python-deps-and-python-required-use"]], "Python environment": [[1, "python-environment"]], "Dependencies in Python packages": [[1, "dependencies-in-python-packages"]], "The most common dependency types": [[1, "the-most-common-dependency-types"]], "Finding dependency lists from build systems": [[1, "finding-dependency-lists-from-build-systems"]], "Integration with build systems written in Python": [[2, "integration-with-build-systems-written-in-python"]], "Meson": [[2, "meson"]], "SCons": [[2, "scons"]], "Build-time use with no extra dependencies": [[2, "build-time-use-with-no-extra-dependencies"]], "Build-time use with extra dependencies": [[2, "build-time-use-with-extra-dependencies"]], "Single-impl package": [[2, "single-impl-package"], [2, "id1"]], "Single-impl package with conditional Python install": [[2, "single-impl-package-with-conditional-python-install"]], "Pure Python multi-impl package": [[2, "pure-python-multi-impl-package"]], "Hybrid python-r1 + SCons package": [[2, "hybrid-python-r1-scons-package"]], "waf": [[2, "waf"]], "Build-time use": [[2, "build-time-use"]], "Advanced concepts": [[3, "advanced-concepts"]], "Namespace packages": [[3, "namespace-packages"]], "Hierarchical package structure": [[3, "hierarchical-package-structure"]], "Namespace package structure": [[3, "namespace-package-structure"]], "Determining whether namespaces are used": [[3, "determining-whether-namespaces-are-used"]], "Adding new namespace packages to Gentoo": [[3, "adding-new-namespace-packages-to-gentoo"]], "Legacy namespace packages in Gentoo": [[3, "legacy-namespace-packages-in-gentoo"]], "Advanced dependencies": [[4, "advanced-dependencies"]], "Requesting USE flags on the Python interpreter": [[4, "requesting-use-flags-on-the-python-interpreter"]], "Dependencies conditional to Python version": [[4, "dependencies-conditional-to-python-version"]], "Dependencies on CFFI and greenlet": [[4, "dependencies-on-cffi-and-greenlet"]], "Optional test suite dependencies on Rust packages": [[4, "optional-test-suite-dependencies-on-rust-packages"]], "distutils-r1 legacy concepts": [[6, "distutils-r1-legacy-concepts"]], "Different build system variations": [[6, "different-build-system-variations"]], "DISTUTILS_USE_SETUPTOOLS": [[6, "distutils-use-setuptools"]], "distutils and setuptools build systems": [[6, "distutils-and-setuptools-build-systems"]], "Setuptools\u2019 entry points": [[6, "setuptools-entry-points"]], "Other runtime uses of setuptools": [[6, "other-runtime-uses-of-setuptools"]], "pyproject.toml-based projects": [[6, "pyproject-toml-based-projects"]], "In-source vs out-of-source builds": [[6, "in-source-vs-out-of-source-builds"]], "Installing the package before testing": [[6, "installing-the-package-before-testing"]], "Choosing between Python eclasses": [[7, "choosing-between-python-eclasses"]], "Overview": [[7, "overview"]], "Build time vs runtime use": [[7, "build-time-vs-runtime-use"]], "Single-impl vs multi-impl": [[7, "single-impl-vs-multi-impl"]], "Python-first packages (distutils-r1 eclass)": [[7, "python-first-packages-distutils-r1-eclass"]], "Expert python-r1 usage": [[8, "expert-python-r1-usage"]], "Partially restricting Python implementation": [[8, "partially-restricting-python-implementation"]], "Restricting interpreters for python_setup": [[8, "restricting-interpreters-for-python-setup"]], "Disjoint build dependencies (any-r1 API)": [[8, "disjoint-build-dependencies-any-r1-api"]], "Using regular python-r1 API": [[8, "using-regular-python-r1-api"]], "Using any-r1 API with python-r1": [[8, "using-any-r1-api-with-python-r1"]], "Different sets of build-time dependencies": [[8, "different-sets-of-build-time-dependencies"]], "Using any-r1 API with distutils-r1": [[8, "using-any-r1-api-with-distutils-r1"]], "Combining any-r1 API with implementation restrictions": [[8, "combining-any-r1-api-with-implementation-restrictions"]], "Common helper functions": [[9, "common-helper-functions"]], "Install helpers": [[9, "install-helpers"]], "Fixing shebangs on installed scripts": [[9, "fixing-shebangs-on-installed-scripts"]], "Byte-compiling Python modules": [[9, "byte-compiling-python-modules"]], "Querying the implementation information": [[9, "querying-the-implementation-information"]], "Python interpreters": [[11, "python-interpreters"]], "Versions of Python": [[11, "versions-of-python"]], "Life cycle of a Python implementation": [[11, "life-cycle-of-a-python-implementation"]], "Stability guarantees of Python implementations": [[11, "stability-guarantees-of-python-implementations"]], "Alternative Python implementations": [[11, "alternative-python-implementations"]], "Support for multiple implementations": [[11, "support-for-multiple-implementations"]], "Backports": [[11, "backports"]], "Migration guides": [[13, "migration-guides"]], "Migrating from old PYTHON_USEDEP syntax in python-single-r1": [[13, "migrating-from-old-python-usedep-syntax-in-python-single-r1"]], "Migrating from EAPI 7 to EAPI 8": [[13, "migrating-from-eapi-7-to-eapi-8"]], "Migrating to PEP 517 builds": [[13, "migrating-to-pep-517-builds"]], "python-r1 \u2014 multi-impl packages": [[14, "python-r1-multi-impl-packages"]], "Manual install": [[14, "manual-install"], [21, "manual-install"]], "Pure Python autotools package": [[14, "pure-python-autotools-package"]], "Additional build-time Python use": [[14, "additional-build-time-python-use"]], "Porting tips": [[16, "porting-tips"]], "Retroactive changes": [[16, "retroactive-changes"]], "bpo43882: urlsplit now strips LF, CR and HT characters": [[16, "bpo43882-urlsplit-now-strips-lf-cr-and-ht-characters"]], "Python 3.11": [[16, "python-3-11"]], "Generator-based coroutine removal (asyncio.coroutine)": [[16, "generator-based-coroutine-removal-asyncio-coroutine"]], "inspect.getargspec() and inspect.formatargspec() removal": [[16, "inspect-getargspec-and-inspect-formatargspec-removal"]], "Python 3.10": [[16, "python-3-10"]], "configure: No package \u2018python-3.1\u2019 found": [[16, "configure-no-package-python-3-1-found"]], "distutils.sysconfig deprecation": [[16, "distutils-sysconfig-deprecation"]], "Python 3.9": [[16, "python-3-9"]], "base64.encodestring / base64.decodestring removal": [[16, "base64-encodestring-base64-decodestring-removal"]], "Python 3.8": [[16, "python-3-8"]], "python-config and pkg-config no longer list Python library by default": [[16, "python-config-and-pkg-config-no-longer-list-python-library-by-default"]], "Replacing the toml package": [[16, "replacing-the-toml-package"]], "Porting to tomllib/tomli without toml fallback": [[16, "porting-to-tomllib-tomli-without-toml-fallback"]], "Porting to tomllib/tomli with toml fallback": [[16, "porting-to-tomllib-tomli-with-toml-fallback"]], "Porting to tomli-w": [[16, "porting-to-tomli-w"]], "Preface": [[17, "preface"]], "pytest recipes": [[19, "pytest-recipes"]], "Skipping tests based on markers": [[19, "skipping-tests-based-on-markers"]], "Skipping tests based on paths/names": [[19, "skipping-tests-based-on-paths-names"]], "Avoiding the dependency on pytest-runner": [[19, "avoiding-the-dependency-on-pytest-runner"]], "Using pytest-xdist to run tests in parallel": [[19, "using-pytest-xdist-to-run-tests-in-parallel"]], "Avoiding dependencies on other pytest plugins": [[19, "avoiding-dependencies-on-other-pytest-plugins"]], "Explicitly disabling automatic pytest plugins": [[19, "explicitly-disabling-automatic-pytest-plugins"]], "Expert: disabling plugin autoloading entirely": [[19, "expert-disabling-plugin-autoloading-entirely"]], "TypeError: _make_test_flaky() got an unexpected keyword argument \u2018reruns\u2019": [[19, "typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns"]], "ImportPathMismatchError": [[19, "importpathmismatcherror"]], "fixture \u2018\u2026\u2019 not found": [[19, "fixture-not-found"]], "Warnings": [[19, "warnings"]], "python-single-r1 \u2014 single-impl packages": [[21, "python-single-r1-single-impl-packages"]], "A hybrid: build-time + conditional runtime": [[21, "a-hybrid-build-time-conditional-runtime"]], "Multiple USE conditions": [[21, "multiple-use-conditions"]], "Maintenance of Python implementations": [[12, "maintenance-of-python-implementations"]], "Notes specific to Python interpreters": [[12, "notes-specific-to-python-interpreters"]], "CPython patchsets": [[12, "cpython-patchsets"]], "PyPy": [[12, "pypy"]], "Adding a new Python implementation": [[12, "adding-a-new-python-implementation"]], "Eclass and profile changes": [[12, "eclass-and-profile-changes"], [12, "id1"]], "Porting initial packages": [[12, "porting-initial-packages"]], "Removing a Python implementation": [[12, "removing-a-python-implementation"]], "Preparation": [[12, "preparation"]], "Python build system bootstrap": [[12, "python-build-system-bootstrap"]], "Python package maintenance": [[15, "python-package-maintenance"]], "Package name policy": [[15, "package-name-policy"]], "Support for Python 2": [[15, "support-for-python-2"]], "Which implementations to test new packages for?": [[15, "which-implementations-to-test-new-packages-for"]], "Adding new Python implementations to existing packages": [[15, "adding-new-python-implementations-to-existing-packages"]], "Which packages can be (co-)maintained by the Python project?": [[15, "which-packages-can-be-co-maintained-by-the-python-project"]], "Porting packages to a new EAPI": [[15, "porting-packages-to-a-new-eapi"]], "Monitoring new package versions": [[15, "monitoring-new-package-versions"]], "PyPI release feeds": [[15, "pypi-release-feeds"]], "Checking via pip": [[15, "checking-via-pip"]], "Repology": [[15, "repology"]], "Routine checks on installed Python packages": [[15, "routine-checks-on-installed-python-packages"]], "pip check": [[15, "pip-check"]], "pip list --outdated": [[15, "pip-list-outdated"]], "gpy-verify-deps": [[15, "gpy-verify-deps"]], "Tests in Python packages": [[22, "tests-in-python-packages"]], "Why is running tests important?": [[22, "why-is-running-tests-important"]], "Using distutils_enable_tests": [[22, "using-distutils-enable-tests"]], "Basic use case": [[22, "basic-use-case"]], "Adding more test dependencies": [[22, "adding-more-test-dependencies"]], "Installing the package before running tests": [[22, "installing-the-package-before-running-tests"]], "Customizing the test phase": [[22, "customizing-the-test-phase"]], "Customizing the test phase for pytest": [[22, "customizing-the-test-phase-for-pytest"]], "Running tests with virtualx": [[22, "running-tests-with-virtualx"]], "Choosing the correct test runner": [[22, "choosing-the-correct-test-runner"]], "Undesirable test dependencies": [[22, "undesirable-test-dependencies"]], "Missing test files in PyPI packages": [[22, "missing-test-files-in-pypi-packages"]], "ImportErrors for C extensions": [[22, "importerrors-for-c-extensions"]], "Checklist for dealing with test failures": [[22, "checklist-for-dealing-with-test-failures"]], "Skipping problematic tests": [[22, "skipping-problematic-tests"]], "Tests requiring Internet access": [[22, "tests-requiring-internet-access"]], "Tests aborting (due to assertions)": [[22, "tests-aborting-due-to-assertions"]], "Installing extra dependencies in test environment (PEP 517 mode)": [[22, "installing-extra-dependencies-in-test-environment-pep-517-mode"]], "QA checks and warnings": [[20, "qa-checks-and-warnings"]], "Improved QA warning reporting in Portage": [[20, "improved-qa-warning-reporting-in-portage"]], "Compiled bytecode-related warnings": [[20, "compiled-bytecode-related-warnings"]], "Modules are not byte-compiled": [[20, "modules-are-not-byte-compiled"]], "Stray compiled bytecode": [[20, "stray-compiled-bytecode"]], "Stray top-level files in site-packages": [[20, "stray-top-level-files-in-site-packages"]], "Example or test packages installed by setuptools": [[20, "example-or-test-packages-installed-by-setuptools"]], "Documentation files installed by Poetry": [[20, "documentation-files-installed-by-poetry"]], "Deprecated PEP 517 backends": [[20, "deprecated-pep-517-backends"]], "flit.buildapi": [[20, "flit-buildapi"]], "poetry.masonry.api": [[20, "poetry-masonry-api"]], "setuptools.build_meta:__legacy__": [[20, "setuptools-build-meta-legacy"]], "Gentoo Python Guide": [[10, "gentoo-python-guide"]], "Contents:": [[10, null]], "Indices and tables": [[10, "indices-and-tables"]], "distutils-r1 \u2014 standard Python build systems": [[5, "distutils-r1-standard-python-build-systems"]], "The PEP 517 and legacy modes": [[5, "the-pep-517-and-legacy-modes"]], "Basic use (PEP 517 mode)": [[5, "basic-use-pep-517-mode"]], "Source archives": [[5, "source-archives"]], "python-single-r1 variant": [[5, "python-single-r1-variant"]], "PEP 517 build systems": [[5, "pep-517-build-systems"]], "setuptools_scm (flit_scm, hatch-vcs) and snapshots": [[5, "setuptools-scm-flit-scm-hatch-vcs-and-snapshots"]], "Packages using Cython": [[5, "packages-using-cython"]], "Parallel build race conditions": [[5, "parallel-build-race-conditions"]], "Sub-phase functions": [[5, "sub-phase-functions"]], "python_prepare": [[5, "python-prepare"]], "python_configure": [[5, "python-configure"]], "python_compile": [[5, "python-compile"]], "python_test": [[5, "python-test"]], "python_install": [[5, "python-install"]], "Passing arguments to setup.py": [[5, "passing-arguments-to-setup-py"]], "Calling custom setup.py commands": [[5, "calling-custom-setup-py-commands"]], "Enabling tests": [[5, "enabling-tests"]], "Building documentation via Sphinx": [[5, "building-documentation-via-sphinx"]], "Basic documentation with autodoc": [[5, "basic-documentation-with-autodoc"]], "Additional Sphinx extensions": [[5, "additional-sphinx-extensions"]], "Sphinx without autodoc or extensions": [[5, "sphinx-without-autodoc-or-extensions"]], "Packages with optional Python build system usage": [[5, "packages-with-optional-python-build-system-usage"]], "Packages with Rust extensions (using Cargo)": [[5, "packages-with-rust-extensions-using-cargo"]], "Installing packages without a PEP 517 build backend": [[5, "installing-packages-without-a-pep-517-build-backend"]], "Installing packages manually into BUILD_DIR": [[5, "installing-packages-manually-into-build-dir"]], "Installing packages manually into D": [[5, "installing-packages-manually-into-d"]], "Integrating with a non-PEP 517 build system": [[5, "integrating-with-a-non-pep-517-build-system"]], "pypi \u2014 helper eclass for PyPI archives": [[18, "pypi-helper-eclass-for-pypi-archives"]], "PyPI URLs": [[18, "pypi-urls"]], "Modern and legacy URLs": [[18, "modern-and-legacy-urls"]], "Source distribution filenames": [[18, "source-distribution-filenames"]], "Binary distribution filenames": [[18, "binary-distribution-filenames"]], "Packages with matching name and version": [[18, "packages-with-matching-name-and-version"]], "Customizing the generated URL": [[18, "customizing-the-generated-url"]], "Fetching wheels": [[18, "fetching-wheels"]]}, "indexentries": {}}) \ No newline at end of file
+Search.setIndex({"docnames": ["any", "basic", "buildsys", "concept", "depend", "distutils", "distutils-legacy", "eclass", "expert-multi", "helper", "index", "interpreter", "interpreter-maintenance", "migration", "multi", "package-maintenance", "porting", "preface", "pypi", "pytest", "qawarn", "single", "test"], "filenames": ["any.rst", "basic.rst", "buildsys.rst", "concept.rst", "depend.rst", "distutils.rst", "distutils-legacy.rst", "eclass.rst", "expert-multi.rst", "helper.rst", "index.rst", "interpreter.rst", "interpreter-maintenance.rst", "migration.rst", "multi.rst", "package-maintenance.rst", "porting.rst", "preface.rst", "pypi.rst", "pytest.rst", "qawarn.rst", "single.rst", "test.rst"], "titles": ["python-any-r1 \u2014 build-time dependency", "Common basics", "Integration with build systems written in Python", "Advanced concepts", "Advanced dependencies", "distutils-r1 \u2014 standard Python build systems", "distutils-r1 legacy concepts", "Choosing between Python eclasses", "Expert python-r1 usage", "Common helper functions", "Gentoo Python Guide", "Python interpreters", "Maintenance of Python implementations", "Migration guides", "python-r1 \u2014 multi-impl packages", "Python package maintenance", "Porting tips", "Preface", "pypi \u2014 helper eclass for PyPI archives", "pytest recipes", "QA checks and warnings", "python-single-r1 \u2014 single-impl packages", "Tests in Python packages"], "terms": {"The": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "eclass": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 19, 21, 22], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "enabl": [0, 4, 6, 7, 8, 10, 11, 12, 14, 15, 19, 20, 22], "support": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22], "packag": [0, 8, 9, 10, 11, 13, 17, 19], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "pure": [0, 5, 6, 7, 8, 10, 11, 15, 18], "refer": [0, 1, 5, 9, 11, 13, 14, 17, 18, 20, 21], "5": [0, 2, 5, 7, 8, 9, 11, 14, 15, 16, 18, 19, 21, 22], "defin": [0, 1, 5, 6, 11, 21, 22], "featur": [0, 4, 5, 6, 7, 8, 11, 12, 13, 20, 21, 22], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "pkg_setup": [0, 1, 2, 8, 21], "phase": [0, 1, 3, 6, 7, 8, 9, 10, 13, 14, 15, 20, 21], "It": [0, 1, 3, 4, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "normal": [0, 3, 5, 8, 9, 14, 15, 16, 18, 20, 21, 22], "call": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 16, 18, 19, 20, 21, 22], "python_setup": [0, 1, 2, 10, 13, 14, 21], "function": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 16, 18, 20, 21, 22], "order": [0, 1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 21, 22], "find": [0, 2, 3, 4, 6, 14, 15, 19, 20, 22], "suitabl": [0, 7, 9, 14, 17, 18], "interpret": [0, 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 19, 20, 21], "global": [0, 1, 5, 8, 13, 14, 19, 21, 22], "environ": [0, 5, 6, 10, 11, 13, 14, 16, 19, 21], "appropri": [0, 2, 4, 5, 6, 7, 9, 11, 12, 15, 18, 21, 22], "mean": [0, 1, 2, 5, 7, 8, 11, 15, 16, 18, 19, 21, 22], "most": [0, 3, 5, 6, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "trivial": [0, 5, 12, 16, 21], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22], "autotool": [0, 5, 6, 10, 16, 21], "compat": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 16, 18, 21], "system": [0, 3, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 21, 22], "could": [0, 2, 3, 5, 6, 8, 9, 15, 16, 20, 21], "look": [0, 1, 6, 8, 16, 19, 20, 21, 22], "like": [0, 2, 4, 5, 6, 8, 11, 15, 16, 20, 21, 22], "follow": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "copyright": [0, 2, 4, 5, 6, 8, 14, 21, 22], "1999": [0, 2, 4, 5, 6, 8, 14, 21, 22], "2020": [0, 2, 4, 5, 6, 8, 13, 14, 16, 21, 22], "gentoo": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22], "author": [0, 2, 4, 5, 6, 8, 9, 10, 12, 14, 20, 21, 22], "distribut": [0, 2, 4, 5, 6, 8, 14, 15, 16, 17, 20, 21, 22], "under": [0, 1, 2, 3, 4, 5, 6, 8, 14, 21, 22], "term": [0, 2, 4, 5, 6, 8, 14, 21, 22], "gnu": [0, 2, 4, 5, 6, 8, 14, 21, 22], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 21, 22], "public": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "licens": [0, 2, 4, 5, 6, 8, 10, 14, 20, 21, 22], "v2": [0, 2, 4, 5, 6, 8, 14, 21, 22], "eapi": [0, 2, 4, 5, 6, 8, 10, 14, 21, 22], "7": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "python_compat": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 21, 22], "python3_": [0, 1, 2, 4, 5, 6, 8, 12, 21, 22], "6": [0, 1, 2, 4, 5, 6, 8, 11, 12, 14, 15, 16, 19, 21, 22], "8": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21, 22], "inherit": [0, 1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 16, 18, 19, 21, 22], "descript": [0, 2, 4, 5, 6, 8, 14, 21, 22], "A": [0, 1, 2, 4, 6, 7, 8, 10, 11, 15, 19, 20], "repositori": [0, 5, 6, 12, 15, 20], "data": [0, 2, 5, 6, 9, 16, 21, 22], "file": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 21], "describ": [0, 5, 6, 8, 9, 15, 18, 20], "media": [0, 2, 8], "player": [0, 4], "capabl": 0, "homepag": [0, 2, 4, 5, 6, 8, 14, 15, 21, 22], "http": [0, 2, 4, 5, 6, 8, 9, 12, 14, 16, 18, 20, 21, 22], "cgit": 0, "freedesktop": 0, "org": [0, 2, 4, 5, 6, 8, 9, 12, 14, 18, 20, 21, 22], "info": [0, 5, 6, 19], "src_uri": [0, 2, 4, 5, 6, 8, 14, 15, 18, 21, 22], "www": [0, 2, 8, 14, 21], "softwar": [0, 1, 4, 8, 14, 15, 16, 22], "pn": [0, 2, 4, 5, 6, 8, 9, 14, 18, 21, 22], "p": [0, 2, 4, 5, 6, 8, 14, 18, 19, 21, 22], "tar": [0, 2, 4, 5, 6, 8, 12, 14, 18, 21, 22], "gz": [0, 2, 4, 5, 6, 8, 14, 18, 21, 22], "bsd": [0, 2, 5, 6, 8, 14, 21], "slot": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "0": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 19, 20, 21, 22], "keyword": [0, 2, 4, 5, 6, 8, 10, 14, 16, 21, 22], "alpha": [0, 2, 4, 5, 6, 8, 11, 14, 21, 22], "amd64": [0, 2, 4, 5, 6, 8, 12, 14, 21, 22], "arm": [0, 2, 4, 5, 6, 8, 21, 22], "arm64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "hppa": [0, 2, 4, 5, 6, 8, 14, 21, 22], "ia64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "mip": [0, 2, 4, 5, 6, 8, 21, 22], "ppc": [0, 2, 4, 5, 6, 8, 14, 21, 22], "ppc64": [0, 2, 4, 5, 6, 8, 14, 21, 22], "sh": [0, 2, 4, 5, 6, 8, 12, 21, 22], "sparc": [0, 2, 4, 5, 6, 8, 14, 21, 22], "x86": [0, 2, 4, 5, 6, 8, 12, 14, 21, 22], "ius": [0, 2, 4, 5, 8, 14, 21, 22], "rdepend": [0, 1, 2, 4, 5, 6, 8, 13, 14, 21, 22], "virtual": [0, 2, 8, 14], "udev": 0, "208": 0, "bdepend": [0, 1, 2, 4, 5, 6, 8, 12, 14, 19, 21, 22], "python_dep": [0, 2, 4, 5, 8, 10, 14, 21], "pkgconfig": [0, 2, 8, 14], "ebuild": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "demonstr": [0, 5, 21], "absolut": [0, 1, 9, 15, 21, 22], "minimum": [0, 15, 21], "work": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 22], "code": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 16, 19, 20, 21, 22], "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "three": [0, 1, 3, 9, 13, 16, 20], "highlight": [0, 16, 21], "line": [0, 3, 5, 13, 15, 16, 21, 22], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22], "specif": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22], "plu": [0, 21], "implicitli": [0, 3, 5, 8, 12, 20, 21, 22], "export": [0, 1, 2, 5, 21], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22], "other": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "declar": [0, 1, 2, 5, 6, 8, 9, 11, 14, 19, 21, 22], "ensur": [0, 1, 4, 5, 6, 9, 12, 14, 20, 21], "would": [0, 2, 4, 5, 7, 11, 12, 14, 15, 16, 18, 21, 22], "built": [0, 1, 3, 5, 6, 7, 8, 11, 12, 14, 16, 17, 18, 21, 22], "against": [0, 4, 7, 9, 11, 12, 14, 15, 21, 22], "implement": [0, 1, 3, 4, 5, 6, 7, 10, 14, 16, 17, 19, 20, 21, 22], "specifi": [0, 1, 2, 5, 6, 7, 8, 14, 15, 18, 19, 20, 21, 22], "get": [0, 5, 6, 12, 13, 18, 19, 22], "replac": [0, 5, 6, 10, 11, 13, 15, 18], "python_gen_any_dep": [0, 2, 8], "match": [0, 2, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21], "python_check_dep": [0, 2, 8], "accept": [0, 1, 4, 5, 6, 9, 12, 15, 16, 18, 19, 20], "templat": [0, 2, 4, 5, 15, 20, 21], "where": [0, 3, 5, 6, 9, 11, 12, 14, 16, 18, 21, 22], "liter": [0, 4, 21], "python_usedep": [0, 2, 4, 5, 8, 10, 12, 14, 15, 19, 21, 22], "substitut": [0, 4, 21], "requir": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "same": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "least": [0, 5, 8, 15, 20, 22], "one": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 16, 17, 19, 20, 21, 22], "test": [0, 1, 2, 3, 7, 8, 10, 11, 12, 13, 16, 17, 18, 21], "whether": [0, 1, 4, 5, 6, 7, 15, 19, 21, 22], "question": [0, 1, 5, 7, 14, 18, 19, 22], "In": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "particular": [0, 1, 4, 5, 6, 11, 15, 18, 22], "verifi": [0, 1, 5, 6, 8, 13, 20, 22], "branch": [0, 11, 16, 22], "wa": [0, 4, 5, 11, 12, 13, 16, 18, 19, 20, 22], "satisfi": [0, 1, 8, 12], "were": [0, 2, 3, 5, 8, 11, 12, 13, 16, 18, 20], "instal": [0, 1, 3, 4, 7, 8, 10, 11, 12, 13, 16, 19], "current": [0, 5, 6, 11, 12, 13, 15, 19, 22], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22], "purpos": [0, 6, 9, 12, 14, 16, 18, 21, 22], "variabl": [0, 1, 5, 6, 8, 13, 14, 16, 18, 19, 21, 22], "string": [0, 1, 4, 5, 8, 14, 16, 21], "best": [0, 7, 12, 16, 17, 18, 19], "explain": [0, 1, 6, 20], "exampl": [0, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 21, 22], "meson": [0, 4, 5, 7, 10, 15], "manag": [0, 4, 6, 8, 9, 18, 20, 22], "cinnamon": 0, "fork": [0, 11, 12, 15, 22], "from": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "nautilu": 0, "develop": [0, 1, 7, 11, 15, 17, 19, 22], "linuxmint": 0, "com": [0, 2, 4, 5, 6, 8, 12, 14, 16, 18, 22], "project": [0, 1, 5, 8, 9, 10, 14, 17, 18, 19, 20, 22], "html": [0, 5, 8, 20, 22], "github": [0, 2, 4, 5, 6, 8, 12, 14, 17, 18, 21, 22], "nemo": 0, "archiv": [0, 2, 4, 10, 21, 22], "pv": [0, 2, 4, 5, 8, 14, 18, 21, 22], "gpl": [0, 2, 4, 8, 14, 21], "2": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22], "lgpl": [0, 2, 14, 21, 22], "fdl": [0, 21], "1": [0, 2, 3, 4, 5, 6, 8, 9, 15, 18, 19, 20, 21, 22], "dev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22], "polib": 0, "pygobject": [0, 14], "3": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "python_has_vers": [0, 2, 8], "provid": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "its": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 15, 16, 18, 19, 22], "both": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 17, 18, 19, 20, 21, 22], "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "dep": [0, 5, 13, 19], "true": [0, 1, 2, 5, 6, 8, 12, 13, 16, 22], "them": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22], "while": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22], "which": [0, 6, 9, 10, 11, 14, 22], "wrapper": [0, 1, 6, 9, 13, 14, 22], "help": [0, 15, 17, 22], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 15, 16, 19, 22], "singl": [0, 1, 4, 6, 9, 10, 14, 15, 16, 18, 19, 20, 22], "option": [0, 1, 3, 6, 8, 10, 13, 15, 18, 19, 20, 21, 22], "class": [0, 1, 5, 16, 19], "flag": [0, 1, 5, 7, 8, 9, 10, 11, 12, 14, 15, 21, 22], "more": [0, 1, 3, 4, 5, 7, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21], "similarli": [0, 1, 5, 15, 18], "has_vers": [0, 4, 12], "root": [0, 5, 6, 13, 21, 22], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22], "b": [0, 18], "d": [0, 2, 3, 8, 9, 14, 18, 19], "r": [0, 2, 5, 9, 16, 22], "idepend": 0, "pdepend": [0, 2, 8, 12], "pass": [0, 6, 8, 9, 10, 12, 13, 16, 18, 19, 22], "assum": [0, 1, 4, 5, 6, 9, 13, 15, 21], "verbos": [0, 15, 20, 22], "print": [0, 3, 8, 14, 19, 22], "check": [0, 5, 6, 9, 10, 12, 13, 16, 17, 22], "perform": [0, 2, 5, 6, 11, 12, 14, 18, 20, 21, 22], "result": [0, 5, 6, 8, 9, 12, 15, 16, 17, 18, 19, 20, 22], "return": [0, 2, 8, 16, 20, 22], "success": 0, "found": [0, 1, 3, 5, 6, 9, 10, 11, 12, 15, 18, 20, 22], "fals": [0, 2, 5, 8, 12, 15, 16], "otherwis": [0, 6, 7, 8, 9], "note": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22], "invoc": [0, 5, 19, 20], "chain": 0, "abov": [0, 1, 6, 8, 12, 13, 15, 20, 21, 22], "also": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22], "written": [0, 1, 5, 7, 10, 11, 16, 19], "import": [0, 1, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 19], "understand": 0, "correctli": [0, 1, 5, 6, 7, 9, 11, 12, 13, 15, 16, 22], "exactli": [0, 7, 18], "furthermor": [0, 2, 5], "combin": [0, 2, 5, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22], "must": [0, 1, 2, 3, 5, 6, 7, 8, 11, 15, 16, 19, 21, 22], "onc": [0, 5, 8, 11, 12, 20], "invalid": [0, 16], "split": [0, 5, 13, 16], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "necessari": [0, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22], "particularli": [0, 5, 6, 7, 11, 13, 15, 19, 22], "common": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "suit": [0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 19, 22], "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "wrap": [0, 5, 6, 9, 13, 22], "programm": [0, 15], "complet": [0, 5, 16, 17, 20, 22], "bash": [0, 5, 7, 8, 9, 21, 22], "scop": 0, "releas": [0, 2, 5, 8, 11, 12, 14, 16, 20], "download": [0, 2, 5, 8, 14], "xz": [0, 4, 12, 14, 21], "s390": [0, 2, 4, 5, 6, 8, 21, 22], "linux": [0, 2, 4, 5, 6, 8, 9, 14, 16, 21, 22], "maco": [0, 4, 6, 8, 21, 22], "x64": [0, 4, 6, 8, 21, 22], "m68k": [0, 4, 5, 6, 8, 21, 22], "mint": 0, "solari": [0, 6, 21, 22], "sparc64": [0, 6], "restrict": [0, 2, 4, 5, 10, 19, 20, 21, 22], "app": [0, 2, 4, 5, 8, 12, 14, 15, 18, 20, 22], "shell": [0, 8, 14, 22], "4": [0, 3, 5, 8, 9, 10, 11, 12, 14, 15, 22], "3_p30": 0, "pexpect": [0, 22], "pytest": [0, 4, 5, 8, 10, 12, 15, 18], "r1_pkg_setup": [0, 2, 21], "anoth": [0, 8, 9, 14, 15, 16, 19, 20, 22], "possibl": [0, 2, 4, 5, 8, 9, 12, 14, 16, 17, 19, 22], "uncondition": [0, 1, 2, 4, 5, 6, 8, 11, 20, 21, 22], "condition": [0, 1, 2, 4, 5, 11, 12, 14, 15, 19, 21], "simplest": [0, 2, 5, 7, 14, 19, 22], "wai": [0, 5, 6, 9, 12, 13, 15, 19, 22], "achiev": [0, 8, 11, 16], "block": [0, 8, 13, 22], "express": [0, 8, 13, 21], "similar": [0, 2, 5, 14, 15, 20, 21, 22], "cmake": [0, 5, 6, 21], "qt": 0, "bind": [0, 2, 5, 8, 14, 21], "telepathi": 0, "bu": 0, "protocol": [0, 2, 21], "dbu": [0, 2], "hardest": 0, "differ": [0, 1, 3, 5, 9, 10, 11, 15, 16, 18, 19, 22], "do": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22], "error": [0, 2, 5, 9, 12, 13, 16, 19, 20, 22], "prone": 0, "move": [0, 4, 5, 12], "insid": [0, 1, 3, 5, 6, 9, 14, 18, 19, 21, 22], "python3_6": [0, 2, 4, 8, 14], "gnome2": [0, 4, 14], "gobject": 0, "librari": [0, 1, 2, 3, 4, 8, 9, 11, 14, 21, 22], "access": [0, 5, 10, 11, 19], "secret": 0, "servic": [0, 15, 22], "api": [0, 2, 5, 9, 10, 11, 13, 14, 16], "wiki": [0, 4, 8, 9, 12, 14, 17], "gnome": [0, 4, 14], "libsecret": 0, "apach": [0, 2, 4, 5, 8, 22], "introspect": 0, "fail": [0, 1, 2, 5, 8, 9, 11, 12, 16, 19, 22], "bug": [0, 5, 6, 12, 20, 22], "655482": 0, "required_us": [0, 1, 2, 4, 5, 7, 8, 13, 14, 21], "mock": [0, 4, 8, 11, 12, 19, 22], "fi": [0, 2, 4, 5, 8, 12, 14, 21], "host": 0, "variou": [1, 5, 6, 9, 13, 16], "r1": [1, 3, 4, 9, 10, 12, 15, 18, 20, 22], "try": [1, 6, 8, 9, 11, 16, 22], "design": [1, 21], "you": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "probabl": [1, 6, 8, 13, 21], "us": [1, 9, 10, 11, 12, 13, 15, 16, 18, 20], "than": [1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 17, 18, 19, 20, 22], "so": [1, 4, 5, 6, 11, 15, 18, 19, 21, 22], "worthwhil": [1, 22], "shortli": 1, "bit": [1, 12, 17], "well": [1, 5, 7, 8, 11, 13, 15, 18, 20], "non": [1, 6, 7, 9, 12, 14, 16, 18, 19, 22], "obviou": [1, 22], "between": [1, 5, 8, 10, 11, 13, 16, 18], "befor": [1, 4, 5, 8, 9, 10, 12, 14, 16], "thei": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "valid": [1, 5, 8, 15, 16, 20, 22], "valu": [1, 5, 6, 9, 13, 18, 19, 22], "pythonx_i": 1, "cpython": [1, 4, 5, 9, 11, 13, 18, 20], "x": [1, 5, 11, 16, 19, 22], "y": [1, 2, 11, 16], "pypy3": [1, 4, 5, 6, 8, 11, 12, 13, 15, 19, 20, 22], "typic": [1, 14], "ani": [1, 2, 3, 5, 6, 7, 10, 14, 16, 18, 19, 20, 22], "respons": [1, 5], "explicitli": [1, 5, 7, 8, 10, 13, 18, 20, 22], "put": [1, 8], "correct": [1, 5, 6, 7, 9, 10, 15, 18, 19, 20, 21], "meant": [1, 13, 20], "consist": [1, 6, 9, 13, 14, 15], "cover": [1, 5, 6, 13, 22], "time": [1, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22], "runtim": [1, 2, 3, 5, 8, 10, 13, 14, 15], "form": [1, 4, 12, 17, 18], "doe": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 22], "appli": [1, 4, 5, 6, 7, 12, 15, 19, 20, 21, 22], "distutil": [1, 3, 4, 9, 10, 13, 14, 18, 19, 20, 21, 22], "assign": 1, "default": [1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 20, 21, 22], "commonli": [1, 2, 3, 5, 6, 9, 11, 18], "concept": [1, 5, 10], "state": 1, "enforc": [1, 4, 5, 7, 8, 11, 19, 22], "whenev": [1, 4, 9, 11, 14, 15, 19, 21, 22], "run": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20], "two": [1, 5, 6, 8, 9, 11, 13, 16, 19, 20, 21], "being": [1, 3, 5, 6, 8, 9, 11, 12, 15, 16, 18, 19, 22], "epython": [1, 2, 5, 8, 9, 12, 13, 19, 22], "contain": [1, 3, 4, 5, 6, 7, 12, 13, 15, 20], "": [1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21, 22], "basenam": 1, "identifi": 1, "e": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "g": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "python3": [1, 3, 5, 9, 11, 13, 15, 16, 19, 20, 22], "10": [1, 4, 5, 8, 10, 11, 12, 15, 20], "final": [1, 2, 4, 5, 9, 11, 13, 16, 21, 22], "path": [1, 3, 5, 6, 9, 10, 12, 13, 16, 18, 20, 22], "usr": [1, 2, 3, 5, 7, 8, 9, 19, 20, 22], "bin": [1, 2, 5, 7, 8, 9, 12, 21, 22], "full": [1, 2, 4, 5, 13, 22], "should": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "embed": [1, 2, 9, 11], "program": [1, 2, 5, 6, 11, 16, 19, 22], "shebang": [1, 10, 11, 22], "spawn": 1, "dure": [1, 5, 6, 7, 12, 13, 19, 20], "prefer": [1, 4, 5, 7, 8, 11, 12, 14, 15, 19, 22], "rather": [1, 6, 8, 12, 15, 16, 17, 19, 20, 22], "bypass": 1, "virtualenv": [1, 6, 12, 22], "creat": [1, 3, 4, 5, 6, 12, 13, 15, 16, 20, 22], "pep": [1, 3, 6, 7, 10, 12, 15, 16, 18], "517": [1, 3, 6, 7, 10, 12], "mode": [1, 3, 6, 7, 10, 13, 16, 20], "mai": [1, 3, 4, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 22], "caus": [1, 4, 5, 8, 9, 13, 15, 18, 19, 20, 22], "failur": [1, 5, 10, 11, 12, 19], "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 19, 22], "previou": [1, 5, 12, 13, 16], "version": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 16, 17, 19, 22], "just": [1, 6, 11, 13, 22], "resolv": [1, 5, 6, 16, 19, 22], "problem": [1, 3, 4, 5, 6, 8, 12, 15, 16, 17, 19, 20, 22], "pythonn": 1, "tool": [1, 2, 5, 8, 14, 15, 16, 20, 22], "etc": 1, "via": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 21, 22], "exec": [1, 8, 9, 11, 12, 22], "hardcod": [1, 12, 19], "either": [1, 2, 5, 8, 9, 11, 13, 19, 20, 22], "establish": [1, 13, 22], "local": [1, 2, 3, 4, 5, 8, 9, 12, 13, 14, 19, 20, 21, 22], "scope": [1, 4, 8, 13, 19, 22], "multi": [1, 5, 10, 13, 21], "impl": [1, 5, 10, 13], "python_foreach_impl": [1, 2, 8, 14], "sub": [1, 3, 7, 8, 10, 22], "setup": [1, 3, 6, 7, 10, 13, 15, 19, 20, 22], "done": [1, 5, 6, 8, 9, 14, 15, 19, 22], "directli": [1, 5, 6, 7, 9, 11, 13, 16, 19, 22], "section": [1, 5, 6, 7, 12, 15, 16, 18, 20, 22], "focu": [1, 7, 12, 14], "often": [1, 5, 12, 22], "extern": [1, 2, 5, 6, 7, 11, 12, 22], "languag": [1, 2, 5, 11, 15], "usual": [1, 3, 4, 5, 7, 11, 13, 15, 16, 19, 20, 22], "rule": [1, 2, 6, 7, 8, 13, 14, 15, 18], "classifi": [1, 6], "categori": [1, 15], "present": [1, 5, 6, 15, 20], "script": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 21], "usabl": [1, 11], "whose": [1, 5], "therefor": [1, 2, 5, 6, 7, 8, 11, 12, 15, 19, 20], "howev": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "modern": [1, 4, 5, 6, 11, 12, 19, 22], "base": [1, 4, 5, 7, 8, 10, 12, 14, 15, 21, 22], "entri": [1, 5, 12, 19, 20], "point": [1, 5, 11, 13, 15, 19, 22], "refus": [1, 4, 11], "place": [1, 6, 11, 12, 18, 20], "special": [1, 3, 4, 5, 6, 16, 22], "subclass": 1, "extra": [1, 5, 6, 10], "still": [1, 5, 6, 8, 11, 13, 16, 18, 20, 22], "meaningfulli": 1, "handl": [1, 4, 5, 6, 8, 13, 14, 15, 22], "gracefulli": [1, 4, 8], "subset": [1, 4, 5, 7, 8, 11, 12, 14, 15, 20, 22], "without": [1, 4, 10, 11, 13, 14, 15, 18, 19, 22], "There": [1, 3, 5, 8, 9, 15, 16, 19, 20, 22], "multipl": [1, 3, 4, 5, 7, 10, 14, 15, 17, 19, 20, 22], "approach": [1, 5, 7, 8, 12, 16], "ad": [1, 5, 7, 10, 11, 13, 14, 19], "consid": [1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 16, 20], "light": 1, "enough": [1, 11, 22], "inform": [1, 3, 6, 10, 13, 16, 18, 20, 22], "messag": [1, 5, 22], "pkg_postinst": [1, 5], "util": [1, 2, 4, 5, 7, 8, 9, 12, 15, 19, 20, 21, 22], "optfeatur": 1, "cheap": 1, "rebuild": [1, 6, 11], "includ": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22], "__init__": [1, 3, 5, 9, 19, 20, 22], "py": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20, 22], "As": [1, 3, 5, 6, 7, 8, 11, 12, 13, 15, 16, 19, 21, 22], "thumb": [1, 6, 7, 13, 15], "belong": [1, 22], "care": [1, 2, 5, 7, 9, 15, 22], "addit": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 15, 18, 19, 22], "plugin": [1, 3, 5, 6, 8, 10, 22], "setuptools_scm": [1, 10, 22], "document": [1, 2, 7, 8, 10, 11, 14, 17, 22], "former": [1, 5, 7, 8, 13, 16, 22], "runner": [1, 5, 7, 10], "sinc": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 19, 22], "sometim": [1, 4, 5, 6, 7, 9, 11, 19, 22], "These": [1, 6, 7, 11, 12, 13, 15, 19, 22], "go": [1, 2, 8, 17, 18, 19], "doc": [1, 2, 5, 8, 21], "respect": [1, 3, 4, 5, 12, 14, 15, 19, 20], "maximum": [1, 5], "coverag": [1, 5, 15, 19, 22], "further": [1, 19], "guid": [1, 3, 5, 16, 17, 20], "linter": 1, "report": [1, 6, 9, 10, 12, 15, 22], "actual": [1, 5, 6, 8, 9, 11, 12, 15, 18, 19, 22], "undesir": [1, 5, 10, 19], "again": [1, 2, 15, 22], "conveni": [1, 4, 5, 6, 7, 19, 20, 22], "add": [1, 2, 5, 6, 8, 12, 15, 18, 20, 21, 22], "sphinx": [1, 3, 6, 7, 8, 10, 12, 15], "copi": [1, 3, 5, 6, 9, 11, 15, 20, 21, 22], "c": [1, 2, 5, 6, 8, 9, 10, 11, 14], "extens": [1, 6, 7, 8, 9, 10, 11, 14, 15, 16], "header": [1, 9], "numpi": [1, 2], "If": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22], "metadata": [1, 5, 6, 14, 15, 21], "pyproject": [1, 5, 7, 12, 20], "toml": [1, 5, 7, 10, 12, 20], "setuptool": [1, 3, 4, 5, 7, 8, 12, 13, 15, 18, 19, 22], "cfg": [1, 3, 5, 6, 15, 19, 20], "custom": [1, 2, 6, 10, 13, 15, 16, 19, 20], "read": [1, 5, 16, 18, 22], "name": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 22], "uncondit": [1, 2, 5, 10, 13, 14, 15], "upstream": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 19, 20, 22], "spuriou": 1, "strip": [1, 3, 5, 11, 15, 19, 22], "ommit": 1, "kei": [1, 5, 16, 19, 20, 21], "kind": [1, 3, 5, 7, 9, 11, 22], "621": 1, "older": [1, 11, 15, 18], "flit": [1, 5, 6, 12, 13], "poetri": [1, 5, 6, 13], "indic": [1, 5, 6, 11, 12, 13, 15, 18, 19, 20, 22], "install_requir": [1, 3, 5, 6], "group": [1, 2, 6, 13, 15, 19], "extras_requir": [1, 5], "setup_requir": [1, 5, 19], "deprec": [1, 3, 5, 10, 11, 13, 22], "tests_requir": [1, 5], "tox": [1, 5, 22], "ini": [1, 5, 19, 22], "noxfil": 1, "python_requir": 1, "besid": [2, 6, 11, 14, 19, 20], "few": [2, 4, 6, 12, 19, 22], "make": [2, 3, 4, 5, 6, 7, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22], "proper": [2, 8], "fairli": [2, 15, 21], "recent": [2, 3, 5, 15, 22], "agnost": 2, "henc": [2, 5, 14], "treat": [2, 19], "arbitrari": [2, 13, 18], "ha": [2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22], "gain": [2, 19], "quit": [2, 4, 6, 11, 12], "At": [2, 5, 11, 15, 17, 20], "mani": [2, 5, 8, 12, 14, 15, 16, 20, 22], "old": [2, 4, 5, 6, 8, 10, 11, 12, 16, 22], "reason": [2, 4, 5, 6, 11, 18, 19, 22], "suffici": [2, 5, 6, 7, 11, 14, 18], "prior": [2, 3, 5, 6, 8, 11, 13, 16, 20, 22], "happen": [2, 3, 4, 6, 7, 8, 11, 21, 22], "natur": [2, 5, 8, 15], "sort": 2, "latter": [2, 5, 7, 8, 13, 15, 16, 19, 22], "set": [2, 4, 5, 6, 7, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 22], "much": [2, 5, 20, 22], "compon": [2, 3, 8, 11, 14, 16], "account": [2, 8, 11, 15, 22], "detail": [2, 7, 9, 11, 13, 16, 20, 22], "choic": [2, 6, 7, 13, 18, 22], "chapter": [2, 5, 8, 9], "along": [2, 5, 6, 7, 11, 12, 13, 20, 21, 22], "toolchain": [2, 4, 8], "func": [2, 8], "commit": [2, 18, 22], "6e5e8a57628095d8d0c8bbb38187afb0f3a42112": 2, "userspac": 2, "xbox": 2, "360": 2, "control": [2, 4, 5, 19], "driver": 2, "xboxdrv": 2, "gitlab": [2, 8], "io": [2, 4, 5, 8, 14, 21], "chewi": 2, "workdir": [2, 5, 18], "lib": [2, 3, 5, 7, 9, 16, 19, 20, 22], "boost": [2, 7], "glib": 2, "sy": [2, 5, 8, 11, 14, 15, 16, 22], "libudev": 2, "libusb": 2, "x11": 2, "libx11": 2, "src_compil": [2, 5, 6, 8, 14], "escon": 2, "cxx": 2, "tc": [2, 9], "getcxx": 2, "getar": 2, "ranlib": 2, "getranlib": 2, "cxxflag": 2, "wall": 2, "linkflag": 2, "ldflag": [2, 5], "src_instal": [2, 5, 8, 9, 14, 21], "dobin": [2, 9], "doman": 2, "dodoc": [2, 5], "new": [2, 5, 6, 9, 10, 11, 13, 16, 19, 22], "readm": [2, 12, 20], "md": [2, 20], "todo": [2, 9, 12], "yourself": [2, 4, 22], "becaus": [2, 5, 6, 11, 15, 19, 20, 22], "cannot": [2, 4, 5, 9, 11, 22], "my_p": 2, "src": [2, 5, 9, 22], "_rc": [2, 18], "rc": [2, 11, 18], "high": [2, 4, 11, 12, 15, 21], "open": [2, 16], "sourc": [2, 3, 10, 12, 14, 17, 20, 22], "schema": [2, 15], "free": [2, 15, 22], "orient": [2, 16], "databas": [2, 4], "mongodb": [2, 4], "fastdl": 2, "sspl": 2, "acct": 2, "user": [2, 3, 5, 6, 7, 8, 11, 12, 15, 19, 21, 22], "arch": [2, 5, 8, 11, 12, 18], "snappi": 2, "cpp": 2, "yaml": [2, 3], "70": 2, "thread": [2, 8, 19, 21, 22], "libpcr": 2, "42": 2, "zstd": 2, "snowbal": 2, "stemmer": 2, "net": [2, 8, 11, 14, 15, 21], "libpcap": 2, "zlib": 2, "11": [2, 5, 10, 12, 15, 22], "pymongo": 2, "cheetah3": 2, "psutil": 2, "pyyaml": 2, "type": [2, 3, 6, 13, 15, 16], "ncurs": [2, 14], "readlin": [2, 5, 8, 14], "admin": [2, 8], "mongo": 2, "src_configur": [2, 5, 8, 9, 13, 14, 21], "scons_opt": 2, "cc": [2, 9], "getcc": [2, 9], "disabl": [2, 5, 8, 10, 11, 12, 14, 18, 21, 22], "warn": [2, 3, 5, 10, 16], "pcre": 2, "core": [2, 5, 20, 22], "src_test": [2, 5, 6, 14, 22], "buildscript": 2, "resmok": 2, "dbpathprefix": 2, "job": [2, 19], "makeopts_job": [2, 19], "die": [2, 3, 5, 8, 9, 14, 19, 22], "nostrip": [2, 8], "prefix": [2, 8, 9, 15, 16, 22], "ed": [2, 9, 15], "everyth": [2, 13, 20], "your": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 18, 19, 20, 22], "python2_7": [2, 5, 6, 8, 13, 14, 21, 22], "eutil": 2, "molecular": 2, "dynam": 2, "nmr": 2, "analysi": [2, 21], "relax": [2, 19], "gna": 2, "bz2": [2, 8, 21], "python_required_us": [2, 4, 5, 8, 10, 14, 21], "python_gen_cond_dep": [2, 4, 5, 8, 12, 13, 21, 22], "numdifftool": 2, "matplotlib": [2, 5, 21], "python2": [2, 8, 9, 13, 21], "wxpython": [2, 21], "wx_gtk_ver": [2, 21], "sci": [2, 5, 21], "chemistri": 2, "pymol": 2, "bmrblib": 2, "minfx": 2, "scipi": 2, "molmol": 2, "vmd": 2, "visual": 2, "grace": 2, "opendx": 2, "gfx": 2, "pngcrush": 2, "python_moduleinto": [2, 5, 9, 14], "python_domodul": [2, 5, 9, 12, 14, 21], "make_wrapp": [2, 9], "python_get_sitedir": [2, 3, 8, 9], "part": [2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 19, 22], "That": [2, 16, 22], "fortran_need": 2, "fortran": 2, "fortran_standard": 2, "90": [2, 14], "object": [2, 11, 16, 21], "chemic": 2, "kinet": 2, "thermodynam": 2, "transport": 2, "cantera": 2, "v": [2, 4, 5, 10, 13, 14, 22], "pch": 2, "sundial": 2, "eigen": 2, "libfmt": 2, "cython": [2, 10, 14, 21], "2_pkg_setup": 2, "scons_var": 2, "cc_flag": 2, "cxx_flag": 2, "std": 2, "debug": 2, "getfc": 2, "fortranflag": 2, "optimize_flag": 2, "wno": 2, "inlin": [2, 7, 14, 18], "renamed_shared_librari": 2, "use_pch": 2, "usex": [2, 5, 21], "system_fmt": 2, "system_sundi": 2, "system_eigen": 2, "env_var": 2, "extra_inc_dir": 2, "eigen3": 2, "scons_target": 2, "f90_interfac": 2, "n": [2, 16, 19], "python2_packag": 2, "none": [2, 5, 6, 16, 18], "python3_packag": 2, "python3_cmd": 2, "els": [2, 8, 11, 16], "stage_dir": 2, "libdirnam": 2, "get_libdir": [2, 8], "python_optim": [2, 8, 9, 20], "deal": [2, 7, 8, 10, 15], "sens": 2, "plain": [2, 5, 6, 13], "loop": [2, 5, 19], "autom": 2, "pipelin": [2, 22], "poisson": 2, "boltzmann": 2, "electrostat": 2, "calcul": 2, "poissonboltzmann": 2, "apb": 2, "opal": 2, "openbabel": 2, "zsi": 2, "lang": [2, 8, 11, 12, 21], "swig": [2, 21], "src_prepar": [2, 3, 5, 8, 9, 14, 16, 19, 20], "f": [2, 9, 16], "pyc": [2, 9, 20], "o": [2, 5, 20], "pyo": [2, 9, 20], "delet": [2, 3, 14], "eappli": 2, "patch": [2, 4, 5, 6, 8, 11, 12, 18, 20, 22], "eapply_us": 2, "rm": [2, 3, 5, 9], "rf": 2, "python_copy_sourc": [2, 14], "python_configur": 2, "cat": [2, 5], "build_dir": [2, 3, 9, 14, 22], "build_config": 2, "eof": [2, 5], "eprefix": [2, 5, 8, 9], "max_atom": 2, "10000": 2, "build_pdb2pka": 2, "rebuild_swig": 2, "run_in_build_dir": [2, 8, 14], "python_instal": [2, 3, 14], "cd": [2, 5, 9, 12, 22], "let": [2, 4, 8, 16, 21], "independ": [2, 4, 5, 6, 7, 14, 21], "separ": [2, 5, 6, 7, 8, 11, 14, 15, 16, 19, 22], "presum": 2, "manual": [2, 6, 10, 11, 12, 18, 20], "wider": 2, "target": [2, 8, 9, 11, 12, 15, 21, 22], "rang": [2, 5, 12], "recommend": [2, 5, 7, 12, 13, 14, 15, 16, 18, 19, 21, 22], "gp": [2, 8], "daemon": [2, 8], "usb": [2, 8], "serial": [2, 5, 8, 15], "devic": [2, 8], "map": [2, 5, 6, 8, 15, 19], "client": [2, 8, 9, 11, 14], "gpsd": [2, 8], "mirror": [2, 4, 5, 6, 8, 14, 21, 22], "nongnu": [2, 8], "24": [2, 8, 19, 22], "misc": [2, 8], "pp": [2, 8], "20120407": [2, 8], "myesconsarg": [2, 8], "libdir": [2, 8, 9], "udevdir": [2, 8], "get_udevdir": [2, 8], "chrpath": [2, 8], "gpsd_user": [2, 8], "gpsd_group": [2, 8], "uucp": [2, 8], "manbuild": [2, 8], "use_scon": [2, 8], "sconstruct": [2, 8], "py2": [2, 8, 18, 22], "construct": [2, 4, 8, 21], "pkg_config": 2, "shlinkflag": 2, "destdir": [2, 8, 9, 20], "bundl": [2, 5, 12], "simpl": [2, 5, 7, 13, 14, 17], "impli": [2, 9, 11], "python_req_us": [2, 4, 5, 6, 8, 14, 21], "individu": [2, 5, 11, 19], "applic": [2, 9, 11], "had": 2, "instead": [2, 3, 5, 6, 7, 8, 9, 13, 14, 16, 18, 19, 20, 21, 22], "no_waf_libdir": 2, "ye": 2, "unit": 2, "framework": [2, 3, 5, 11, 17], "mrzechonek": 2, "tut": 2, "roughli": [2, 9, 11, 13, 18], "ldap": 2, "ldb": 2, "samba": [2, 21], "ftp": [2, 21], "pub": 2, "elibc_freebsd": 2, "libbsd": 2, "popt": 2, "talloc": [2, 21], "tevent": 2, "9": [2, 5, 10, 12, 15, 18, 20, 22], "31": [2, 15], "tdb": 2, "12": [2, 8, 15, 16, 19, 20], "nd": 2, "openldap": 2, "libxslt": 2, "waf_binari": [2, 21], "buildtool": [2, 21], "filesdir": 2, "27": [2, 8], "optional_packag": 2, "myconf": [2, 8], "rpath": 2, "modulesdir": 2, "builtin": 2, "utils_src_configur": [2, 21], "tradition": 3, "python": [3, 6, 17, 18, 19, 20], "organ": 3, "subpackag": [3, 20], "locat": [3, 5, 20], "parent": [3, 9], "directori": [3, 5, 6, 9, 11, 12, 13, 14, 16, 18, 19, 20, 22], "submodul": 3, "repres": [3, 5, 22], "attribut": [3, 10, 16], "session": [3, 22], "addnod": 3, "site": [3, 5, 6, 9, 10, 11, 16, 19, 22], "fine": [3, 12, 16], "start": [3, 4, 5, 6, 11, 12, 15, 16, 18, 22], "problemat": [3, 5, 6, 10, 19], "top": [3, 5, 9, 10, 18, 19], "level": [3, 9, 10, 11, 22], "layout": [3, 6, 13], "wish": [3, 6, 22], "zope": [3, 15], "share": [3, 5], "interfac": [3, 6, 11, 15, 16], "event": [3, 11, 19], "depend": [3, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20], "far": [3, 12, 21], "concern": 3, "entir": [3, 5, 9, 10, 12, 13, 14, 18, 22], "doabl": 3, "real": [3, 19, 20, 22], "we": [3, 4, 6, 8, 11, 12, 14, 15, 17, 20], "freshli": 3, "build": [3, 9, 10, 11, 15, 16, 18, 20, 22], "abl": [3, 15], "tmp": [3, 5, 9, 19, 20, 22], "portag": [3, 5, 8, 10, 12, 14, 15, 19, 22], "python3_8": 3, "traceback": [3, 5, 22], "last": [3, 5, 16], "stdin": 3, "modulenotfounderror": 3, "No": [3, 22], "now": [3, 5, 6, 8, 13, 14, 22], "around": [3, 5, 6, 11, 12, 22], "back": [3, 6, 16], "better": [3, 6, 11, 12, 13, 14, 20], "solut": [3, 15, 16, 20, 22], "unlik": [3, 5, 6, 11, 15], "tradit": 3, "act": 3, "proxi": [3, 14], "strictli": [3, 5, 6, 15, 22], "bound": [3, 11, 16], "permit": [3, 4, 5, 6, 11, 15, 22], "load": [3, 7, 9, 16, 19, 20, 22], "search": [3, 10, 15, 22], "method": [3, 5, 11, 13, 16, 19, 20, 22], "420": 3, "newer": [3, 4, 5, 6, 11, 12, 15, 16, 20], "pkgutil": 3, "standard": [3, 4, 6, 7, 9, 10, 11, 14, 16, 22], "discourag": [3, 6], "earlier": [3, 13], "ignor": [3, 4, 5, 8, 15, 19, 22], "did": [3, 13, 16, 22], "within": [3, 5, 6, 12, 15, 17, 22], "content": [3, 5, 7], "__path__": 3, "__import__": 3, "extend_path": 3, "__name__": 3, "pkg_resourc": [3, 6], "declare_namespac": 3, "altern": [3, 5, 6, 8, 10, 16, 17, 18, 22], "pth": 3, "automat": [3, 4, 5, 6, 10, 12, 15, 18, 20, 22], "inject": [3, 21, 22], "portabl": 3, "topic": [3, 17], "exact": [3, 5, 11, 21], "detect": [3, 5, 9, 15, 22], "recogn": [3, 5, 15, 16], "lack": [3, 9, 22], "action": [3, 15, 22], "distinguish": [3, 5, 13], "veri": [3, 4, 5, 6, 9, 11, 15, 17, 18, 20, 22], "through": [3, 4, 5, 6, 8, 11, 16, 19, 22], "suspici": 3, "less": [3, 15, 22], "ruamel": 3, "miss": [3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20], "learn": 3, "about": [3, 6, 13, 15], "collis": [3, 5, 15, 22], "namespace_packag": 3, "per": [3, 20], "remov": [3, 4, 5, 6, 10, 11, 13, 14, 15, 19, 20, 22], "tree": [3, 5, 12, 13, 20, 22], "after": [3, 6, 9, 11, 12, 13, 15, 16, 18, 20, 22], "python_compil": 3, "r1_python_compil": [3, 5], "jaraco": [3, 5, 12, 19], "equival": [3, 6, 8, 9, 13, 18], "r1_python_instal": [3, 5], "python_install_al": [3, 5], "r1_python_install_al": [3, 5], "explicit": [3, 4, 5, 6, 18, 21, 22], "rdep": 3, "sed": [3, 5, 8, 14, 15, 19, 22], "r1_src_prepar": [3, 5, 19], "histor": [3, 5, 6, 11, 13, 16, 18, 20], "process": [3, 5, 7, 12, 16, 20, 21], "retir": 3, "major": [4, 5, 6, 11, 15, 22], "avail": [4, 5, 6, 8, 11, 13, 15, 16, 17], "sqlite3": 4, "sqlite": [4, 8], "xdg": 4, "music": 4, "lollypop": 4, "adishatz": 4, "syntax": [4, 10, 11, 15, 20], "lightweight": [4, 20], "password": 4, "backend": [4, 10, 12, 13], "pwman3": 4, "mysql": [4, 14], "postgr": 4, "fulli": [4, 5, 7, 11], "solv": [4, 17], "python_gen_impl_dep": 4, "helper": [4, 5, 7, 10, 14, 21, 22], "2_7": [4, 22], "3_": 4, "travel": 4, "spulec": 4, "freezegun": [4, 19, 22], "pypi": [4, 5, 6, 8, 10, 11, 13], "dateutil": 4, "six": [4, 8, 22], "nose": [4, 22], "distutils_enable_test": [4, 5, 10, 13, 19], "ll": [4, 14], "backport": [4, 6, 10, 12], "zero": [4, 15], "argument": [4, 6, 10, 13, 16, 22], "output": [4, 5, 6, 9, 16, 20, 22], "everi": [4, 5, 6, 8, 11, 14, 15, 16, 18, 20, 22], "escap": [4, 13, 21], "quot": [4, 21], "partial": [4, 5, 9, 10, 13], "python_single_usedep": [4, 5, 13, 21], "cli": [4, 5], "black": 4, "click": 4, "fnmatch": 4, "style": [4, 5, 13, 16, 17, 19, 22], "wildcard": 4, "stdlib": [4, 13, 16], "rememb": [4, 12, 18], "pattern": [4, 12, 13, 21], "prevent": [4, 5, 11, 21, 22], "filenam": [4, 5], "expans": 4, "expand": 4, "zoneinfo": 4, "advantag": [4, 5, 7, 19, 22], "adjust": [4, 9, 11, 16], "switch": [4, 7, 9, 11, 12, 13, 15, 22], "list": [4, 5, 8, 12, 13, 19, 20, 22], "longer": [4, 6, 11, 13, 18, 22], "silent": 4, "updat": [4, 6, 9, 11, 12, 16, 18], "immedi": [4, 5, 12, 21], "becam": [4, 11], "empti": [4, 5, 15, 18], "importlib_metadata": [4, 6, 15, 22], "python3_7": [4, 8], "facilit": [5, 9, 18], "deriv": [5, 6], "notabl": [5, 15, 16, 18], "effici": [5, 15], "oper": [5, 11, 17, 18], "backward": [5, 11, 16], "incompat": [5, 6, 11, 16, 19, 22], "greater": [5, 7], "number": [5, 7, 12, 15, 18, 19, 20, 22], "cost": [5, 11], "flexibl": [5, 7], "wheel": [5, 10, 11, 12, 15, 19, 20], "zip": [5, 6, 18], "stage": [5, 11, 20, 22], "compil": [5, 6, 10, 11, 22], "mere": [5, 7], "imag": [5, 9, 20], "compliant": [5, 7, 18], "invok": [5, 19, 22], "popul": [5, 15], "addition": [5, 9, 11, 14], "pyproject2setuppi": [5, 6, 13], "hack": [5, 6, 7, 13], "reli": [5, 6, 11, 22], "distutils_use_pep517": [5, 13], "legal": 5, "unset": [5, 6], "By": [5, 6, 11], "2022": [5, 13, 19], "xml": [5, 6], "feel": [5, 15], "json": 5, "martinblech": 5, "xmltodict": 5, "mit": [5, 6, 22], "vast": 5, "index": [5, 10], "sdist": [5, 15, 18, 20, 22], "binari": [5, 9, 12, 16], "mechan": [5, 7, 11], "over": [5, 7, 11, 12, 19, 21, 22], "offici": 5, "instanc": [5, 13, 16, 18], "nonfunct": 5, "append": [5, 14, 15, 18, 22], "uniqu": [5, 14], "suffix": [5, 15, 18, 20], "gh": [5, 22], "request": [5, 8, 10, 12, 15], "distfil": [5, 16, 18, 21], "clearli": [5, 20, 22], "tarbal": [5, 12, 22], "textual": 5, "rich": 5, "implic": 5, "cf": [5, 12], "regener": [5, 12], "anywai": [5, 16], "nevertheless": 5, "even": [5, 8, 9, 11, 19, 22], "pregener": 5, "internet": [5, 10, 19], "nodej": 5, "underli": [5, 6, 7], "txt": [5, 6, 12, 19], "ci": [5, 22], "travi": 5, "yml": 5, "grep": 5, "statement": [5, 20], "indirect": 5, "relev": [5, 6, 13, 17, 19, 22], "unnecessarili": 5, "logic": [5, 6, 12, 22], "long": [5, 11, 12], "quickli": 5, "widest": 5, "avoid": [5, 6, 8, 10, 15, 16, 17, 22], "unpredict": 5, "who": [5, 17, 22], "especi": [5, 7, 19, 20, 22], "distutils_single_impl": [5, 7], "aim": [5, 11, 15, 17, 20], "exist": [5, 10, 11, 12, 16, 20], "rewritten": [5, 21, 22], "layer": [5, 14], "pyroot": 5, "rootpi": 5, "physic": [5, 21], "root_numpi": 5, "pytabl": 5, "termcolor": 5, "determin": [5, 6, 7, 11, 21, 22], "flit_cor": [5, 12, 20], "maintain": [5, 10, 11, 12, 16, 19], "suggest": [5, 8, 13, 15, 17, 19, 20, 22], "tabl": [5, 12, 13, 15, 16, 19], "summar": [5, 16], "use_pep517": 5, "hatchl": 5, "jupyt": 5, "jupyter_packag": 5, "build_api": 5, "maturin": 5, "mesonpi": 5, "see": [5, 9, 16, 19, 20, 22], "below": [5, 8], "pbr": [5, 6], "pdm": [5, 13], "pep517": [5, 20], "sip": [5, 8, 15], "sipbuild": 5, "standalon": [5, 12], "itself": [5, 6, 8, 9, 12, 15, 19], "own": [5, 22], "Their": [6, 9, 20], "fix": [5, 6, 10, 11, 12, 15, 16, 19, 20, 22], "produc": [12, 15, 20], "ident": 20, "artifact": 20, "reduc": 20, "footprint": 20, "isol": 20, "faster": 20, "poetry_cor": 20, "smaller": 20, "40": [12, 20], "incorrect": [5, 6, 20], "intend": [16, 20, 22], "implicit": [14, 20, 22], "fallback": [6, 20], "regular": [7, 20, 22], "pleas": [5, 6, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22], "alwai": [5, 6, 8, 11, 13, 16, 17, 18, 20], "unfortun": [13, 15, 16, 19, 20, 22], "due": [10, 12, 14, 18, 19, 20], "prolong": 20, "larg": [5, 12, 15, 19, 20], "tend": 20, "mistak": [15, 20], "checkout": [5, 12, 22], "abil": [5, 6], "tag": [5, 12, 18, 22], "execut": [5, 6, 7, 9, 11, 12, 13, 14, 22], "143": 5, "_install_setup_requir": 5, "attr": [5, 12, 22], "131": 5, "dist": 5, "dict": [5, 21], "425": 5, "_distribut": 5, "self": [5, 16, 19, 22], "292": 5, "finalize_opt": 5, "717": 5, "ep": 5, "48": 5, "infer_vers": 5, "_get_vers": 5, "config": [5, 9, 12], "148": 5, "parsed_vers": 5, "_do_pars": 5, "110": 5, "rais": [5, 16], "lookuperror": 5, "scm": 5, "unabl": [5, 15, 22], "sure": [5, 15, 19, 22], "re": [5, 8, 15, 22], "intact": 5, "git": [5, 12, 22], "folder": 5, "don": [5, 13], "t": [5, 7, 8, 11, 13, 22], "pip": [5, 12, 22], "proj": 5, "master": [5, 22], "egg": [5, 6, 19], "setuptools_scm_pretend_vers": 5, "static": [5, 8], "write": [5, 6, 7, 12, 16, 17, 20], "hybrid": [5, 10], "expos": [5, 6, 22], "guarante": [5, 6, 10, 18], "taken": [5, 16, 22], "ship": [5, 20], "issu": [5, 6, 13, 15, 16, 19, 22], "forc": [4, 5, 6, 8, 9, 12, 13, 19, 22], "frobnic": 5, "makefil": [5, 14], "jq": 5, "pyx": 5, "unresolv": 5, "regard": 5, "simultan": [5, 11, 17, 22], "link": [5, 7, 9, 16], "editor": 5, "broken": [5, 6, 19, 22], "cryptic": 5, "revers": [5, 7, 12, 15], "miscompil": 5, "panda": 5, "breakag": [5, 22], "dask": [5, 19], "29": 5, "_lib": 5, "hashtabl": 5, "_hashtabl": 5, "tslib": 5, "_tslib": 5, "13": [5, 15, 18, 19, 22], "interv": 5, "init": 5, "30": [5, 11], "convers": [5, 6], "outofboundstimedelta": 5, "localize_pydatetim": 5, "importerror": [5, 6, 10, 11, 16], "38": [5, 20], "x86_64": 5, "undefin": 5, "symbol": 5, "pandas_datetime_to_datetimestruct": 5, "easiest": [5, 15, 21], "workaround": [5, 20], "j1": 5, "origin": [5, 9, 11, 12, 16], "overrid": [5, 9, 14, 18, 22], "extend": [5, 11], "introduc": [5, 11], "src_": 5, "python_": [5, 8], "_all": [5, 8], "compris": 5, "behav": [5, 8], "r1_": 5, "correspond": [5, 11, 12, 15], "python_prepare_al": [5, 19], "each": [5, 6, 7, 11, 14], "foreach": 5, "python_configure_al": 5, "python_compile_al": [5, 8], "python_test_al": 5, "dedic": [5, 6, 12, 14], "chang": [5, 6, 8, 9, 10, 11, 13, 14, 15, 18, 20, 22], "task": [5, 8, 12], "default_src_prepar": 5, "ez_setup": 5, "bootstrap": [5, 6, 10], "end": [5, 6, 7, 9, 11, 14, 19, 22], "dir": [5, 14], "extran": 5, "fixm": 5, "test_pytest_plugin": 5, "test_testcase_no_app": 5, "_": [5, 12, 15, 18, 22], "test_test_util": 5, "pointless": 5, "cov": [5, 19, 22], "addopt": 5, "aiohttp": [5, 19], "r1_python_prepare_al": [5, 19], "duplic": [5, 14, 22], "moment": [5, 11, 13, 15], "modif": 5, "keep": [5, 15, 17], "why": [5, 6, 10], "console_script": [5, 6], "configur": [5, 6, 8, 13, 14, 20, 22], "step": [5, 6, 7, 8, 14], "esetup": [5, 8], "mpi": 5, "distutils_arg": [5, 13], "resourcepath": 5, "compress": 5, "manpag": 5, "distutils_enable_sphinx": [5, 8], "emak": [5, 8, 9], "strongli": [5, 6, 15], "encourag": [5, 15], "testbitvector": 5, "redefin": [5, 19], "too": [5, 11, 22], "collada": 5, "einstalldoc": [5, 8, 14], "docinto": 5, "sample_cod": 5, "docompress": 5, "pf": 5, "main": [5, 9], "manipul": [5, 22], "arrai": 5, "futur": [5, 15, 18], "pillow": 5, "build_ext": [5, 6, 22], "tiff": 5, "webp": 5, "dash": 5, "underscor": [5, 15, 18, 22], "boolean": 5, "disable_tiff": 5, "enable_tiff": 5, "disable_webp": 5, "enable_webp": 5, "modifi": [5, 6, 11, 15, 20, 22], "beforehand": 5, "econf": [5, 21], "paremet": 5, "find_packag": 20, "wrongli": [16, 20, 22], "grab": [13, 20], "attempt": [16, 20, 22], "forbidden": [], "exclud": 20, "paramet": [8, 16, 20, 22], "properli": [6, 13], "intermedi": [], "minim": [11, 15, 16, 22], "precis": [8, 9, 22], "catch": [20, 22], "earli": [7, 8, 12, 22], "anywher": [], "first": [6, 10, 11, 12, 15, 16, 19, 20, 22], "easi": [16, 20, 22], "whitelist": 22, "sanit": [11, 16, 22], "mozilla": 22, "bleach": 22, "webencod": 22, "unittest": [5, 11, 22], "discoveri": [19, 20, 22], "univers": 22, "encod": [16, 22], "detector": 22, "chardet": [8, 22], "cygwin": [6, 22], "hypothesi": 22, "bottom": 22, "venv": [5, 6, 13, 22], "temporari": [5, 6, 22], "frequent": [18, 19, 22], "littl": [6, 19, 22], "skip": [4, 8, 10, 12, 16, 20], "those": [5, 6, 8, 9, 19, 22], "how": 22, "statist": 22, "want": [6, 8, 22], "across": [5, 11, 22], "irrelev": 22, "pep8": 22, "pycodestyl": 22, "flake8": [19, 22], "thin": [6, 22], "alreadi": [9, 12, 14, 15, 16, 20, 22], "close": 22, "pre": 22, "post": [6, 13, 15, 18, 22], "easili": [5, 14, 19, 22], "r1_src_test": [5, 22], "cmd": 22, "cmd2": 22, "colorama": 22, "pyperclip": 22, "wcwidth": 22, "text": [5, 8, 16, 22], "column": 22, "80": 22, "fact": 22, "simpli": [15, 16, 17, 22], "3_6": [14, 22], "3_7": [14, 22], "3_8": 22, "tab": [15, 22], "argpars": 22, "argcomplet": 22, "fish": 22, "tcsh": 22, "rel": [19, 20, 22], "epytest": [4, 5, 6, 8, 12, 19, 22], "network": [6, 19, 22], "marker": [10, 22], "m": [15, 19, 20, 22], "displai": 22, "appeas": 22, "usng": 22, "xvfb": 22, "server": 22, "virtx": 22, "nonfat": 22, "termin": 22, "context": [21, 22], "come": [5, 13, 19], "theme": [5, 6, 8], "hard": [5, 8, 12], "To": [5, 6, 8, 9, 12, 15, 16, 19, 20, 21], "conf": [5, 6, 20], "ext": 5, "distutils_use_setuptool": [5, 13], "color": 5, "stream": 5, "handler": 5, "log": [5, 20], "coloredlog": 5, "xolox": 5, "readthedoc": 5, "en": 5, "latest": [5, 15], "humanfriendli": 5, "expert": [5, 10, 14, 22], "uncommon": [5, 15], "third": [5, 7, 13, 20], "parti": 5, "inflect": 5, "word": 5, "jazzband": 5, "rst": 5, "linker": [5, 9], "alabast": [5, 6], "python_target": [5, 7, 8, 11, 12], "inspect": 5, "omit": [5, 15, 16], "port": [5, 8, 10], "pyseri": 5, "psf": 5, "tri": 5, "been": [5, 6, 8, 11, 12, 13, 14, 16, 19, 20], "assumpt": 5, "consum": [5, 6, 22], "distutils_opt": 5, "alter": [5, 19], "distutils_dep": 5, "dependneci": 5, "r1_src_compil": 5, "r1_src_instal": 5, "primari": [5, 19], "alongsid": [5, 6], "libfoo": 5, "r1_src_configur": [], "setuptools_rust": 5, "ecosystem": [5, 15, 17], "bump": [5, 12, 15, 18], "lock": 5, "Then": 12, "crate": 5, "cargo_opt": 5, "url": [5, 10, 11, 15, 16], "cargo_crate_uri": 5, "qa_flags_ignor": 5, "posit": [5, 15], "cflag": [5, 9, 22], "cargo_src_unpack": 5, "inflector": 5, "alias": [5, 16], "asn1": 5, "asn1_der": 5, "_rust": 5, "src_unpack": 5, "benefit": [5, 7], "yet": [5, 8, 11, 21], "cyclic": 5, "suppos": [5, 16], "overlap": 5, "machineri": 5, "op": 5, "unless": [5, 6, 8, 15, 18], "merg": [4, 5], "toward": 5, "effect": [5, 8, 11, 20], "pick": [5, 12], "up": [5, 6, 9, 11, 13, 14, 15, 17, 19, 20, 22], "hukkin": 5, "tomli": [5, 12, 15], "pythonhost": [5, 18], "py3": [5, 18, 19], "whl": [5, 18], "unzip": [5, 18], "deliber": 5, "unpack": [5, 18], "gpep517": [5, 18, 20], "python_newscript": [5, 9], "__main__": [5, 22], "exit": [5, 16, 20, 22], "fragment": [5, 16], "emesonarg": 5, "dlint": 5, "meson_src_configur": 5, "meson_src_compil": 5, "meson_src_test": 5, "meson_src_instal": 5, "here": [6, 8, 14, 21], "direct": [6, 14], "convert": [6, 8, 13], "facil": 6, "right": [6, 7], "fit": [6, 22], "profil": [4, 6, 15], "pyproject2toml": 6, "misbehav": 6, "subsequ": [6, 18, 20], "qa": [6, 9, 10, 12, 17], "expect": [6, 11, 16, 19, 20, 22], "sidebar": 6, "bitprophet": 6, "possibli": [6, 22], "snippet": [6, 16, 20], "except": [6, 7, 9, 11, 12, 16], "pm": 6, "cleanli": [6, 12], "condit": [6, 10, 12, 19, 22], "leav": 6, "never": [6, 11, 13, 16], "clean": [6, 11, 13], "requier": 6, "With": [6, 22], "themselv": [6, 19, 20, 22], "entry_point": [6, 19], "dictionari": [6, 21], "our": [6, 19, 22], "interest": [6, 8, 22], "gui_script": 6, "meaning": 6, "importlib": [6, 11, 22], "fall": [6, 16], "remind": 6, "distutils_strict_entry_point": 6, "trigger": [6, 12, 19, 20, 22], "wrong": [6, 13, 15], "leftov": 6, "resourc": [6, 11, 12, 20], "submit": [6, 20], "suppli": 6, "heavi": 6, "speak": [6, 11], "known": [6, 16, 22], "limit": [6, 12, 15, 17], "address": [6, 11, 16], "definit": 6, "subdirectori": [6, 9], "interspers": [6, 20], "closest": 6, "inplac": 6, "shift": [6, 11], "throughout": 6, "2to3": 6, "distutils_in_source_build": 6, "collect": [6, 19, 22], "pypa": 6, "riscv": [6, 8, 21], "pythonpath": [6, 22], "distutils_install_for_test": [6, 13, 19, 22], "alik": [6, 7, 11, 13], "preserv": [6, 11, 15, 16], "extrem": 6, "home": [6, 12, 13], "went": 6, "awai": [6, 7, 18], "python_test": [4, 6, 8, 9, 12, 19, 22], "total": 7, "rare": [7, 9, 19, 22], "simpler": 7, "complex": [7, 16, 18, 21], "primarili": [7, 11], "involv": [7, 8, 13], "graph": [7, 11, 12], "meet": 7, "potenti": [7, 11, 15, 16, 19], "basi": 7, "occur": [7, 11, 19], "libpython": [7, 11, 16], "aforement": [7, 13, 16, 18], "foo": [7, 16], "wise": 7, "abstract": [7, 14, 18], "scon": [7, 8, 10, 20], "second": [7, 13, 20], "easier": [7, 18, 20], "select": [7, 8, 19, 21], "allow": [7, 22], "repeat": [7, 14, 15, 20], "model": 7, "libboost_python": 7, "python_single_target": [7, 11, 12], "Its": [7, 12, 18], "legaci": [7, 10, 13, 16, 20, 22], "power": 8, "harder": [8, 15], "ninja": [8, 15], "train": 8, "opposit": [8, 11, 13], "investig": 8, "human": 8, "beings": 8, "socks5": 8, "ssl": 8, "certifi": [8, 15], "2017": 8, "17": 8, "idna": 8, "urllib3": [8, 12], "26": 8, "pysock": 8, "cryptographi": [8, 15], "pyopenssl": 8, "14": [8, 22], "httpbin": [8, 19], "hang": 8, "continu": [8, 12, 22], "python_gen_useflag": 8, "out": [8, 9, 10, 11, 12, 13, 14, 15, 16], "toolkit": 8, "translat": [8, 18], "format": [8, 12, 15, 16, 18, 20], "subtitl": 8, "pydiff": 8, "iso": 8, "lxml": 8, "pycountri": 8, "18": 8, "levenshtein": 8, "devel": 8, "gettext": 8, "video": 8, "gaupol": 8, "riverbankcomput": 8, "intro": 8, "sip_api_major_nr": 8, "siplib": 8, "h": [8, 9, 21], "bison": 8, "flex": 8, "prepar": [8, 9, 20, 21], "bindir": 8, "incdir": 8, "python_get_includedir": [8, 9, 13], "echo": [8, 20], "distutils_all_subphase_impl": 8, "python3_5": 8, "bzip2": 8, "epydoc": 8, "eselect": 8, "elibc_glibc": 8, "sandbox": [8, 20, 22], "kernel_linux": 8, "pax": 8, "rsync": 8, "userland_gnu": 8, "coreutil": 8, "sphinx_rtd_them": 8, "practic": [8, 11, 12], "big": 8, "imagin": 8, "anymor": [8, 11], "downgrad": 8, "though": [8, 11], "resembl": [8, 19], "presenc": [8, 19], "activ": [8, 17], "behavior": [8, 11, 16, 18], "goal": [8, 12, 22], "side": [8, 11], "someth": [8, 9, 22], "accord": [8, 18], "integr": [8, 9, 10, 11], "won": 8, "reject": [8, 15, 16], "unsupport": [8, 11], "python_is_python3": [8, 13], "basic": [9, 10], "reus": [9, 15], "four": [9, 13, 21], "python_doex": 9, "python_newex": 9, "python_doscript": [9, 14, 21], "recurs": [9, 15, 19], "python_dohead": 9, "python_scriptinto": 9, "affect": [9, 11, 14, 18], "symlink": 9, "onto": 9, "improv": [9, 10, 11, 17], "cropgtk": 9, "sbin": 9, "pynslcd": 9, "anyth": 9, "land": 9, "my_pn": 9, "doin": 9, "libimag": 9, "env": [9, 12], "python_fix_shebang": 9, "sphinxtrain": 9, "openvpn": 9, "vulnkei": 9, "insinto": 9, "kitti": 9, "speed": 9, "nowadai": [9, 12, 13], "pypy2": [9, 11], "_feedparser_sgmllib": 9, "lib64": 9, "byte_compil": 9, "cmake_src_instal": 9, "entropi": 9, "ocassion": 9, "bad": [9, 16], "seri": 9, "getter": [9, 13, 16], "python_get_scriptdir": 9, "python_get_library_path": [9, 13], "python_get_cflag": 9, "preprocessor": 9, "pkg": 9, "python_get_lib": 9, "python_get_python_config": 9, "offset": 9, "mycmakearg": [9, 13, 21], "dpython_dest": 9, "dpython_execut": 9, "dpython_include_dir": 9, "dpython_librari": 9, "cmake_src_configur": [9, 21], "pyinc": 9, "pylib": 9, "micha\u0142": 10, "g\u00f3rny": 10, "creativ": 10, "intern": 10, "prefac": 10, "life": 10, "cycl": [10, 12], "stabil": 10, "choos": [10, 11, 14], "overview": 10, "variant": [10, 11, 16, 19], "flit_scm": 10, "hatch": 10, "vc": [10, 22], "snapshot": [10, 22], "parallel": 10, "race": 10, "command": [10, 14, 15, 19, 20, 22], "usag": [10, 18], "rust": 10, "cargo": 10, "variat": 10, "byte": [10, 16], "queri": [10, 16], "advanc": 10, "cffi": 10, "greenlet": [10, 19], "checklist": 10, "abort": 10, "assert": [10, 20], "recip": 10, "xdist": [10, 12, 22], "autoload": 10, "typeerror": 10, "_make_test_flaki": 10, "got": [10, 13], "unexpect": [10, 20], "rerun": 10, "importpathmismatcherror": 10, "fixtur": [10, 12], "namespac": [10, 19], "disjoint": 10, "waf": [10, 21], "tip": [10, 22], "retroact": 10, "migrat": [10, 18], "bytecod": 10, "relat": [10, 12, 13, 15, 22], "mainten": 10, "co": [10, 22], "monitor": [10, 20], "routin": [10, 14], "page": [10, 16, 17], "increment": 11, "minor": [11, 22], "plan": 11, "On": 11, "hand": [11, 13], "platform": [11, 16, 18, 22], "linux_distribut": 11, "window": 11, "understood": 11, "initi": [11, 22], "enter": 11, "stabl": [11, 12, 15], "prematur": [11, 15], "mask": [4, 11, 12, 15], "beta": 11, "made": [11, 13, 14, 16, 21], "regress": 11, "readi": [11, 12, 15], "dai": 11, "inconsist": [11, 15, 22], "mark": [11, 15, 19, 22], "architectur": [4, 11], "clear": [11, 15], "depenend": 11, "repeatedli": 11, "ask": [11, 15], "push": [11, 12, 15], "forward": 11, "eventu": [11, 12], "becom": [11, 16], "slowli": [11, 15], "discontinu": 11, "next": [11, 12, 15, 19], "june": 11, "juli": 11, "year": 11, "predict": [11, 21], "nears": 11, "great": 11, "obsolet": [11, 13], "feasibl": [4, 11, 15], "vulner": 11, "break": [11, 15, 16], "revert": 11, "enum": 11, "urlsplit": 11, "secur": [11, 12], "abi": [11, 18], "bugfix": 11, "occasion": 11, "remain": [4, 11, 12, 13], "contrari": [11, 16], "hold": [11, 16], "subslot": 11, "fortun": 11, "late": 11, "hous": 11, "rpython": 11, "lot": [11, 15], "good": [11, 15, 17, 19, 22], "gc": 11, "jython": 11, "java": 11, "stand": 11, "alon": 11, "bidirect": 11, "interact": 11, "slow": 11, "pace": 11, "ironpython": 11, "brython": 11, "web": 11, "javascript": 11, "dom": 11, "micropython": 11, "microcontrol": 11, "down": 11, "hardwar": 11, "tauthon": 11, "accompani": 11, "nor": [11, 17, 20], "ideal": [11, 15, 22], "funcsig": 11, "signatur": [11, 16], "afterward": [11, 14, 15], "later": 11, "lzma": 11, "compet": 11, "amount": [11, 12, 22], "ipaddress": 11, "drop": [11, 16], "box": [11, 13], "hexvers": [11, 22], "0x03030000": 11, "trolliu": 11, "asyncio": [11, 19, 22], "nativ": 11, "workflow": 12, "clone": 12, "remot": [12, 15, 22], "fetch": [5, 10, 12], "rebas": 12, "v3": 12, "cherri": 12, "upload": 12, "mkdir": 12, "scp": 12, "precompil": [12, 20], "unusu": 12, "structur": [12, 22], "ex": 12, "technic": [12, 18], "docker": 12, "binpkg": 12, "diff": 12, "mgorni": 12, "desc": 12, "_python_all_impl": 12, "_python_verify_pattern": 12, "_python_set_impl": 12, "_python_impl_match": 12, "python_pkg_dep": 12, "gpyutil": [12, 15], "circular": 12, "eas": [12, 15], "temporarili": [12, 13], "python3_11": 12, "20": [12, 18], "pwd": 12, "round": 12, "signific": [4, 12, 19], "remaind": 12, "pydant": 12, "epytest_deselect": [4, 12, 19], "test_comparison": 12, "test_close_to_now_": 12, "lenient": 12, "deselect": [4, 12, 19, 22], "unblock": 12, "100": 12, "emerg": [12, 20], "previous": 12, "reinstal": 12, "batch": [12, 20], "focus": 12, "reenabl": [12, 19], "face": [12, 22], "goe": [12, 22], "unbundl": 12, "obligatori": [12, 15], "baselin": 12, "ones": 12, "chosen": 12, "fewest": 12, "vendor": [12, 13], "februari": 13, "gross": 13, "serv": 13, "placehold": 13, "transit": [13, 15], "period": [13, 15], "ban": 13, "python_multi_usedep": 13, "know": [13, 16, 22], "given": 13, "repoman": 13, "pkgcheck": [13, 15], "tell": 13, "chose": 13, "reorder": 13, "desir": [13, 16, 20, 22], "scan": [13, 15], "unmatch": 13, "trial": 13, "stuff": 13, "thing": [13, 17, 19], "privat": 13, "python_export": 13, "python_wrapper_setup": 13, "python_gen_usedep": 13, "mydistutilsarg": 13, "renam": [13, 15, 16, 18, 20], "cleanup": 13, "python_gen": 13, "march": 13, "python_get": 13, "python_includedir": 13, "python_libpath": 13, "dpython3_include_dir": 13, "dpython3_librari": 13, "sundri": 13, "stop": [13, 16, 18], "realli": [13, 15, 19, 22], "ugli": 13, "sole": 13, "uppercas": [13, 15, 16, 18], "fourth": 13, "cruft": 13, "short": [13, 19], "evalu": 13, "januari": 13, "safe": 13, "streamlin": 13, "inde": 13, "foundat": 14, "fionet": 14, "psql": 14, "cach": 14, "sourceforg": [14, 21], "replic": 14, "tgz": 14, "libcangji": 14, "cangjian": 14, "i18n": 14, "eautoreconf": [14, 16], "econf_sourc": 14, "la": 14, "multibuild": 14, "unnecessari": [14, 15, 21, 22], "libtool": 14, "buggi": 14, "canva": 14, "widget": 14, "gtk": 14, "cairo": 14, "2d": 14, "draw": 14, "goocanva": 14, "subdir": 14, "am": 14, "gnome2_src_prepar": 14, "gnome2_src_configur": 14, "gnome2_src_instal": 14, "sub_instal": 14, "gi": 14, "_overridesdir": 14, "outsid": [14, 21], "qemu": 14, "kernel": 14, "machin": [14, 20], "userland": 14, "kvm": 14, "qemu_python_instal": 14, "vmxcap": 14, "qmp": 14, "ga": 14, "reach": 15, "eol": [15, 16], "proactiv": 15, "anticip": 15, "soon": 15, "wide": [15, 22], "revis": [12, 15], "newli": 15, "risk": 15, "team": 15, "manpow": 15, "member": 15, "u": 15, "gemato": 15, "carri": 15, "histori": 15, "rss": 15, "comprehens": 15, "opml": 15, "followup": 15, "track": [12, 15], "mail": [12, 15], "suscept": 15, "confus": [15, 19], "sync": [15, 19], "conflict": 15, "cx": 15, "freez": 15, "patchelf": 15, "openapi": 15, "spec": [15, 16], "60": 15, "59": 15, "62": 15, "pin": 15, "httpcore": 15, "15": 15, "httpx": 15, "23": [15, 22], "sphobjinv": 15, "28": 15, "date": [15, 17, 20, 22], "pend": 15, "pip3": 15, "dirti": 15, "equal": [15, 22], "filetyp": 15, "mercuri": 15, "node": 15, "semver": 15, "pyqt": 15, "builder": 15, "pyqt5": 15, "pyqtwebengin": 15, "rout": 15, "dev20220522": 15, "selenium": 15, "141": 15, "sphinxcontrib": 15, "websupport": 15, "dev20220515": 15, "uri": 15, "watchfil": 15, "watchgod": 15, "dev0": 15, "sign": [12, 15], "tag_build": 15, "compar": [15, 16], "tempest": 15, "oslo": 15, "stestr": 15, "versioningit": 15, "wstool": 15, "think": 16, "ve": 16, "hit": 16, "me": 16, "18_p9": 16, "13_p3": 16, "10_p3": 16, "9_p2": 16, "4_p1": 16, "urllib": 16, "pars": 16, "exploit": 16, "verbatim": 16, "worm": 16, "danger": 16, "worst": [16, 22], "unpars": 16, "django": [16, 22], "pr": 16, "14349": 16, "impact": [16, 20], "urlpars": 16, "nurl": 16, "parseresult": 16, "scheme": 16, "netloc": 16, "param": [16, 19], "badurl": 16, "what": 16, "attributeerror": 16, "492": 16, "decor": [16, 22], "async": [16, 19], "def": [16, 19, 22], "yield": 16, "await": 16, "sleep": 16, "callabl": 16, "mostli": [16, 17], "getfullargspec": 16, "p1": 16, "p2": 16, "kp3": 16, "kp4": 16, "kp5": 16, "arg": 16, "kwarg": 16, "argspec": 16, "vararg": 16, "fullargspec": 16, "varkw": 16, "kwonlyarg": 16, "kwonlydefault": 16, "annot": 16, "tupl": 16, "int": 16, "str": 16, "float": 16, "k6": 16, "k7": 16, "k8": 16, "One": [16, 22], "prototyp": 16, "bar": 16, "pretti": 16, "stringif": 16, "automak": 16, "16": 16, "exec_prefix": 16, "met": 16, "pkg_config_path": 16, "python_cflag": 16, "python_lib": 16, "man": 16, "autoreconf": 16, "throw": 16, "get_python_inc": 16, "get_path": 16, "platinclud": 16, "get_python_lib": 16, "purelib": 16, "platlib": 16, "platstdlib": 16, "todai": 16, "encodebyt": 16, "decodebyt": 16, "ought": 16, "unicod": 16, "version_info": 16, "b64_encodebyt": 16, "b64encod": 16, "b64decod": 16, "insert": 16, "newlin": 16, "length": 16, "until": 16, "emb": 16, "lpython3": 16, "7m": 16, "among": 17, "beyond": 17, "reliabl": [17, 22], "deep": 17, "beginn": 17, "peopl": 17, "suboptim": 17, "improp": 17, "fill": 17, "gap": 17, "welcom": 17, "whole": [4, 19, 22], "parametr": 19, "epytest_ignor": 19, "test_client": 19, "test_gener": 19, "test_filenam": 19, "test_transport": 19, "test_transport_work": 19, "eventlet": 19, "test_contextvar": 19, "test_leak": 19, "might": 19, "intent": 19, "Not": 19, "collid": [19, 22], "instabl": 19, "unstabl": 19, "discret": 19, "decid": 19, "justifi": 19, "semi": 19, "random": 19, "multiprocess": 19, "finish": 19, "01": 19, "chanc": 19, "experienc": 19, "insuffici": 19, "nest": 19, "envvar": 19, "pytest_disable_plugin_autoload": 19, "pytest_plugin": 19, "comma": 19, "looponfail": 19, "pytest_fork": 19, "flaki": [19, 22], "rerunfailur": 19, "supposedli": 19, "twice": 19, "_pytest": [19, 22], "pathlib": [19, 22], "posixpath": 19, "signifi": 19, "event_loop": 19, "freezer": 19, "mocker": 19, "captur": [19, 22], "summari": 19, "asgiref": 19, "135": 19, "test_loc": 19, "test_sync": 19, "test_sync_contextvar": 19, "deprecationwarn": 19, "main_event_loop": 19, "get_event_loop": 19, "filterwarn": 19, "fatal": [19, 22], "_____________________": 19, "______________________": 19, "577": 19, "asgitest": 19, "testcas": 19, "583": 19, "test_wrapped_case_is_collect": 19, "interrupt": 19, "world": 19, "elog": 20, "portage_elog_class": 20, "optim": 20, "size": 20, "oo": 20, "docstr": 20, "store": 20, "disk": [20, 22], "permiss": 20, "uninstal": 20, "violat": 20, "auxiliari": 20, "readabl": [20, 22], "trimesh": 20, "__pycache__": 20, "blender_boolean": 20, "310": 20, "opt": 20, "notic": 20, "blueman": 20, "constant": 20, "deviceclass": 20, "sdp": 20, "tmpl": 20, "pair": 20, "docbook": 20, "35": 20, "36": 20, "plot": 21, "voacap": 21, "propag": 21, "qsl": 21, "hz1jw": 21, "pythonprop": 21, "basemap": 21, "gtk2": 21, "doubl": 21, "energi": 21, "yoda": 21, "hepforg": 21, "use_en": 21, "pyext": 21, "extra_opt": 21, "give": 21, "sound": 21, "signal": [21, 22], "composit": 21, "csound": 21, "fordfrog": 21, "dbuild_python_interfac": 21, "dbuild_python_opcod": 21, "superset": 21, "arab": 21, "arabey": 21, "duali": 21, "pyduali": 21, "dict2db": 21, "trans2arab": 21, "arabic2tran": 21, "domain": 22, "firstli": 22, "idea": [15, 22], "nosetest": 22, "secondli": 22, "strict": 22, "thirdli": 22, "wholli": 22, "spew": 22, "seem": 22, "ceas": 22, "downstream": 22, "convinc": [4, 22], "preced": 22, "area": 22, "____________________": 22, "systemd": 22, "test_login": 22, "234": 22, "hint": [12, 22], "578": 22, "_importtestmodul": 22, "mod": 22, "import_path": 22, "fspath": 22, "importmod": 22, "524": 22, "import_modul": 22, "module_nam": 22, "127": 22, "_bootstrap": 22, "_gcd_import": 22, "frozen": 22, "1014": 22, "991": 22, "_find_and_load": 22, "975": 22, "_find_and_load_unlock": 22, "671": 22, "_load_unlock": 22, "rewrit": 22, "170": 22, "exec_modul": 22, "__dict__": 22, "login": 22, "r2": 22, "discov": 22, "pyarg": 22, "guess": 22, "quick": 22, "mayb": 22, "eunittest": 22, "aris": 22, "confirm": 22, "whom": 22, "myself": 22, "subtl": 22, "lead": 22, "But": 22, "bewar": 22, "unexpectedli": 22, "test_start_params_bug": 22, "xfail": 22, "statsmodel": 22, "tsa": 22, "test_arima": 22, "horrend": 22, "space": 22, "mayhem": 22, "5a": 22, "test_null_byt": 22, "skipif": 22, "0x03000000": 22, "unconditioanlli": 22, "test_babel_with_language_": 22, "test_build_latex": 22, "test_polyglossia_with_language_": 22, "altogeth": 22, "replai": 22, "devmanu": 22, "explan": 22, "connect": 22, "pygit2": 22, "no_network": 22, "properti": 22, "test_network": 22, "allow_test": 22, "unclear": 22, "backtrac": 22, "pluggi": 22, "cachedir": 22, "pytest_cach": 22, "rootdir": 22, "var": 22, "sabyenc": 22, "configfil": 22, "item": 22, "test_decod": 22, "test_crc_pickl": 22, "54": 22, "test_empty_size_pickl": 22, "0x00007f748bc47740": 22, "testsupport": 22, "74": 22, "sabyenc3_wrapp": 22, "119": 22, "180": 22, "pytest_pyfunc_cal": 22, "caller": 22, "187": 22, "_multical": 22, "temp": 22, "2934": 22, "66": 22, "dump": [16, 22], "vv": 22, "34": 22, "timeout": 22, "25": 22, "sabyenc3": 22, "596": 22, "decode_usenet_chunk": 22, "pybytearray_check": 22, "pylist_getitem": 22, "py_input_list": 22, "lp": 22, "0x00007fb5db746740": 22, "73": 22, "117": 22, "87": 22, "lambda": 22, "runpi": 22, "85": 22, "_run_cod": 22, "193": 22, "_run_module_as_main": 22, "reproduc": 22, "ubuntu": 22, "dndebug": 22, "leak": 22, "o0": 22, "isort": 22, "distutils_pep517_instal": 22, "destin": 22, "cp": 22, "pushd": 22, "null": 22, "popd": 22, "novemb": 16, "tomllib": [], "w": 18, "tomlkit": 16, "edit": 16, "wherea": [16, 18], "input": 16, "tomldecodeerror": 16, "d1": 16, "in1": 16, "in2": 16, "d2": 16, "d3": 16, "rb": 16, "insist": 16, "incompatibilit": 16, "consider": 16, "tomli_w": 16, "wb": 16, "trustm": 4, "test_request": 4, "testrequest": 4, "test_https_warn": 4, "outer": 4, "tl": 4, "pull": 4, "python_vers": 16, "pycargoebuild": 5, "obsolesc": 12, "announc": 12, "proce": 12, "progress": 12, "show": 12, "effort": 12, "rite": [], "_python_historical_impl": 12, "statu": 12, "dead": 12, "polici": 10, "live": [], "2023": [], "conform": 15, "publish": 15, "hyphen": 15, "dot": [15, 18], "crucial": 15, "bugzilla": 15, "illustr": 15, "flask": [15, 18], "babel": 15, "github3": 15, "sphinx_pytest": 15, "redirect": 15, "mismatch": [], "charact": [15, 18], "canon": [15, 18], "id": 15, "unnot": [], "bear": 15, "mind": 15, "doubt": 15, "reserv": 15, "503": 15, "insensit": 15, "letter": [15, 18], "turn": 15, "lowercas": [15, 18], "titl": [15, 18], "423": 15, "incomplet": 5, "strai": 10, "changelog": 20, "wait": 20, "qawarn": 20, "box_logo": [], "png": [], "test_": [], "ref": [], "buildapi": 5, "masonri": 5, "build_meta": 5, "__legacy__": 5, "small": 18, "adapt": 18, "overwritten": 18, "execnet": 18, "c0459b92bc4a42b08281e69b8802d24c5d3415d4": 18, "pypi_sdist_url": 18, "markup": 18, "prebuilt": 18, "pypi_wheel_url": 18, "aid": 18, "ensurepip": 18, "pypi_wheel_filenam": 18, "synopsi": 18, "hash": 18, "2e": 18, "36e46173a288c1c40853ffdb712c67e0e022df0e1ce50b7b1b50066b74d4": 18, "inconveni": 18, "settl": 18, "pytag": 18, "625": 18, "440": 18, "transform": 18, "contigu": 18, "babelex": 18, "flask_babelex": 18, "predat": 18, "minu": 18, "abitag": 18, "platformtag": 18, "cp39": 18, "427": 18, "alphanumer": 18, "left": 18, "_alpha": 18, "_beta": 18, "_p": 18, "pypi_no_norm": 18, "overriden": 18}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"python": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22], "ani": [0, 8], "r1": [0, 2, 5, 6, 7, 8, 13, 14, 21], "build": [0, 1, 2, 5, 6, 7, 8, 12, 13, 14, 21], "time": [0, 2, 7, 8, 14, 21], "depend": [0, 1, 2, 4, 5, 8, 14, 19, 21, 22], "basic": [0, 1, 5, 21, 22], "us": [0, 2, 3, 4, 5, 6, 7, 8, 14, 19, 21, 22], "uncondit": [0, 21], "condit": [0, 2, 4, 5, 14, 21], "addit": [0, 5, 14], "multipl": [0, 11, 21], "set": [0, 8], "common": [1, 9], "python_compat": 1, "python_dep": 1, "python_required_us": 1, "environ": [1, 22], "packag": [1, 2, 3, 4, 5, 6, 7, 12, 14, 15, 16, 18, 20, 21, 22], "The": [1, 5], "most": 1, "type": 1, "find": 1, "list": [1, 15, 16], "from": [1, 13], "system": [1, 2, 5, 6, 12], "integr": [2, 5], "written": 2, "meson": 2, "scon": 2, "extra": [2, 22], "singl": [2, 5, 7, 13, 21], "impl": [2, 7, 14, 21], "instal": [2, 5, 6, 9, 14, 15, 20, 21, 22], "pure": [2, 14], "multi": [2, 7, 14], "hybrid": [2, 21], "waf": 2, "advanc": [3, 4], "concept": [3, 6], "namespac": 3, "hierarch": 3, "structur": 3, "determin": 3, "whether": 3, "ar": [3, 20], "ad": [3, 12, 15, 22], "new": [3, 12, 15], "gentoo": [3, 10], "legaci": [3, 5, 6, 18], "request": 4, "flag": 4, "interpret": [4, 8, 11, 12], "version": [4, 11, 15, 18], "cffi": 4, "greenlet": 4, "distutil": [5, 6, 7, 8, 16], "standard": 5, "pep": [5, 13, 20, 22], "517": [5, 13, 20, 22], "mode": [5, 22], "sourc": [5, 6, 18], "archiv": [5, 18], "variant": 5, "deprec": [16, 20], "backend": [5, 20], "flit": 20, "buildapi": 20, "poetri": 20, "masonri": 20, "api": [8, 20], "setuptool": [6, 20], "build_meta": 20, "__legacy__": 20, "setuptools_scm": 5, "flit_scm": 5, "hatch": 5, "vc": 5, "snapshot": 5, "cython": 5, "parallel": [5, 19], "race": 5, "sub": 5, "phase": [5, 22], "function": [5, 9], "python_prepar": 5, "python_configur": 5, "python_compil": 5, "python_test": 5, "python_instal": 5, "pass": 5, "argument": [5, 19], "setup": 5, "py": 5, "call": 5, "custom": [5, 18, 22], "command": 5, "prevent": [], "test": [4, 5, 6, 15, 19, 20, 22], "directori": [], "being": [], "enabl": 5, "distutils_enable_test": 22, "more": 22, "befor": [6, 22], "run": [19, 22], "undesir": 22, "pytest": [19, 22], "virtualx": 22, "document": [5, 20], "via": [5, 15], "sphinx": 5, "autodoc": 5, "extens": [5, 22], "without": [5, 16], "option": [4, 5], "usag": [5, 8], "rust": [4, 5], "cargo": 5, "manual": [5, 14, 21], "build_dir": 5, "d": 5, "non": 5, "differ": [6, 8], "variat": 6, "distutils_use_setuptool": 6, "entri": 6, "point": 6, "other": [6, 19], "runtim": [6, 7, 21], "pyproject": 6, "toml": [6, 16], "base": [6, 16, 19], "project": [6, 15], "In": 6, "v": [6, 7], "out": 6, "choos": [7, 22], "between": 7, "eclass": [7, 12, 18], "overview": 7, "first": 7, "expert": [8, 19], "partial": 8, "restrict": 8, "implement": [8, 9, 11, 12, 15], "python_setup": 8, "disjoint": 8, "regular": 8, "combin": 8, "helper": [9, 18], "fix": 9, "shebang": 9, "script": 9, "byte": [9, 20], "compil": [9, 20], "modul": [9, 20], "queri": 9, "inform": 9, "guid": [10, 13], "content": 10, "indic": 10, "tabl": 10, "life": 11, "cycl": 11, "stabil": 11, "guarante": 11, "altern": 11, "support": [11, 15], "backport": 11, "mainten": [12, 15], "note": 12, "specif": 12, "cpython": 12, "patchset": 12, "pypi": [12, 15, 18, 22], "profil": 12, "chang": [12, 16], "port": [12, 15, 16], "initi": 12, "bootstrap": 12, "migrat": 13, "old": 13, "python_usedep": 13, "syntax": 13, "eapi": [13, 15], "7": 13, "8": [13, 16], "autotool": 14, "2": 15, "which": 15, "exist": 15, "can": 15, "co": 15, "maintain": 15, "monitor": 15, "releas": 15, "feed": 15, "check": [15, 20], "pip": 15, "repologi": 15, "routin": 15, "outdat": 15, "gpy": 15, "verifi": 15, "dep": 15, "tip": 16, "retroact": 16, "bpo43882": 16, "urlsplit": 16, "now": 16, "strip": 16, "lf": 16, "cr": 16, "ht": 16, "charact": 16, "3": 16, "11": 16, "gener": [16, 18], "coroutin": 16, "remov": [12, 16], "asyncio": 16, "inspect": 16, "getargspec": 16, "formatargspec": 16, "10": 16, "configur": 16, "No": 16, "1": 16, "found": [16, 19], "sysconfig": 16, "9": 16, "base64": 16, "encodestr": 16, "decodestr": 16, "config": 16, "pkg": 16, "longer": 16, "librari": 16, "default": 16, "prefac": 17, "recip": 19, "skip": [19, 22], "marker": 19, "path": 19, "name": [15, 18, 19], "avoid": 19, "runner": [19, 22], "xdist": 19, "plugin": 19, "explicitli": 19, "disabl": 19, "automat": 19, "autoload": 19, "entir": 19, "typeerror": 19, "_make_test_flaki": 19, "got": 19, "an": 19, "unexpect": 19, "keyword": 19, "rerun": 19, "importpathmismatcherror": 19, "fixtur": 19, "warn": [19, 20], "qa": 20, "improv": 20, "report": 20, "portag": 20, "bytecod": 20, "relat": 20, "strai": 20, "A": 21, "resolv": [], "suit": 4, "problem": [], "correct": 22, "miss": 22, "file": [20, 22], "importerror": 22, "c": 22, "checklist": 22, "deal": 22, "failur": 22, "problemat": 22, "requir": 22, "internet": 22, "access": 22, "abort": 22, "due": 22, "assert": 22, "awai": [], "introduct": [], "tomllib": 16, "tomli": 16, "fallback": 16, "w": 16, "replac": 16, "prepar": 12, "polici": 15, "top": 20, "level": 20, "site": 20, "exampl": 20, "why": 22, "i": 22, "import": 22, "case": 22, "match": 18, "url": 18, "fetch": 18, "wheel": 18, "modern": 18, "distribut": 18, "filenam": 18, "binari": 18}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"python-any-r1 \u2014 build-time dependency": [[0, "python-any-r1-build-time-dependency"]], "Basic use for unconditional Python": [[0, "basic-use-for-unconditional-python"], [21, "basic-use-for-unconditional-python"]], "Dependencies": [[0, "dependencies"], [14, "dependencies"], [21, "dependencies"], [5, "dependencies"]], "Conditional Python use": [[0, "conditional-python-use"], [14, "conditional-python-use"], [21, "conditional-python-use"]], "Additional conditional dependencies": [[0, "additional-conditional-dependencies"]], "Multiple sets of conditional dependencies": [[0, "multiple-sets-of-conditional-dependencies"]], "Common basics": [[1, "common-basics"]], "PYTHON_COMPAT": [[1, "python-compat"]], "PYTHON_DEPS and PYTHON_REQUIRED_USE": [[1, "python-deps-and-python-required-use"]], "Python environment": [[1, "python-environment"]], "Dependencies in Python packages": [[1, "dependencies-in-python-packages"]], "The most common dependency types": [[1, "the-most-common-dependency-types"]], "Finding dependency lists from build systems": [[1, "finding-dependency-lists-from-build-systems"]], "Integration with build systems written in Python": [[2, "integration-with-build-systems-written-in-python"]], "Meson": [[2, "meson"]], "SCons": [[2, "scons"]], "Build-time use with no extra dependencies": [[2, "build-time-use-with-no-extra-dependencies"]], "Build-time use with extra dependencies": [[2, "build-time-use-with-extra-dependencies"]], "Single-impl package": [[2, "single-impl-package"], [2, "id1"]], "Single-impl package with conditional Python install": [[2, "single-impl-package-with-conditional-python-install"]], "Pure Python multi-impl package": [[2, "pure-python-multi-impl-package"]], "Hybrid python-r1 + SCons package": [[2, "hybrid-python-r1-scons-package"]], "waf": [[2, "waf"]], "Build-time use": [[2, "build-time-use"]], "Advanced concepts": [[3, "advanced-concepts"]], "Namespace packages": [[3, "namespace-packages"]], "Hierarchical package structure": [[3, "hierarchical-package-structure"]], "Namespace package structure": [[3, "namespace-package-structure"]], "Determining whether namespaces are used": [[3, "determining-whether-namespaces-are-used"]], "Adding new namespace packages to Gentoo": [[3, "adding-new-namespace-packages-to-gentoo"]], "Legacy namespace packages in Gentoo": [[3, "legacy-namespace-packages-in-gentoo"]], "Advanced dependencies": [[4, "advanced-dependencies"]], "Requesting USE flags on the Python interpreter": [[4, "requesting-use-flags-on-the-python-interpreter"]], "Dependencies conditional to Python version": [[4, "dependencies-conditional-to-python-version"]], "Dependencies on CFFI and greenlet": [[4, "dependencies-on-cffi-and-greenlet"]], "Optional test suite dependencies on Rust packages": [[4, "optional-test-suite-dependencies-on-rust-packages"]], "distutils-r1 legacy concepts": [[6, "distutils-r1-legacy-concepts"]], "Different build system variations": [[6, "different-build-system-variations"]], "DISTUTILS_USE_SETUPTOOLS": [[6, "distutils-use-setuptools"]], "distutils and setuptools build systems": [[6, "distutils-and-setuptools-build-systems"]], "Setuptools\u2019 entry points": [[6, "setuptools-entry-points"]], "Other runtime uses of setuptools": [[6, "other-runtime-uses-of-setuptools"]], "pyproject.toml-based projects": [[6, "pyproject-toml-based-projects"]], "In-source vs out-of-source builds": [[6, "in-source-vs-out-of-source-builds"]], "Installing the package before testing": [[6, "installing-the-package-before-testing"]], "Choosing between Python eclasses": [[7, "choosing-between-python-eclasses"]], "Overview": [[7, "overview"]], "Build time vs runtime use": [[7, "build-time-vs-runtime-use"]], "Single-impl vs multi-impl": [[7, "single-impl-vs-multi-impl"]], "Python-first packages (distutils-r1 eclass)": [[7, "python-first-packages-distutils-r1-eclass"]], "Expert python-r1 usage": [[8, "expert-python-r1-usage"]], "Partially restricting Python implementation": [[8, "partially-restricting-python-implementation"]], "Restricting interpreters for python_setup": [[8, "restricting-interpreters-for-python-setup"]], "Disjoint build dependencies (any-r1 API)": [[8, "disjoint-build-dependencies-any-r1-api"]], "Using regular python-r1 API": [[8, "using-regular-python-r1-api"]], "Using any-r1 API with python-r1": [[8, "using-any-r1-api-with-python-r1"]], "Different sets of build-time dependencies": [[8, "different-sets-of-build-time-dependencies"]], "Using any-r1 API with distutils-r1": [[8, "using-any-r1-api-with-distutils-r1"]], "Combining any-r1 API with implementation restrictions": [[8, "combining-any-r1-api-with-implementation-restrictions"]], "Common helper functions": [[9, "common-helper-functions"]], "Install helpers": [[9, "install-helpers"]], "Fixing shebangs on installed scripts": [[9, "fixing-shebangs-on-installed-scripts"]], "Byte-compiling Python modules": [[9, "byte-compiling-python-modules"]], "Querying the implementation information": [[9, "querying-the-implementation-information"]], "Python interpreters": [[11, "python-interpreters"]], "Versions of Python": [[11, "versions-of-python"]], "Life cycle of a Python implementation": [[11, "life-cycle-of-a-python-implementation"]], "Stability guarantees of Python implementations": [[11, "stability-guarantees-of-python-implementations"]], "Alternative Python implementations": [[11, "alternative-python-implementations"]], "Support for multiple implementations": [[11, "support-for-multiple-implementations"]], "Backports": [[11, "backports"]], "Migration guides": [[13, "migration-guides"]], "Migrating from old PYTHON_USEDEP syntax in python-single-r1": [[13, "migrating-from-old-python-usedep-syntax-in-python-single-r1"]], "Migrating from EAPI 7 to EAPI 8": [[13, "migrating-from-eapi-7-to-eapi-8"]], "Migrating to PEP 517 builds": [[13, "migrating-to-pep-517-builds"]], "python-r1 \u2014 multi-impl packages": [[14, "python-r1-multi-impl-packages"]], "Manual install": [[14, "manual-install"], [21, "manual-install"]], "Pure Python autotools package": [[14, "pure-python-autotools-package"]], "Additional build-time Python use": [[14, "additional-build-time-python-use"]], "Porting tips": [[16, "porting-tips"]], "Retroactive changes": [[16, "retroactive-changes"]], "bpo43882: urlsplit now strips LF, CR and HT characters": [[16, "bpo43882-urlsplit-now-strips-lf-cr-and-ht-characters"]], "Python 3.11": [[16, "python-3-11"]], "Generator-based coroutine removal (asyncio.coroutine)": [[16, "generator-based-coroutine-removal-asyncio-coroutine"]], "inspect.getargspec() and inspect.formatargspec() removal": [[16, "inspect-getargspec-and-inspect-formatargspec-removal"]], "Python 3.10": [[16, "python-3-10"]], "configure: No package \u2018python-3.1\u2019 found": [[16, "configure-no-package-python-3-1-found"]], "distutils.sysconfig deprecation": [[16, "distutils-sysconfig-deprecation"]], "Python 3.9": [[16, "python-3-9"]], "base64.encodestring / base64.decodestring removal": [[16, "base64-encodestring-base64-decodestring-removal"]], "Python 3.8": [[16, "python-3-8"]], "python-config and pkg-config no longer list Python library by default": [[16, "python-config-and-pkg-config-no-longer-list-python-library-by-default"]], "Replacing the toml package": [[16, "replacing-the-toml-package"]], "Porting to tomllib/tomli without toml fallback": [[16, "porting-to-tomllib-tomli-without-toml-fallback"]], "Porting to tomllib/tomli with toml fallback": [[16, "porting-to-tomllib-tomli-with-toml-fallback"]], "Porting to tomli-w": [[16, "porting-to-tomli-w"]], "Preface": [[17, "preface"]], "pytest recipes": [[19, "pytest-recipes"]], "Skipping tests based on markers": [[19, "skipping-tests-based-on-markers"]], "Skipping tests based on paths/names": [[19, "skipping-tests-based-on-paths-names"]], "Avoiding the dependency on pytest-runner": [[19, "avoiding-the-dependency-on-pytest-runner"]], "Using pytest-xdist to run tests in parallel": [[19, "using-pytest-xdist-to-run-tests-in-parallel"]], "Avoiding dependencies on other pytest plugins": [[19, "avoiding-dependencies-on-other-pytest-plugins"]], "Explicitly disabling automatic pytest plugins": [[19, "explicitly-disabling-automatic-pytest-plugins"]], "Expert: disabling plugin autoloading entirely": [[19, "expert-disabling-plugin-autoloading-entirely"]], "TypeError: _make_test_flaky() got an unexpected keyword argument \u2018reruns\u2019": [[19, "typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns"]], "ImportPathMismatchError": [[19, "importpathmismatcherror"]], "fixture \u2018\u2026\u2019 not found": [[19, "fixture-not-found"]], "Warnings": [[19, "warnings"]], "python-single-r1 \u2014 single-impl packages": [[21, "python-single-r1-single-impl-packages"]], "A hybrid: build-time + conditional runtime": [[21, "a-hybrid-build-time-conditional-runtime"]], "Multiple USE conditions": [[21, "multiple-use-conditions"]], "Maintenance of Python implementations": [[12, "maintenance-of-python-implementations"]], "Notes specific to Python interpreters": [[12, "notes-specific-to-python-interpreters"]], "CPython patchsets": [[12, "cpython-patchsets"]], "PyPy": [[12, "pypy"]], "Adding a new Python implementation": [[12, "adding-a-new-python-implementation"]], "Eclass and profile changes": [[12, "eclass-and-profile-changes"], [12, "id1"]], "Porting initial packages": [[12, "porting-initial-packages"]], "Removing a Python implementation": [[12, "removing-a-python-implementation"]], "Preparation": [[12, "preparation"]], "Python build system bootstrap": [[12, "python-build-system-bootstrap"]], "Python package maintenance": [[15, "python-package-maintenance"]], "Package name policy": [[15, "package-name-policy"]], "Support for Python 2": [[15, "support-for-python-2"]], "Which implementations to test new packages for?": [[15, "which-implementations-to-test-new-packages-for"]], "Adding new Python implementations to existing packages": [[15, "adding-new-python-implementations-to-existing-packages"]], "Which packages can be (co-)maintained by the Python project?": [[15, "which-packages-can-be-co-maintained-by-the-python-project"]], "Porting packages to a new EAPI": [[15, "porting-packages-to-a-new-eapi"]], "Monitoring new package versions": [[15, "monitoring-new-package-versions"]], "PyPI release feeds": [[15, "pypi-release-feeds"]], "Checking via pip": [[15, "checking-via-pip"]], "Repology": [[15, "repology"]], "Routine checks on installed Python packages": [[15, "routine-checks-on-installed-python-packages"]], "pip check": [[15, "pip-check"]], "pip list --outdated": [[15, "pip-list-outdated"]], "gpy-verify-deps": [[15, "gpy-verify-deps"]], "Tests in Python packages": [[22, "tests-in-python-packages"]], "Why is running tests important?": [[22, "why-is-running-tests-important"]], "Using distutils_enable_tests": [[22, "using-distutils-enable-tests"]], "Basic use case": [[22, "basic-use-case"]], "Adding more test dependencies": [[22, "adding-more-test-dependencies"]], "Installing the package before running tests": [[22, "installing-the-package-before-running-tests"]], "Customizing the test phase": [[22, "customizing-the-test-phase"]], "Customizing the test phase for pytest": [[22, "customizing-the-test-phase-for-pytest"]], "Running tests with virtualx": [[22, "running-tests-with-virtualx"]], "Choosing the correct test runner": [[22, "choosing-the-correct-test-runner"]], "Undesirable test dependencies": [[22, "undesirable-test-dependencies"]], "Missing test files in PyPI packages": [[22, "missing-test-files-in-pypi-packages"]], "ImportErrors for C extensions": [[22, "importerrors-for-c-extensions"]], "Checklist for dealing with test failures": [[22, "checklist-for-dealing-with-test-failures"]], "Skipping problematic tests": [[22, "skipping-problematic-tests"]], "Tests requiring Internet access": [[22, "tests-requiring-internet-access"]], "Tests aborting (due to assertions)": [[22, "tests-aborting-due-to-assertions"]], "Installing extra dependencies in test environment (PEP 517 mode)": [[22, "installing-extra-dependencies-in-test-environment-pep-517-mode"]], "QA checks and warnings": [[20, "qa-checks-and-warnings"]], "Improved QA warning reporting in Portage": [[20, "improved-qa-warning-reporting-in-portage"]], "Compiled bytecode-related warnings": [[20, "compiled-bytecode-related-warnings"]], "Modules are not byte-compiled": [[20, "modules-are-not-byte-compiled"]], "Stray compiled bytecode": [[20, "stray-compiled-bytecode"]], "Stray top-level files in site-packages": [[20, "stray-top-level-files-in-site-packages"]], "Example or test packages installed by setuptools": [[20, "example-or-test-packages-installed-by-setuptools"]], "Documentation files installed by Poetry": [[20, "documentation-files-installed-by-poetry"]], "Deprecated PEP 517 backends": [[20, "deprecated-pep-517-backends"]], "flit.buildapi": [[20, "flit-buildapi"]], "poetry.masonry.api": [[20, "poetry-masonry-api"]], "setuptools.build_meta:__legacy__": [[20, "setuptools-build-meta-legacy"]], "Gentoo Python Guide": [[10, "gentoo-python-guide"]], "Contents:": [[10, null]], "Indices and tables": [[10, "indices-and-tables"]], "distutils-r1 \u2014 standard Python build systems": [[5, "distutils-r1-standard-python-build-systems"]], "The PEP 517 and legacy modes": [[5, "the-pep-517-and-legacy-modes"]], "Basic use (PEP 517 mode)": [[5, "basic-use-pep-517-mode"]], "Source archives": [[5, "source-archives"]], "python-single-r1 variant": [[5, "python-single-r1-variant"]], "PEP 517 build systems": [[5, "pep-517-build-systems"]], "setuptools_scm (flit_scm, hatch-vcs) and snapshots": [[5, "setuptools-scm-flit-scm-hatch-vcs-and-snapshots"]], "Packages using Cython": [[5, "packages-using-cython"]], "Parallel build race conditions": [[5, "parallel-build-race-conditions"]], "Sub-phase functions": [[5, "sub-phase-functions"]], "python_prepare": [[5, "python-prepare"]], "python_configure": [[5, "python-configure"]], "python_compile": [[5, "python-compile"]], "python_test": [[5, "python-test"]], "python_install": [[5, "python-install"]], "Passing arguments to setup.py": [[5, "passing-arguments-to-setup-py"]], "Calling custom setup.py commands": [[5, "calling-custom-setup-py-commands"]], "Enabling tests": [[5, "enabling-tests"]], "Building documentation via Sphinx": [[5, "building-documentation-via-sphinx"]], "Basic documentation with autodoc": [[5, "basic-documentation-with-autodoc"]], "Additional Sphinx extensions": [[5, "additional-sphinx-extensions"]], "Sphinx without autodoc or extensions": [[5, "sphinx-without-autodoc-or-extensions"]], "Packages with optional Python build system usage": [[5, "packages-with-optional-python-build-system-usage"]], "Packages with Rust extensions (using Cargo)": [[5, "packages-with-rust-extensions-using-cargo"]], "Installing packages without a PEP 517 build backend": [[5, "installing-packages-without-a-pep-517-build-backend"]], "Installing packages manually into BUILD_DIR": [[5, "installing-packages-manually-into-build-dir"]], "Installing packages manually into D": [[5, "installing-packages-manually-into-d"]], "Integrating with a non-PEP 517 build system": [[5, "integrating-with-a-non-pep-517-build-system"]], "pypi \u2014 helper eclass for PyPI archives": [[18, "pypi-helper-eclass-for-pypi-archives"]], "PyPI URLs": [[18, "pypi-urls"]], "Modern and legacy URLs": [[18, "modern-and-legacy-urls"]], "Source distribution filenames": [[18, "source-distribution-filenames"]], "Binary distribution filenames": [[18, "binary-distribution-filenames"]], "Packages with matching name and version": [[18, "packages-with-matching-name-and-version"]], "Customizing the generated URL": [[18, "customizing-the-generated-url"]], "Fetching wheels": [[18, "fetching-wheels"]]}, "indexentries": {}}) \ No newline at end of file