glfs/general/prog/python-dependencies/pluggy.xml
Bruce Dubbs 569925c77f Update python modules for pythonhosted
Move the pythonhoted page to python_modules even though it is not
yet activated to render in the book.

Change location of pythonhosted md5sum ENTITIES to packages.ent
so they can be used in multiple pages but only need to be updated
in one place.

Note that pages not have entries like:
  <!ENTITY asciidoc-md5sum        "&asciidoc-md5sum;">
so this seems to be redefinig the entity to the version
in packages.ent.  This seems to be OK with the build system.
2023-01-31 18:02:12 -06:00

137 lines
4.3 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../../general.ent">
%general-entities;
<!ENTITY pluggy-download-http "https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-&pluggy-version;.tar.gz">
<!ENTITY pluggy-download-ftp " ">
<!ENTITY pluggy-md5sum "&pluggy-md5sum;">
<!ENTITY pluggy-size "50 KB">
<!ENTITY pluggy-buildsize "636 KB (add 26 MB for tests)">
<!ENTITY pluggy-time "less than 0.1 SBU (with tests)">
]>
<sect2 id="pluggy" xreflabel="pluggy-&pluggy-version;">
<title>Pluggy-&pluggy-version;</title>
<indexterm zone="pluggy">
<primary sortas="a-pluggy">pluggy</primary>
</indexterm>
<sect3 role="package">
<title>Introduction to Pluggy Module</title>
<para>
The <application>Pluggy</application> package gives users the ability
to extend or modify the behaviour of a host program by installing a
plugin for that program. The plugin code will run as part of normal
program execution, changing or enhancing certain aspects of it. In
essence, <application>pluggy</application> enables function hooking
so a user can build <quote>pluggable</quote> systems.
</para>
&lfs112_checked;
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&pluggy-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&pluggy-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &pluggy-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &pluggy-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &pluggy-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &pluggy-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Pluggy Dependencies</bridgehead>
<bridgehead renderas="sect5">Recommended</bridgehead>
<para role="recommended">
<xref linkend="setuptools_scm"/>
</para>
<bridgehead renderas="sect5">Optional (for testing)</bridgehead>
<para role="optional">
<xref linkend="pytest"/> and
<ulink url="https://pypi.org/project/pytest-benchmark/">pytest-benchmark</ulink>
</para>
</sect3>
<sect3 role="installation">
<title>Installation of Pluggy</title>
<para>Build the module: </para>
<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pluggy</userinput></screen>
<para>
Assuming <xref linkend="pytest"/> is installed, but the other optional
dependencies are not, the installation can be tested with the following
commands:
</para>
<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
source testenv/bin/activate &amp;&amp;
pip3 install pytest-benchmark &amp;&amp;
python3 /usr/bin/pytest<!-- no && in case there is an error -->
deactivate</userinput></screen>
</sect3>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/pip3-cmd-explain.xml"/>
<sect3 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>None</seg>
<seg>None</seg>
<seg>
/usr/lib/python&python3-majorver;/site-packages/pluggy and
/usr/lib/python&python3-majorver;/site-packages/pluggy-&pluggy-version;.dist-info
</seg>
</seglistitem>
</segmentedlist>
</sect3>
</sect2>