glfs/general/prog/python-dependencies/urllib3.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

145 lines
4.7 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 urllib3-download-http "https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-&urllib3-version;.tar.gz">
<!ENTITY urllib3-download-ftp " ">
<!ENTITY urllib3-md5sum "&urllib3-md5sum;">
<!ENTITY urllib3-size "294 KB">
<!ENTITY urllib3-buildsize "3.2 MB (add 49 MB for tests)">
<!ENTITY urllib3-time "less than 0.1 SBU (0.7 SBU for tests)">
]>
<sect2 id="urllib3" xreflabel="urllib3-&urllib3-version;">
<title>Urllib3-&urllib3-version;</title>
<indexterm zone="urllib3">
<primary sortas="a-urllib3">urllib3</primary>
</indexterm>
<sect3 role="package">
<title>Introduction to Urllib3 Module</title>
<para>
The <application>Urllib3</application> module is a powerful,
user-friendly HTTP client for Python. It brings many critical
features that are missing from the Python standard libraries.
</para>
&lfs112_checked;
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&urllib3-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&urllib3-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &urllib3-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &urllib3-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &urllib3-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &urllib3-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Urllib3 Dependencies</bridgehead>
<bridgehead renderas="sect5">Optional (for tests)</bridgehead>
<para role="optional">
<xref linkend="pytest"/>,
<ulink url="https://pypi.org/project/mock/">mock</ulink>,
<ulink url="https://pypi.org/project/PySocks/">PySocks</ulink>,
<ulink url="https://pypi.org/project/pytest-freezegun/">pytest-freezegun</ulink>,
<ulink url="https://pypi.org/project/pytest-timeout/">pytest-timeout</ulink>,
<ulink url="https://pypi.org/project/python-dateutil/">python-dateutil</ulink>,
<ulink url="https://pypi.org/project/tornado/">tornado</ulink>, and
<ulink url="https://pypi.org/project/trustme/">trustme</ulink>
</para>
</sect3>
<sect3 role="installation">
<title>Installation of Urllib3</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 urllib3</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 trustme \
tornado \
python-dateutil \
mock \
pysocks \
pytest-timeout \
pytest-freezegun &amp;&amp;
python3 /usr/bin/pytest<!-- no && because of a possible error -->
deactivate</userinput></screen>
<para>
A few errors are known to occur.
</para>
</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/urllib3 and
/usr/lib/python&python3-majorver;/site-packages/urllib3-&urllib3-version;.dist-info
</seg>
</seglistitem>
</segmentedlist>
</sect3>
</sect2>