diff options
Diffstat (limited to 'guide/package-maintenance.html')
-rw-r--r-- | guide/package-maintenance.html | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/guide/package-maintenance.html b/guide/package-maintenance.html index 3e1ad21..b80dce1 100644 --- a/guide/package-maintenance.html +++ b/guide/package-maintenance.html @@ -1,16 +1,16 @@ <!DOCTYPE html> -<html lang="en"> +<html lang="en" data-content_root="./"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Python package maintenance — Gentoo Python Guide documentation</title> - <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b3523f8e" /> + <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=4f649999" /> <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=039e1c02" /> - <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=b3ba4146"></script> + <script src="_static/documentation_options.js?v=5929fcd5"></script> <script src="_static/doctools.js?v=888ff710"></script> - <script src="_static/sphinx_highlight.js?v=4825356b"></script> + <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Maintenance of Python implementations" href="interpreter-maintenance.html" /> @@ -32,9 +32,9 @@ <div class="body" role="main"> <section id="python-package-maintenance"> -<h1>Python package maintenance<a class="headerlink" href="#python-package-maintenance" title="Permalink to this heading">¶</a></h1> +<h1>Python package maintenance<a class="headerlink" href="#python-package-maintenance" title="Link to this heading">¶</a></h1> <section id="package-name-policy"> -<h2>Package name policy<a class="headerlink" href="#package-name-policy" title="Permalink to this heading">¶</a></h2> +<h2>Package name policy<a class="headerlink" href="#package-name-policy" title="Link to this heading">¶</a></h2> <p>All packages in <code class="docutils literal notranslate"><span class="pre">dev-python/*</span></code> that are published on <a class="reference external" href="https://pypi.org/">PyPI</a>, must be named to match their respective PyPI names. The package names must match after <a class="reference external" href="https://peps.python.org/pep-0503/#normalized-names">normalization specified in PEP 503</a>, i.e. after replacing @@ -107,7 +107,7 @@ may also suggest that upstream publishes to PyPI, or at least pushes an empty package to reserve the name.</p> </section> <section id="support-for-python-2"> -<h2>Support for Python 2<a class="headerlink" href="#support-for-python-2" title="Permalink to this heading">¶</a></h2> +<h2>Support for Python 2<a class="headerlink" href="#support-for-python-2" title="Link to this heading">¶</a></h2> <p>Since Python 2.7 reached EOL, Gentoo is currently phasing out support for Python 2. Unless your package or its reverse dependencies really need it, you should omit it from <code class="docutils literal notranslate"><span class="pre">PYTHON_COMPAT</span></code>. If you’re adding @@ -120,7 +120,7 @@ of reverse dependencies afterwards.</p> supporting it soon are being slowly removed.</p> </section> <section id="which-implementations-to-test-new-packages-for"> -<h2>Which implementations to test new packages for?<a class="headerlink" href="#which-implementations-to-test-new-packages-for" title="Permalink to this heading">¶</a></h2> +<h2>Which implementations to test new packages for?<a class="headerlink" href="#which-implementations-to-test-new-packages-for" title="Link to this heading">¶</a></h2> <p>The absolute minimum set of targets are the current default targets found in <code class="docutils literal notranslate"><span class="pre">profiles/base/make.defaults</span></code>. However, developers are strongly encouraged to test at least the next Python 3 version @@ -129,7 +129,7 @@ in order to ease future transition, and preferably all future versions.</p> coverage of PyPy3 support.</p> </section> <section id="adding-new-python-implementations-to-existing-packages"> -<h2>Adding new Python implementations to existing packages<a class="headerlink" href="#adding-new-python-implementations-to-existing-packages" title="Permalink to this heading">¶</a></h2> +<h2>Adding new Python implementations to existing packages<a class="headerlink" href="#adding-new-python-implementations-to-existing-packages" title="Link to this heading">¶</a></h2> <p>New Python implementations can generally be added to existing packages without a revision bump. This is because the new dependencies are added conditionally to new USE flags. Since the existing users can not have @@ -141,7 +141,7 @@ will not be able to enable newly added flags and therefore the risk of the change breaking stable systems is minimal.</p> </section> <section id="which-packages-can-be-co-maintained-by-the-python-project"> -<h2>Which packages can be (co-)maintained by the Python project?<a class="headerlink" href="#which-packages-can-be-co-maintained-by-the-python-project" title="Permalink to this heading">¶</a></h2> +<h2>Which packages can be (co-)maintained by the Python project?<a class="headerlink" href="#which-packages-can-be-co-maintained-by-the-python-project" title="Link to this heading">¶</a></h2> <p>A large part of the Python ecosystem is fairly consistent, making it feasible for (co-)maintenance by the Gentoo Python team.</p> <p>As a rule of thumb, Python team is ready to maintain packages specific @@ -158,7 +158,7 @@ the package. However, if you are not a member of the project, please do not add us without asking first.</p> </section> <section id="porting-packages-to-a-new-eapi"> -<h2>Porting packages to a new EAPI<a class="headerlink" href="#porting-packages-to-a-new-eapi" title="Permalink to this heading">¶</a></h2> +<h2>Porting packages to a new EAPI<a class="headerlink" href="#porting-packages-to-a-new-eapi" title="Link to this heading">¶</a></h2> <p>When porting packages to a new EAPI, please take care not to port the dependencies of Portage prematurely. This generally includes <code class="docutils literal notranslate"><span class="pre">app-portage/gemato</span></code>, <code class="docutils literal notranslate"><span class="pre">dev-python/setuptools</span></code> and their recursive @@ -173,9 +173,9 @@ e.g.:</p> necessary to install a new Portage version.</p> </section> <section id="monitoring-new-package-versions"> -<h2>Monitoring new package versions<a class="headerlink" href="#monitoring-new-package-versions" title="Permalink to this heading">¶</a></h2> +<h2>Monitoring new package versions<a class="headerlink" href="#monitoring-new-package-versions" title="Link to this heading">¶</a></h2> <section id="pypi-release-feeds"> -<h3>PyPI release feeds<a class="headerlink" href="#pypi-release-feeds" title="Permalink to this heading">¶</a></h3> +<h3>PyPI release feeds<a class="headerlink" href="#pypi-release-feeds" title="Link to this heading">¶</a></h3> <p>The most efficient way to follow new Python package releases are the feeds found on <a class="reference external" href="https://pypi.org/">PyPI</a>. These can be found in the package’s “Release history” tab, as “RSS feed”.</p> @@ -184,7 +184,7 @@ for packages</a> in <code class="docutils literal notranslate"><span class="pre" packages maintained by the Python team) in OPML format.</p> </section> <section id="checking-via-pip"> -<h3>Checking via pip<a class="headerlink" href="#checking-via-pip" title="Permalink to this heading">¶</a></h3> +<h3>Checking via pip<a class="headerlink" href="#checking-via-pip" title="Link to this heading">¶</a></h3> <p>The <a class="reference internal" href="#pip-list-outdated">pip list --outdated</a> command described in a followup section can also be used to verify installed packages against their latest PyPI releases. However, this is naturally limited to packages installed @@ -192,7 +192,7 @@ on the particular system, and does not account for newer versions being already available in the Gentoo repository.</p> </section> <section id="repology"> -<h3>Repology<a class="headerlink" href="#repology" title="Permalink to this heading">¶</a></h3> +<h3>Repology<a class="headerlink" href="#repology" title="Link to this heading">¶</a></h3> <p><a class="reference external" href="https://repology.org/">Repology</a> provides a comprehensive service for tracking distribution package versions and upstream releases. The easiest ways to find Python packages present in the Gentoo repository is to search by their @@ -210,12 +210,12 @@ syntax (e.g. <code class="docutils literal notranslate"><span class="pre">.post< </section> </section> <section id="routine-checks-on-installed-python-packages"> -<h2>Routine checks on installed Python packages<a class="headerlink" href="#routine-checks-on-installed-python-packages" title="Permalink to this heading">¶</a></h2> +<h2>Routine checks on installed Python packages<a class="headerlink" href="#routine-checks-on-installed-python-packages" title="Link to this heading">¶</a></h2> <p>The following actions are recommended to be run periodically on systems used to test Python packages. They could be run e.g. via post-sync actions.</p> <section id="pip-check"> -<h3>pip check<a class="headerlink" href="#pip-check" title="Permalink to this heading">¶</a></h3> +<h3>pip check<a class="headerlink" href="#pip-check" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">check</span></code> (provided by <code class="docutils literal notranslate"><span class="pre">dev-python/pip</span></code>) can be used to check installed packages for missing dependencies and version conflicts:</p> <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>$ python3.10 -m pip check @@ -246,7 +246,7 @@ requests 2.28.0 requires certifi, which is not installed. </div> </section> <section id="pip-list-outdated"> -<h3>pip list --outdated<a class="headerlink" href="#pip-list-outdated" title="Permalink to this heading">¶</a></h3> +<h3>pip list --outdated<a class="headerlink" href="#pip-list-outdated" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">list</span> <span class="pre">--outdated</span></code> (provided by <code class="docutils literal notranslate"><span class="pre">dev-python/pip</span></code>) can be used to check whether installed packages are up-to-date. This can help checking for pending version bumps, as well as to detect wrong versions @@ -283,7 +283,7 @@ older than the actual release, and therefore the respective options need to be stripped.</p> </section> <section id="gpy-verify-deps"> -<h3>gpy-verify-deps<a class="headerlink" href="#gpy-verify-deps" title="Permalink to this heading">¶</a></h3> +<h3>gpy-verify-deps<a class="headerlink" href="#gpy-verify-deps" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">gpy-verify-deps</span></code> (provided by <code class="docutils literal notranslate"><span class="pre">app-portage/gpyutils</span></code>) compares the ebuild dependencies of all installed Python packages against their metadata. It reports the dependencies that are potentially missing @@ -399,7 +399,7 @@ than to copy the mistakes into the ebuild.</p> ©2020, Michał Górny, license: CC BY 4.0. | - Powered by <a href="http://sphinx-doc.org/">Sphinx 7.1.2</a> + 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> | |