Python Modules

Introduction to Python Modules

The Python module packages add useful objects to the Python language. Modules utilized by packages throughout BLFS are listed here, along with their dependencies.

[Note]

Note

If you want to run tests, several of the following modules depend on the sqlite3 core python module that has not been built in LFS. It is therefore recommended to rebuild Python after installing the recommended dependency listed in Python-3.11.5.

[Important]

Important

In BLFS, we normally build and install Python 3 modules with pip3. Please take care that the pip3 install commands in the book should be run as root unless it's for a Python virtual environment. Running pip3 install as a non-root user may seem to work fine, but it will cause the installed module to be inaccessible by other users.

pip3 install will not reinstall an already installed module by default. For using the pip3 install command to upgrade a module (for example, from meson-0.61.3 to meson-0.62.0), insert --upgrade into the command line. If it's really necessary to downgrade a module or reinstall the same version for some reason, insert --force-reinstall into the command line.

Asciidoc-10.2.0

Introduction to Asciidoc Module

The Asciidoc package is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, and man page.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Asciidoc Dependencies

Optional (runtime)

docbook-xsl-nons-1.79.2, fop-2.9, libxslt-1.1.38, Lynx-2.8.9rel.1, dblatex, and W3m

Installation of Asciidoc

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

This package does not come with a test suite.

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user asciidoc

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: a2x and asciidoc
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/asciidoc and /usr/lib/python3.11/site-packages/asciidoc-10.2.0.dist-info
Short Descriptions

a2x

is a toolchain manager for AsciiDoc (converts Asciidoc text files to other file formats)

asciidoc

converts an AsciiDoc text file to HTML or DocBook

CSSSelect-1.2.0

Introduction to CSSSelect Module

CSSSelect provides CSS selectors for Python.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

CSSSelect Dependencies

Required

setuptools_scm-7.1.0

Optional (for testing)

lxml-4.9.3, pluggy-1.0.0, and pytest-7.4.2

Installation of CSSSelect

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user cssselect

To test the installation issue pytest.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/cssselect

CacheControl-0.13.1

Introduction to CacheControl Module

CacheControl is a port of the caching algorithms in httplib2 for use with requests session object. It was written because httplib2's better support for caching is often mitigated by its lack of thread safety. The same is true of requests in terms of caching.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

CacheControl Dependencies

Required

msgpack-1.0.4 and requests-2.31.0

Installation of CacheControl

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user cachecontrol

This module does not have a working test suite.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: doesitcache
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/CacheControl-0.13.1.dist-info and /usr/lib/python3.11/site-packages/cachecontrol
Short Descriptions

doesitcache

is an undocumented command line script.

Cython-0.29.36

Introduction to Cython Module

The Cython package provides a compiler for writing C extensions for the Python language.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Installation of Cython

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

This package does not come with a test suite.

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user Cython

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: cygdb, cython, and cythonize
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/Cython, /usr/lib/python3.11/site-packages/Cython-0.29.36.dist-info, and /usr/lib/python3.11/site-packages/pyximport
Short Descriptions

cygdb

is the Cython debugger

cython

is a compiler for code written in the Cython language. It outputs a C/C++ program which can be compiled with a C/C++ compiler

cythonize

is a compiler for code written in the Cython language. It outputs an extension module which is directly importable from Python

dbusmock-0.29.1

Introduction to dbusmock

dbusmock is a Python library useful for writing tests for software which talks to D-Bus services.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

dbusmock Dependencies

Required

D-Bus Python-1.3.2

Installation of dbusmock

Build the package with:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

To install the package run the following as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user python-dbusmock

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/dbusmock and /usr/lib/python3.11/site-packages/python_dbusmock-0.29.1.dist-info

D-Bus Python-1.3.2

Introduction to D-Bus Python Module

D-Bus Python provides Python bindings to the D-Bus API interface.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

D-Bus Python Dependencies

Required

dbus-1.14.10, GLib-2.78.0, meson_python-0.12.0, and patchelf-0.17.2

Installation of D-Bus Python

Build the D-Bus Python module by running the following command:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

This package does not come with a test suite.

Now install the module as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user dbus-python

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/dbus and /usr/lib/python3.11/site-packages/dbus_python-1.3.2.egg-info

docutils-0.20.1

Introduction to docutils

docutils is a set of Python modules and programs for processing plaintext docs into formats such as HTML, XML, or LaTeX.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/docutils

Installation of docutils

To build the Python 3 applications, run the following command:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

To install the Python applications run the following as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user docutils &&

for f in /usr/bin/rst*.py; do
  ln -svf $(basename $f) /usr/bin/$(basename $f .py)
done

To reduce the time needed for loading Python scripts, pip3 install will compile the scripts with extension .py into byte code and save the result into .pyc files in the directory __pycache__. But this package installs .py scripts into /usr/bin. So the byte code files for them will be installed into /usr/bin/__pycache__, which is not allowed by FHS. Still as the root user, remove this directory:

rm -rfv /usr/bin/__pycache__

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml, and rstpep2html
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/docutils{,-0.20.1.dist-info}
Short Descriptions

docutils

converts documents into various formats

rst2html

generates (X)HTML documents from standalone reStructuredText sources

rst2html4

generates (X)HTML documents from standalone reStructuredText sources

rst2html5

generates HTML5 documents from standalone reStructuredText sources

rst2latex

generates LaTeX documents from standalone reStructuredText sources

rst2man

generates plain unix manual documents from standalone reStructuredText sources

rst2odt

generates OpenDocument/OpenOffice/ODF documents from standalone reStructuredText sources

rst2odt_prepstyles

Fix a word-processor-generated styles.odt for odtwriter use

rst2pseudoxml

generates pseudo-XML from standalone reStructuredText sources (for testing purposes)

rst2s5

generates S5 (X)HTML slideshow from standalone reStructuredText sources

rst2xetex

generates LaTeX documents from standalone reStructuredText sources for compilation with the Unicode-aware TeX variants XeLaTeX or LuaLaTeX

rst2xml

generates Docutils-native XML from standalone reStructuredText sources

rstpep2html

generates (X)HTML from reStructuredText-format PEP files

Doxypypy-0.8.8.7

Introduction to Doxypypy Module

The Doxypypy package is a doxygen filter for python.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Doxypypy Dependencies

Required

chardet-5.1.0 and Doxygen-1.9.8 (at run time)

Installation of Doxypypy

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user doxypypy

This package does not come with a working test suite.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: doxypypy
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/doxypypy and /usr/lib/python3.11/site-packages/doxypypy-0.8.8.7.dist-info
Short Descriptions

doxypypy

filters Python code for use with Doxygen, using a syntax-aware approach.

Doxyqml-0.5.2

Introduction to Doxyqml Module

The Doxyqml package allows using Doxygen to document QML classes.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Doxyqml Dependencies

Required (Run Time)

Doxygen-1.9.8

Optional (for testing)

pytest-7.4.2

Installation of Doxyqml

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user doxyqml

To test the installation, run:

pytest

The test_qmlclass.py test is known to fail.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: doxyqml
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/doxyqml and /usr/lib/python3.11/site-packages/doxyqml-0.5.2.dist-info
Short Descriptions

doxyqml

is a Doxygen input filter for QML files.

Gi-DocGen-2023.1

Introduction to Gi-DocGen Module

Gi-DocGen is a document generator for GObject-based libraries. GObject is the base type system of the GNOME project. GI-Docgen reuses the introspection data generated by GObject-based libraries to generate the API reference of these libraries, as well as other ancillary documentation.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Gi-DocGen Dependencies

Required

Markdown-3.4.1, Pygments-2.16.1, and typogrify-2.0.7

Optional (for testing)

pytest-7.4.2

Installation of gi-docgen

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user gi-docgen

To test the installation, issue pytest.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: gi-docgen
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/gidocgen and /usr/lib/python3.11/site-packages/gi_docgen-2023.1.dist-info

Short Descriptions

gi-docgen

manages documentation for libgobject based libraries.

libxml2-2.10.4 (for its Python2 module)

Introduction to the libxml2 Python2 module

These instructions provide the Python2 bindings for libxml2: the Python3 bindings are built as part of libxml2-2.10.4 and most packages in the book do not use these bindings for the older Python2.

By building these bindings after libxml2-2.10.4 has been installed, there is no need to rebuild the time-consuming (if all dependencies are used) main part of that package.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

libxml2 (Python2) Dependencies

Required

libxml2-2.10.4 and Python-2.7.18

Installation of libxml2 Python2 module

To build the Python 2 module, run:

./configure PYTHON=python2 &&
cd python                  &&
python2 setup.py build

To install the Python 2 module, as the root user run:

python2 setup.py install --optimize=1

Contents

Installed Modules: drv_libxml2.py, libxml2.py
Installed Libraries: libxml2mod.so
Installed Directories: None

Short Descriptions

drv_libxml2.py

is a SAX Python2 driver for libxml2

libxml2.py

is the Python2 binding for libxml2

libxml2mod.so

is the interface for Python2 to use libxml2.so

lxml-4.9.3

Introduction to lxml Module

lxml provides Python bindings for libxslt-1.1.38 and libxml2-2.10.4.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

lxml Dependencies

Required

libxslt-1.1.38

Installation of lxml

To build the Python 3 module, run:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

To install the module, issue the following command as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user lxml

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/lxml and /usr/lib/python3.11/site-packages/lxml-4.9.3.dist-info

Mako-1.2.4

Introduction to Mako Module

Mako is a Python module that implements hyperfast and lightweight templating for the Python platform.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Mako Dependencies

Optional (for Testing)

pytest-7.4.2

Installation of Mako

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Install the module as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user Mako

To test the installation, issue pytest.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: mako-render
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/mako and /usr/lib/python3.11/site-packages/Mako-1.2.4.dist-info
Short Descriptions

mako-render

renders a template

NumPy-1.26.0

Introduction to NumPy Module

NumPy is the fundamental package for scientific computing with Python.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

NumPy Dependencies

Required

cython-0.29.36, pyproject-metadata-0.7.0

Optional

fortran from GCC-13.2.0, lapack and cblas, and openblas

Optional (for testing)

attrs-22.2.0, pytest-7.4.2, and hypothesis

Installation of NumPy

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir -Csetup-args=-Dallow-noblas=true $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user numpy

The installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install hypothesis                        &&
python3 runtests.py
deactivate

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: f2py, f2py3 and f2py3.11 (3 copies of the same script)
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/numpy
Short Descriptions

f2py

is the Fortran to Python interface generator utility.

Packaging-23.1

Introduction to Packaging Module

The Packaging library provides utilities that implement the interoperability specifications which have clearly one correct behaviour or benefit greatly from having a single shared implementation.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Packaging Dependencies

Optional (for testing)

pytest-7.4.2 and pretend

Installation of Packaging

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user packaging

Assuming pytest-7.4.2 is installed, but the other optional dependency is not, the installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pretend                           &&
python3 /usr/bin/pytest
deactivate

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/packaging and /usr/lib/python3.11/site-packages/packaging-23.1.dist-info

Py3c-1.4

Introduction to Py3c

Py3c helps you port C extensions to Python 3. It provides a detailed guide, and a set of macros to make porting easy and reduce boilerplate.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Installation of Py3c

The Py3c package is a headers-only package and because of that, no configuration and compilation is required.

To test the package, issue:

make test-python3 &&
make test-python3-cpp

To install the Python 3 module, run the following command as the root user:

make prefix=/usr install

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/include/py3c

PyAtSpi2-2.46.0

Introduction to PyAtSpi2

The PyAtSpi2 package contains Python bindings for the core components of the GNOME Accessibility.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyAtSpi2 Dependencies

Required

PyGObject-3.46.0

Recommended

Installation of PyAtSpi2

To build PyAtSpi2 as a Python 3 module, run the following commands:

./configure --prefix=/usr --with-python=/usr/bin/python3

This package does not come with a test suite.

To install the Python 3 module, run the following command as the root user:

make install

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/pyatspi

PyCairo-1.18.2

Introduction to PyCairo for Python2 Module

This version of PyCairo provides Python2 bindings to Cairo.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyCairo Dependencies

Required

Cairo-1.18.0 and Python-2.7.18

Optional

Hypothesis (for tests)

Installation of PyCairo

[Note]

Note

This version of PyCairo is only retained for packages such as Gimp-2.10.34 which is stuck on Python2 until Gimp-3 is released.

Install PyCairo for Python2 by running the following commands:

python2 setup.py build

This package does not come with a test suite.

Now, as the root user:

python2 setup.py install --optimize=1   &&
python2 setup.py install_pycairo_header &&
python2 setup.py install_pkgconfig

Contents

Installed Program: None
Installed Library: _cairo.so
Installed Directories: /usr/include/pycairo, /usr/lib/python2.7/site-packages/cairo, /usr/lib/python2.7/site-packages/pycairo-1.18.2-py2.7.egg,

PyCairo-1.25.0

Introduction to PyCairo Module

PyCairo provides Python bindings to Cairo.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyCairo Dependencies

Required

Cairo-1.18.0

Optional

Hypothesis and pytest-7.4.2 (for tests)

Installation of PyCairo

[Note]

Note

The current version of pycairo no longer builds the Python2 module. If you need that module for packages such as Gimp-2.10.34, use PyCairo-1.18.2

Install PyCairo for Python3 by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

To run the tests, this package requires the optional pytest module. If it is installed, run the tests by running ninja test.

Now, as the root user:

ninja install

Contents

Installed Program: None
Installed Library: None
Installed Directories: /usr/include/pycairo, /usr/lib/python3.11/site-packages/cairo, and /usr/lib/python3.11/site-packages/pycairo-1.25.0.egg-info

Pygments-2.16.1

Introduction to Pygments Module

Pygments is a general syntax highlighter written in Python, for more than 300 languages.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Installation of Pygments

Build the Python 3 module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

To install the package run the following as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user Pygments

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: pygmentize
Installed Library: None
Installed Directories: /usr/lib/python3.11/site-packages/pygments and /usr/lib/python3.11/site-packages/Pygments-2.16.1.dist-info

Short Descriptions

pygmentize

highlights an input file and writes the result to an output file

PyGObject-2.28.7

Introduction to PyGObject Module

PyGObject-2.28.7 provides Python 2 bindings to the GObject class from GLib.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyGObject Dependencies

Required

GLib-2.78.0, PyCairo-1.18.2 and Python-2.7.18

Optional

gobject-introspection-1.78.1 and libxslt-1.1.38 (to Build Documentation)

Installation of PyGObject

Install PyGObject by running the following commands:

./configure --prefix=/usr --disable-introspection &&
make

This package does not have a working test suite.

Now, as the root user:

make install

Command Explanations

--disable-introspection: Omit this switch if you have installed gobject-introspection-1.78.1. Note that it conflicts with PyGObject-3.46.0.

--disable-docs: This option disables the rebuilding of the html documentation if libxslt-1.1.38 is installed.

Contents

Installed Programs: pygobject-codegen-2.0
Installed Libraries: libpyglib-2.0-python.so, _gio.so, unix.so, _glib.so and _gobject.so.
Installed Directories: /usr/include/pygtk-2.0, /usr/lib/python2.7/site-packages/gtk-2.0/{gio,glib,gobject}, /usr/share/gtk-doc/html/pygobject and /usr/share/pygobject/2.0

PyGObject-3.46.0

Introduction to PyGObject3 Module

PyGObject3 provides Python bindings to the GObject class from GLib.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyGObject3 Dependencies

Required

gobject-introspection-1.78.1 and PyCairo-1.25.0 (Python 3 module)

Optional (for the tests)

GTK-4.12.1, pep8, pyflakes, and pytest-7.4.2

Installation of PyGObject3

First, remove two faulty tests:

mv -v tests/test_gdbus.py{,.nouse} &&
mv -v tests/test_overrides_gtk.py{,.nouse}

Install pygobject3 by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

To test the results, issue: ninja test. An already active graphical session with a bus address is necessary to run the tests. Another round of tests may report ERROR if GTK-4.12.1 is not installed.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

Contents

Installed Programs: None
Installed Library: /usr/lib/python3.11/site-packages/gi/_gi{,_cairo}.cpython-311-<arch>-linux-gnu.so
Installed Directories: /usr/include/pygobject-3.0 and /usr/lib/python3.11/site-packages/{gi,pygtkcompat}

PyGTK-2.24.0

Introduction to PyGTK Module

PyGTK lets you to easily create programs with a graphical user interface using the Python programming language.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyGTK Dependencies

Required

PyGObject-2.28.7 and Python-2.7.18

Required (atk module)

at-spi2-core-2.50.0

Required (pango module)

Pango-1.50.14

Required (pangocairo module)

PyCairo-1.18.2 and Pango-1.50.14

Required (gtk and gtk.unixprint modules)

PyCairo-1.18.2 and GTK+-2.24.33.

Required (gtk.glade module)

PyCairo-1.18.2 and libglade-2.6.4.

Optional

NumPy

Optional (to Build Documentation)

libxslt-1.1.38

Installation of PyGTK

First, adapt PyGTK to changes in Pango by removing undefined APIs:

sed -i '1394,1402 d' pango.defs

Install PyGTK by running the following commands:

./configure --prefix=/usr &&
make

The tests must be run from an active X display. If this is so, issue: make check.

Now, as the root user:

make install

Command Explanations

--enable-docs: This option enables rebuilding the html documentation if libxslt-1.1.38 is installed.

Contents

Installed Programs: pygtk-codegen-2.0 and pygtk-demo.
Installed Libraries: atk.so, _gtk.so, glade.so, gtkunixprint.so, pango.so and pangocairo.so.
Installed Directories: /usr/include/pygtk-2.0, /usr/lib/pygtk, /usr/lib/python2.7/site-packages/gtk-2.0, /usr/share/gtk-doc/html/pygtk and /usr/share/pygtk.

Short Descriptions

pygtk-codegen-2.0

is a wrapper script to run the PyGTK codegen module

pygtk-demo

is a Python wrapper to run the PyGTK demo program

pyparsing-3.1.1

Introduction to pyparsing Module

The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. It provides a library of classes that client code uses to construct the grammar directly in Python code.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

pyparsing Dependencies

Optional

railroad-diagrams (also needed for tests)

Optional (for testing)

pytest-7.4.2

Installation of pyparsing

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user pyparsing

Assuming pytest-7.4.2 is installed, but the other optional dependency is not, the installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install railroad-diagrams                 &&
python3 /usr/bin/pytest
deactivate

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/pyparsing and /usr/lib/python3.11/site-packages/pyparsing-3.1.1.dist-info

pySerial-3.5

Introduction to pySerial Module

The pySerial module encapsulates access to the serial port.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

pySerial Dependencies

Required

setuptools_scm-7.1.0

Optional (for testing)

pluggy-1.0.0 and pytest-7.4.2

Installation of pySerial

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user pyserial

To test the installation issue pytest.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: pyserial-miniterm and pyserial-ports
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/pyserial-3.5.dist-info and /usr/lib/python3.11/site-packages/serial
Short Descriptions

pyserial-miniterm

is a console application that provides a small terminal application. It may inherit terminal features from the terminal in which it is run.

pyserial-ports

lists available ports.

Pytest-7.4.2

Introduction to Pytest Module

The Pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Pytest Dependencies

Required

iniconfig-2.0.0, packaging-23.1, pluggy-1.0.0, and py-1.11.0

Recommended
Optional (for testing)

Pygments-2.16.1, requests-2.31.0, argcomplete, elementpath, hypothesis, mock, nose, sortedcontainers, and xmlschema

Installation of Pytest

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user pytest

The installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install pytest[testing]                   &&
python3 /usr/bin/pytest
deactivate

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: pytest and py.test (different files but with same content)
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/_pytest, /usr/lib/python3.11/site-packages/pytest, and /usr/lib/python3.11/site-packages/pytest-7.4.2.dist-info
Short Descriptions

pytest

sets up, manages, and/or runs test in python module source directories

PyXDG-0.28

Introduction to PyXDG Module

PyXDG is a Python library to access freedesktop.org standards.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Installation of PyXDG

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Install the module as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user pyxdg

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Directory: /usr/lib/python3.11/site-packages/xdg and /usr/lib/python3.11/site-packages/pyxdg-0.28.dist-info

PyYAML-6.0.1

Introduction to PyYAML Module

PyYAML is a Python module that implements the next generation YAML parser and emitter.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

PyYAML Dependencies

Required

cython-0.29.36 and libyaml-0.2.5

Installation of PyYAML

Build PyYAML with the following command:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, install the module as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user PyYAML

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/PyYAML-0.2.5.dist-info

Recommonmark-0.7.1

Introduction to Recommonmark Module

Recommonmark is a docutils-compatibility bridge to CommonMark. It allows writing CommonMark inside of Docutils and Sphinx projects. Recommonmark is now deprecated in favor of MyST-Parser. Unfortunately, LLVM-17.0.1 still depends on this module.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Recommonmark Dependencies

Required

commonmark-0.9.1 and sphinx-7.2.6

Optional (for testing)

pytest-7.4.2

Installation of Recommonmark

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user recommonmark

Recommonmark is now deprecated in favor of MyST-Parser. For this reason, a lot of tests have to be disabled because they do not pass with recent versions of Sphinx. The installation can be partially tested with the following command:

pytest -k 'not (test_integration or test_code or test_headings or test_image or test_links or test_lists)'

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: cm2html, cm2latex, cm2man, cm2pseudoxml, cm2xetex, and cm2xml
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/recommonmark and /usr/lib/python3.11/site-packages/recommonmark-0.7.1.dist-info

Short Descriptions

cm2html

generates a html document from markdown sources

cm2latex

generates a latex document from markdown sources

cm2man

generates a manpage from markdown sources

cm2pseudoxml

generates a pseudo-XML document from markdown sources

cm2xetex

generates a xetex document from markdown sources

cm2xml

generates an XML document from markdown sources

Requests-2.31.0

Introduction to Requests Module

The Requests package is an elegant and simple HTTP library for Python, built for human beings. It allows sending HTTP/1.1 requests extremely easily.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Additional Download

Requests Dependencies

Required

charset-normalizer-3.0.1, idna-3.4, and urllib3-2.0.2

Recommended
Optional

PySocks (also needed for testing)

Optional (for testing)

pytest-7.4.2, Flask<2, httpbin, MarkupSafe<2.1, pytest-mock, pytest-httpbin, sphinx<5, trustme, and Werkzeug<2

Installation of Requests

First apply a patch so that the same environment variable already used to point to system certificates in Python3 following the installation of make-ca can also be used by this module:

patch -Np1 -i ../requests-2.31.0-use_system_certs-1.patch

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user requests

Assuming pytest-7.4.2 is installed, but the other optional dependencies are not, the installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install --force-reinstall sphinx\<5       &&
pip3 install pytest-mock    \
             werkzeug\<2    \
             flask\<2       \
             pytest-httpbin \
             pysocks        \
             trustme                           &&
pip3 install --force-reinstall Markupsafe\<2.1 &&
python3 /usr/bin/pytest tests
deactivate
[Note]

Note

See make-ca-1.13 for how to set the environment variable, and for how local copies of the Certifi and Requests modules installed in a virtual environment will override the system certificates.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/requests and /usr/lib/python3.11/site-packages/requests-2.31.0.dist-info

Scour-0.38.2

Introduction to Scour Module

Scour is an SVG (Scalable Vector Graphics) optimizer/cleaner that reduces their size by optimizing structure and removing unnecessary data.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Scour Dependencies

Required

six-1.16.0

Installation of scour

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

To install the module, run the following command as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user scour

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: scour
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/scour and /usr/lib/python3.11/site-packages/scour-0.38.2.dist-info

Short Descriptions

scour

is a program to optimize and clean SVG files

six-1.16.0

Introduction to Six Module

Six is a Python 2 to 3 compatibility library.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Installation of Six

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

This package does not come with a test suite.

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user six

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/six-1.16.0.dist-info

Sphinx-7.2.6

Introduction to Sphinx Module

The Sphinx package is a set of tools for translating some structured text formats into pretty documentation in various formats.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Sphinx Dependencies

Required

alabaster-0.7.13, Babel-2.11.0, docutils-0.20.1, imagesize-1.4.1, packaging-23.1, Pygments-2.16.1, requests-2.31.0, snowballstemmer-2.2.0, sphinxcontrib-applehelp-1.0.4, sphinxcontrib-devhelp-1.0.2, sphinxcontrib-htmlhelp-2.0.1, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-1.0.3, and sphinxcontrib-serializinghtml-1.1.9

Optional (for tests)

cython-0.29.36, pytest-7.4.2, texlive-20230313, filelock, and html5lib

Installation of Sphinx

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user sphinx

Assuming cython-0.29.36 and pytest-7.4.2 are installed, but the other optional dependencies are not, the installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install html5lib filelock                 &&
python3 -m pytest
deactivate

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: sphinx-apidoc, sphinx-autogen, sphinx-build, and sphinx-quickstart
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/sphinx and /usr/lib/python3.11/site-packages/sphinx-7.2.6.dist-info
Short Descriptions

sphinx-apidoc

creates an reST file from python modules and packages

sphinx-autogen

generates ReStructuredText from special directives contained in given input files

sphinx-build

generates documentation in various formats from ReStructuredText source files

sphinx-quickstart

generates required files for a sphinx project

Sphinx_rtd_theme-1.3.0

Introduction to Sphinx_rtd_theme Module

The sphinx_rtd_theme module is a Sphinx theme designed to provide a great reader experience for documentation users on both desktop and mobile devices. This theme is used primarily on Read the Docs but can work with any Sphinx project.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Sphinx_rtd_theme Dependencies

Required

sphinx-7.2.6 and sphinxcontrib-jquery-4.1

Optional (for tests)

pytest-7.4.2 and readthedocs-sphinx-ext

Installation of Sphinx_rtd_theme

Fix wrong versions for dependencies:

sed -e s/0.19/0.21/ \
    -i setup.cfg

Build the module:

pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD

Now, as the root user:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user sphinx_rtd_theme

Assuming pytest-7.4.2 is installed, but the other optional dependency is not, the installation can be tested with the following commands:

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install readthedocs-sphinx-ext            &&
python3 /usr/bin/pytest
deactivate

Several tests return warnings because they use a deprecated sphinx API.

Command Explanations

-w dist: builds the appropriate "wheel" for this module in the directory dist.

--no-build-isolation: tells pip3 to run the build in the system environment instead of creating a temporary build environment.

--no-deps: prevents pip3 from building wheels for the project's dependencies.

--no-index: ignores the package index (only looking at --find-links URLs instead).

--find-links dist: looks for links to archives such as wheel (.whl) files in the directory dist.

--no-cache-dir: disables the cache to prevent a warning when installing as the root user.

--no-user: Prevent mistakenly running the install command as a non-root user.

--upgrade: Upgrade the package to the newest available version. This option is used with the install command if a version of the package is already installed.

--force-reinstall: Reinstall the package even if it is up-to-date. This option is used with the install command if reinstalling the package or reverting to an earlier version of the package.

--no-deps: Do not install package dependencies. This option may be needed with the --upgrade or --force-reinstall options.

Contents

Installed Programs: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.11/site-packages/sphinx_rtd_theme and /usr/lib/python3.11/site-packages/sphinx_rtd_theme-1.3.0.dist-info