Index: general/prog/python-dependencies.xml
===================================================================
--- general/prog/python-dependencies.xml	(revision 3d421495de9eae7ca0344dabcafb108ef05fb721)
+++ general/prog/python-dependencies.xml	(revision e09da3c5e40dc99c1a945f1ae3ad37a234615e54)
@@ -54,4 +54,9 @@
       <listitem>
         <para>
+          <xref linkend="pythonhosted"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <xref linkend="alabaster"/>
         </para>
@@ -196,4 +201,7 @@
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="python-dependencies/pythonhosted.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="python-dependencies/alabaster.xml"/>
 
Index: general/prog/python-dependencies/pythonhosted.xml
===================================================================
--- general/prog/python-dependencies/pythonhosted.xml	(revision e09da3c5e40dc99c1a945f1ae3ad37a234615e54)
+++ general/prog/python-dependencies/pythonhosted.xml	(revision e09da3c5e40dc99c1a945f1ae3ad37a234615e54)
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter 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 pythonhosted-download-http "See Below">
+  <!ENTITY pythonhosted-download-ftp  " ">
+  <!ENTITY pythonhosted-md5sum        "See Below">
+  <!ENTITY pythonhosted-size          "TBD MB">
+  <!ENTITY pythonhosted-buildsize     "TBD GB (TBD MB installed)">
+  <!ENTITY pythonhosted-time          "TBD SBU)">
+]>
+
+<sect2 id="pythonhosted" xreflabel="pythonhosted files">
+   <!--<?dbhtml filename="pythonhosted.html"?>-->
+
+  <title>Building pythonhosted.org Files</title>
+
+  <indexterm zone="pythonhosted">
+     <primary sortas="a-pythonhosted">pythonhosted</primary>
+  </indexterm>
+
+  <sect3 role="package">
+   <title>Introduction to pythonhosted.org Files</title>
+
+  <para>
+    The instructions below build all of the pythonhosted.org packages 
+    by using bash scripts.
+  </para>
+
+  &lfs112_checked;
+
+  <bridgehead renderas="sect4">Package Information</bridgehead>
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        Download (HTTP): &pythonhosted-download-http;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download (FTP): <ulink url="&pythonhosted-download-ftp;"/>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download MD5 sum: &pythonhosted-md5sum;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Download size: &pythonhosted-size;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated disk space required: &pythonhosted-buildsize;
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Estimated build time: &pythonhosted-time;
+      </para>
+    </listitem>
+  </itemizedlist>
+
+  <bridgehead renderas="sect4">Pythonhosted.org Dependencies</bridgehead>
+
+  <bridgehead renderas="sect5">Required</bridgehead>
+  <para role="required">
+    TBD
+    <!--<xref linkend="fontforge"/>,-->
+    <!-- does not seem to be needed as of 5.22.4 <xref linkend="GConf"/>, -->
+  </para>
+
+  <bridgehead renderas="sect5">Recommended</bridgehead>
+  <para role="recommended">
+     TBD
+     <!--<xref linkend="fftw"/>,-->
+  </para>
+
+  <bridgehead renderas="sect5">Optional</bridgehead>
+  <para role="optional">
+     TBD
+     <!--
+    <xref linkend="glu"/>,
+    <ulink url="http://www.dest-unreach.org/socat/">socat</ulink> (for pam_kwallet)-->
+  </para>
+  <!--
+  <para condition="html" role="usernotes">User Notes:
+  <ulink url="&blfs-wiki;/pythonhosted"/></para>
+  -->
+  </sect3>
+
+   <sect3>
+    <title>Downloading All Pythonhosted Module Files</title>
+
+    <para>
+      The easiest way to install the modules from the files.pythonhosted.org site
+      is to run a script to install them all at once. 
+    </para>
+
+    <para>
+      The order of building files is important due to internal dependencies.
+      First, create the list of files in the proper order as follows:
+    </para>
+
+    <screen><userinput>cat &gt; pythonhosted-files.md5 &lt;&lt; "EOF"
+<literal>3591827fde96d1dd23970fb05410ed04  alabaster-0.7.12.tar.gz
+ff9c8d5c7e7fb083de6b874609c5ca68  certifi-2022.9.24.tar.gz
+4332ddc7bbee0f344a03915b2ad59a54  snowballstemmer-2.2.0.tar.gz
+b1d2ed6592bbdf6002ef52b4ab8e2efe  pytz-2022.4.tar.gz
+809ed21b4f643167d0f6f5e936bbfbdc  Babel-2.10.3.tar.gz
+0487081b7ead8753fc46cf7c6d1e28e3  attrs-22.1.0.tar.gz
+a70f9fc85b6b8265c982eca6fe51381f  charset-normalizer-2.1.1.tar.gz
+4a4791e97f3a8c9a1645064a35636ee6  flit_core-3.7.1.tar.gz
+13ea24e076212b6baae1135a116d1e0e  idna-3.4.tar.gz
+5a40586a25c07e1a8f16f6267252c321  imagesize-1.4.1.tar.gz
+fadc2f3bf5872bf6310576a86c3566e0  pyparsing-3.0.9.tar.gz
+e713c1939f294fd729af4a7be40dd141  packaging-21.3.tar.gz
+d4341621d423a7ca6822e23d6d52bb9a  tomli-2.0.1.tar.gz
+5cfcb56ea6fc4972c3600c0030f4d136  typing_extensions-4.4.0.tar.gz
+0df4e7fd923e4983cd65786efaa0e0d0  setuptools_scm-7.0.5.tar.gz
+0b7f3be87481211c183eae095bcea6f1  iniconfig-1.1.1.tar.gz
+daa6fddfb6cd364f3c82e52098911e4b  pluggy-1.0.0.tar.gz
+#c4de3e192e5bb4b39deada36cc2f393a  pytest-7.1.3.tar.gz
+bde7dcc1cb452a1e10206ef2f811ba88  py-1.11.0.tar.gz
+ba308b52b9092184cf4905bc59a88fc0  urllib3-1.26.12.tar.gz
+#796ea875cdae283529c03b9203d9c454  requests-2.28.1.tar.gz
+3f2de7681e12dde031acee0497c3cc2b  sphinxcontrib-applehelp-1.0.2.tar.gz
+94069c5cdb5079c445f5477fa6107016  sphinxcontrib-devhelp-1.0.2.tar.gz
+70765b55395a3c20233631802902c840  sphinxcontrib-htmlhelp-2.0.0.tar.gz
+e45179f0a3608b6766862e0f34c23b62  sphinxcontrib-jsmath-1.0.1.tar.gz
+93216721f3e154cce12d1e9c3307b415  sphinxcontrib-qthelp-1.0.3.tar.gz
+d99d2edc7b26988dc5fa92163857bfbf  sphinxcontrib-serializinghtml-1.1.5.tar.gz
+#a8444ced81cd594d60d4af002a0e0025  sphinx-5.2.2.tar.gz
+#fdfc7d2e102cb96eca0f6155dde7403e  sphinx_rtd_theme-1.0.0.tar.gz</literal>
+EOF</userinput></screen>
+
+    <para>
+      Next, create a script to fetch the files:
+    </para>
+
+    <screen><userinput>cat &gt; get-pythonhosted-files.sh &lt;&lt; "EOF"
+<literal>#! /bin/bash 
+
+PYTHONHOSTED=https://files.pythonhosted.org/packages/source
+
+mkdir -p pythonhosted
+rm -f pythonhosted/*.gz
+cd pythonhosted
+
+for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}')
+do
+  # Don't try to get a package that is already present
+  [ -e $package ] &amp;&amp; continue
+  basename=$(echo $package|sed 's/-[[:digit:]].*$//')
+  basechar=$(echo $basename|cut -c 1)
+  url=$PYTHONHOSTED/$basechar/$basename/$package
+  wget $url
+done
+EOF</literal></userinput></screen>
+
+    <para>
+      Run the script and check the files:
+    </para>
+
+   <screen><userinput>bash get-pythonhosted-files.sh &amp;&amp;
+   md5sum -c ../pythonhosted-files.md5</userinput></screen>
+
+   </sect3>
+
+  <sect3 role="installation">
+    <title>Installation of Pythonhosted Modules</title>
+
+    <para>
+      Install all of the packages by running the following
+      commands:
+    </para>
+
+    <screen><userinput>for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}')
+do
+  name=$(echo $package|sed 's/-[[:digit:]].*$//')
+
+  # Don't try to install the package if it already installed  
+  installed_version=$(pip3 show $name 2&gt; /dev/null | grep Version: | awk '{print $2}')
+  if [ -n $installed_version ]; then   
+    [ $(echo $package | grep -q $installed_version) ] &amp;&amp; continue
+  fi
+
+  packagedir=${package%.tar.?z*}
+  tar -xf $package
+  pushd $packagedir
+    pip3 wheel -w dist --no-build-isolation --no-deps $PWD
+    sudo pip3 install --no-index --find-links dist --no-cache-dir \
+                      --no-user --upgrade $name
+  popd
+  rm -rf $packagedir
+done</userinput></screen> 
+
+  </sect3>
+  <!--
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>
+           There are too many plasma programs (63 in /opt/kf5/bin) to list
+           separately here.
+        </seg>
+        <seg>
+           There are too many plasma libraries (40 in /opt/kf5/lib) to list
+           separately here.
+        </seg>
+        <seg>
+           There are too many plasma directories (over 1000 in /opt/kf5) to
+           list separately here.
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+  -->
+</sect2>
