diff options
Diffstat (limited to 'guide/qawarn.html')
-rw-r--r-- | guide/qawarn.html | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/guide/qawarn.html b/guide/qawarn.html index e1333b3..ad8c304 100644 --- a/guide/qawarn.html +++ b/guide/qawarn.html @@ -6,8 +6,8 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>QA checks and warnings — Gentoo Python Guide documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=4f649999" /> - <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=039e1c02" /> + <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" /> + <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" /> <script src="_static/documentation_options.js?v=5929fcd5"></script> <script src="_static/doctools.js?v=888ff710"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> @@ -18,8 +18,9 @@ <link rel="stylesheet" href="_static/custom.css" type="text/css" /> + + - <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> </head><body> @@ -212,8 +213,8 @@ that restricts the installed package list, for example:</p> <p>If <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> is used:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[tool.setuptools.packages.find]</span> <span class="n">exclude</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> -<span class="w"> </span><span class="s">"tests"</span><span class="p">,</span> -<span class="w"> </span><span class="s">"tests.*"</span><span class="p">,</span> +<span class="w"> </span><span class="s2">"tests"</span><span class="p">,</span> +<span class="w"> </span><span class="s2">"tests.*"</span><span class="p">,</span> <span class="p">]</span> </pre></div> </div> @@ -227,9 +228,9 @@ to the site-packages directory. This is because of incorrect <code class="docutils literal notranslate"><span class="pre">include</span></code> use in <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code>. For example, consider the following configuration:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">include</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> -<span class="w"> </span><span class="s">"CHANGELOG"</span><span class="p">,</span> -<span class="w"> </span><span class="s">"README.md"</span><span class="p">,</span> -<span class="w"> </span><span class="s">"LICENSE"</span> +<span class="w"> </span><span class="s2">"CHANGELOG"</span><span class="p">,</span> +<span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span> +<span class="w"> </span><span class="s2">"LICENSE"</span> <span class="p">]</span> </pre></div> </div> @@ -239,9 +240,9 @@ effectively including them in files installed into <code class="docutils literal <p>To fix that, you need to specify file formats explicitly, for every entry:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">include</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> -<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"CHANGELOG"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"sdist"</span><span class="w"> </span><span class="p">},</span> -<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"README.md"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"sdist"</span><span class="w"> </span><span class="p">},</span> -<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"LICENSE"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"sdist"</span><span class="w"> </span><span class="p">},</span> +<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"CHANGELOG"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"sdist"</span><span class="w"> </span><span class="p">},</span> +<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"sdist"</span><span class="w"> </span><span class="p">},</span> +<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"LICENSE"</span><span class="p">,</span><span class="w"> </span><span class="n">format</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s2">"sdist"</span><span class="w"> </span><span class="p">},</span> <span class="p">]</span> </pre></div> </div> @@ -256,16 +257,16 @@ entry:</p> Their <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> files contain a section similar to the following:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"flit"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"flit.buildapi"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"flit"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"flit.buildapi"</span> </pre></div> </div> <p>This backend requires installing the complete flit package manager. Instead, the package should be fixed upstream to use flit_core per <a class="reference external" href="https://flit.readthedocs.io/en/latest/pyproject_toml.html#build-system-section">flit build system section documentation</a> instead:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"flit_core"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"flit_core.buildapi"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"flit_core"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"flit_core.buildapi"</span> </pre></div> </div> <p>flit_core produces identical artifacts to flit. At the same time, it @@ -277,15 +278,15 @@ PEP 517 builds faster.</p> <p>A similar problem applies to the packages using poetry. The respective <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> files contain:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"poetry>=0.12"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"poetry.masonry.api"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"poetry>=0.12"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"poetry.masonry.api"</span> </pre></div> </div> <p>Instead, the lightweight poetry-core module should be used per <a class="reference external" href="https://python-poetry.org/docs/pyproject/#poetry-and-pep-517">poetry PEP-517 documentation</a>:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"poetry_core>=1.0.0"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"poetry.core.masonry.api"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"poetry_core>=1.0.0"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"poetry.core.masonry.api"</span> </pre></div> </div> <p>poetry-core produces identical artifacts to poetry. It has smaller @@ -295,16 +296,16 @@ dependency footprint and makes isolated builds much faster.</p> <h3>setuptools.build_meta:__legacy__<a class="headerlink" href="#setuptools-build-meta-legacy" title="Link to this heading">¶</a></h3> <p>Some packages using setuptools specify the following:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"setuptools>=40.8.0"</span><span class="p">,</span><span class="w"> </span><span class="s">"wheel"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"setuptools.build_meta:__legacy__"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"setuptools>=40.8.0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"wheel"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"setuptools.build_meta:__legacy__"</span> </pre></div> </div> <p>This is incorrect, as the legacy backend is intended to be used only as an implicit fallback. All packages should be using the regular backend instead:</p> <div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span> -<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">"setuptools>=40.8.0"</span><span class="p">]</span> -<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"setuptools.build_meta"</span> +<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"setuptools>=40.8.0"</span><span class="p">]</span> +<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"setuptools.build_meta"</span> </pre></div> </div> <p>Please also note that the <code class="docutils literal notranslate"><span class="pre">wheel</span></code> package should <em>not</em> be listed @@ -397,11 +398,11 @@ and other packages tend to copy that mistake.</p> <div class="clearer"></div> </div> <div class="footer"> - ©2020, Michał Górny, license: CC BY 4.0. + ©2020, Michał Górny, license: CC BY 4.0. | - Powered by <a href="http://sphinx-doc.org/">Sphinx 7.2.6</a> - & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.13</a> + Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a> + & <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a> | <a href="_sources/qawarn.rst.txt" |