#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 13. Programming

- Prev

  Python-3.11.1

- Next

  Python Dependencies

- Up
- Home

# 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

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.13.2.

### 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.1

- CacheControl-0.14.2

- cssselect-1.2.0

- cython-3.0.12

- dbusmock-0.34.3

- D-Bus Python-1.3.2

- docutils-0.21.2

- doxypypy-0.8.8.7

- doxyqml-0.5.3

- Gi-DocGen-2025.3

- html5lib-1.1

- lxml-5.3.1

- Mako-1.3.9

- NumPy-2.2.3

- packaging-24.2

- ply-3.11

- psutil-7.0.0

- Py3c-1.4

- PyAtSpi2-2.46.1

- PyCairo-1.26.1

- pygdbmi-0.11.0.0

- Pygments-2.19.1

- PyGObject-3.50.0

- pyparsing-3.2.1

- pySerial-3.5

- pytest-8.3.4

- PyXDG-0.28

- PyYAML-6.0.2

- recommonmark-0.7.1

- requests-2.32.3

- sentry-sdk-2.22.0

- Scour-0.38.2

- six-1.17.0

- sphinx-8.2.1

- sphinx_rtd_theme-3.0.2

## Asciidoc-10.2.1

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/a/asciidoc/asciidoc-10.2.1.tar.gz

- Download MD5 sum: 460824075b51381a4b5f478c60a18165

- Download size: 228 KB

- Estimated disk space required: 2.6 MB

- Estimated build time: less than 0.1 SBU

#### Asciidoc Dependencies

##### Optional (runtime)

docbook-xsl-nons-1.79.2, fop-2.10, libxslt-1.1.42, Lynx-2.9.2, 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-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.13/site-packages/asciidoc and /usr/lib/python3.13/site-packages/asciidoc-10.2.1.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/c/cssselect/cssselect-1.2.0.tar.gz

- Download MD5 sum: 27fbafacce5447cb867acb240d35002a

- Download size: 1.2 MB

- Estimated disk space required: 512 KB (add 488 KB for tests)

- Estimated build time: less than 0.1 SBU

#### CSSSelect Dependencies

##### Required

setuptools_scm-8.1.0

##### Optional (for testing)

lxml-5.3.1 and pytest-8.3.4

### 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-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.13/site-packages/cssselect

## CacheControl-0.14.2

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/psf/cachecontrol/archive/v0.14.2/cachecontrol-0.14.2.tar.gz

- Download MD5 sum: c4912812fd7ec8865b6dca9bcaa0cb38

- Download size: 44 KB

- Estimated disk space required: 364 KB

- Estimated build time: less than 0.1 SBU

#### CacheControl Dependencies

##### Required

msgpack-1.1.0 and requests-2.32.3

### 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-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.13/site-packages/CacheControl-0.14.2.dist-info and /usr/lib/python3.13/site-packages/cachecontrol

##### Short Descriptions

doesitcache | is an undocumented command line script.

## Cython-3.0.12

### Introduction to Cython Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/cython/cython/releases/download/3.0.12/cython-3.0.12.tar.gz

- Download MD5 sum: ab61fac00686d611197fba10c37f30e5

- Download size: 2.7 MB

- Estimated disk space required: 143 MB

- Estimated build time: 2.1 SBU

### 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-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.13/site-packages/Cython, /usr/lib/python3.13/site-packages/Cython-3.0.12.dist-info, and /usr/lib/python3.13/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.34.3

### Introduction to dbusmock

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/python-dbusmock/python_dbusmock-0.34.3.tar.gz

- Download MD5 sum: a2de46b58aa39d8337d4104493404249

- Download size: 112 KB

- Estimated disk space required: 1.1 MB

- Estimated build time: less than 0.1 SBU

#### dbusmock Dependencies

##### Required

D-Bus Python-1.3.2

##### Optional

pytest-8.3.4 (required to run the test suite), PyGObject-3.50.0 (required to run the test suite), BlueZ-5.79 (optional for the test suite), and UPower-1.90.7 (optional for the test suite; if not installed one test will fail)

### 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-user python-dbusmock

To test the results, issue: LC_ALL=C 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.13/site-packages/dbusmock and /usr/lib/python3.13/site-packages/python_dbusmock-0.34.3.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://dbus.freedesktop.org/releases/dbus-python/dbus-python-1.3.2.tar.gz

- Download MD5 sum: 33be8a4a766e1c7c9a377b8f934ce21a

- Download size: 592 KB

- Estimated disk space required: 4.0 MB

- Estimated build time: less than 0.1 SBU

#### D-Bus Python Dependencies

##### Required

dbus-1.16.0, GLib-2.82.5, meson_python-0.17.1, and patchelf-0.18.0

### 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-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.13/site-packages/dbus and /usr/lib/python3.13/site-packages/dbus_python-1.3.2.egg-info

## docutils-0.21.2

### Introduction to docutils

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/d/docutils/docutils-0.21.2.tar.gz

- Download MD5 sum: c4064e1e0e3cd142951fd2b95b830874

- Download size: 2.1 MB

- Estimated disk space required: 10 MB

- Estimated build time: less than 0.1 SBU

### Installation of docutils

First, remove some files installed in a previous version that are no longer valid. As the `root` user:

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

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-user docutils

To test the installation, issue: test/alltests.py. Two tests in the `test_parser` suite are 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: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml, and rstpep2html
Installed Libraries: None
Installed Directories: /usr/lib/python3.13/site-packages/docutils{,-0.21.2.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/d/doxypypy/doxypypy-0.8.8.7.tar.gz

- Download MD5 sum: 5773d0a7882df900cbda8ee5107e1ced

- Download size: 45 KB

- Estimated disk space required: 2.1 MB

- Estimated build time: less than 0.1 SBU

#### Doxypypy Dependencies

##### Required

chardet-5.2.0 and Doxygen-1.13.2 (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-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.13/site-packages/doxypypy and /usr/lib/python3.13/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.3

### Introduction to Doxyqml Module

The Doxyqml package allows using Doxygen to document QML classes.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/d/doxyqml/doxyqml-0.5.3.tar.gz

- Download MD5 sum: 3d394a0d896721e27beb62bf032f7f43

- Download size: 28 KB

- Estimated disk space required: 652 KB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### Doxyqml Dependencies

##### Required (Run Time)

Doxygen-1.13.2

##### Optional (for testing)

pytest-8.3.4

### 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-user doxyqml

To test the installation, issue:

    python3 tests/functional/tests.py &&
    python3 tests/unit/tests.py

### 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.13/site-packages/doxyqml and /usr/lib/python3.13/site-packages/doxyqml-0.5.3.dist-info

##### Short Descriptions

doxyqml | is a Doxygen input filter for QML files.

## Gi-DocGen-2025.3

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/g/gi-docgen/gi_docgen-2025.3.tar.gz

- Download MD5 sum: 1ca4c7d7b1f24635a7f61de359c909d3

- Download size: 2.4 MB

- Estimated disk space required: 17 MB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### Gi-DocGen Dependencies

##### Required

Markdown-3.7, packaging-24.2, Pygments-2.19.1, and typogrify-2.1.0

##### Optional

Graphviz-12.2.1 (runtime, for visualizing class hierarchy graphs) and pytest-8.3.4 (for testing)

### 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-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.13/site-packages/gidocgen and /usr/lib/python3.13/site-packages/gi_docgen-2025.3.dist-info

### Short Descriptions

gi-docgen | manages documentation for libgobject based libraries.

## html5lib-1.1

### Introduction to html5lib Module

html5lib provides a pure-python library for parsing HTML. It is designed to conform to the WHATWG HTML specification.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/h/html5lib/html5lib-1.1.tar.gz

- Download MD5 sum: 6748742e2ec4cb99287a6bc82bcfe2b0

- Download size: 268 KB

- Estimated disk space required: 3.9 MB

- Estimated build time: less than 0.1 SBU

#### html5lib Dependencies

##### Required

six-1.17.0 and webencodings-0.5.1

### Installation of html5lib

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-user html5lib

### 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.13/site-packages/html5lib and /usr/lib/python3.13/site-packages/html5lib-1.1.dist-info

## lxml-5.3.1

### Introduction to lxml Module

lxml provides Python bindings for libxslt-1.1.42 and libxml2-2.13.6.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/l/lxml/lxml-5.3.1.tar.gz

- Download MD5 sum: 9d94cc157fb6db0c062ef80cdc0ed307

- Download size: 3.6 MB

- Estimated disk space required: 90 MB

- Estimated build time: 0.9 SBU

#### lxml Dependencies

##### Required

libxslt-1.1.42

### 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-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.13/site-packages/lxml and /usr/lib/python3.13/site-packages/lxml-5.3.1.dist-info

## Mako-1.3.9

### Introduction to Mako Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/M/Mako/mako-1.3.9.tar.gz

- Download MD5 sum: 28b1b70e01a1240c90e97fab2f17e349

- Download size: 384 KB

- Estimated disk space required: 3.9 MB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

### Note

The tarball name has changed from Mako to mako, but still installs the module as Mako.

#### Mako Dependencies

##### Optional (for Testing)

pytest-8.3.4

### 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-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.13/site-packages/mako and /usr/lib/python3.13/site-packages/Mako-1.3.9.dist-info

##### Short Descriptions

mako-render | renders a template

## NumPy-2.2.3

### Introduction to NumPy Module

NumPy is the fundamental package for scientific computing with Python.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/n/numpy/numpy-2.2.3.tar.gz

- Download MD5 sum: c6ee254bcdf1e2fdb13d87e0ee4166ba

- Download size: 19 MB

- Estimated disk space required: 107 MB (add 23 MB for tests)

- Estimated build time: 0.4 SBU (add 1.1 SBU for tests)

#### NumPy Dependencies

##### Required

cython-3.0.12, meson_python-0.17.1, and pyproject-metadata-0.9.0

##### Optional

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

##### Optional (for testing)

attrs-25.1.0, pytest-8.3.4, pytz-2025.1, and hypothesis

### Installation of NumPy

Build the module:

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

Now, as the `root` user:

    pip3 install --no-index --find-links dist --no-user numpy

The installation can be tested with the following commands:

    mkdir -p test                                  &&
    cd       test                                  &&
    python3 -m venv --system-site-packages testenv &&
    source testenv/bin/activate                    &&
    pip3 install hypothesis                        &&
    python3 -c "import numpy, sys; sys.exit(numpy.test() is False)"
    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.13 (3 copies of the same script)
Installed Libraries: None
Installed Directories: /usr/lib/python3.13/site-packages/numpy

##### Short Descriptions

f2py | is the Fortran to Python interface generator utility.

## Packaging-24.2

### Introduction to Packaging Module

The Packaging library provides utilities that implement the interoperability specifications which have clearly one correct behaviour (PEP440) or benefit greatly from having a single shared implementation (PEP425). This includes utilities for version handling, specifiers, markers, tags, and requirements.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/packaging/packaging-24.2.tar.gz

- Download MD5 sum: 97dbaca91e00d6b9fd86866e8c7897ae

- Download size: 164 KB

- Estimated disk space required: 2.7 MB (add 20 MB for tests)

- Estimated build time: less than 0.1 SBU (0.1 SBU for tests)

#### Packaging Dependencies

##### Optional (for testing)

pytest-8.3.4 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-user packaging

Assuming pytest-8.3.4 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.13/site-packages/packaging and /usr/lib/python3.13/site-packages/packaging-24.2.dist-info

## ply-3.11

### Introduction to ply Module

The ply package is a 100% Python implementation of the common parsing tools 'lex' and 'yacc'.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/ply/ply-3.11.tar.gz

- Download MD5 sum: 6465f602e656455affcd7c5734c638f8

- Download size: 156 KB

- Estimated disk space required: 2.2 MB

- Estimated build time: less than 0.1 SBU

### Installation of ply

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-user ply

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: None
Installed Libraries: None
Installed Directories: /usr/lib/python3.13/site-packages/ply and /usr/lib/python3.13/site-packages/ply-3.11.dist-info

## psutil-7.0.0

### Introduction to psutil Module

psutil (process and system utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by classic UNIX command line tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/psutil/psutil-7.0.0.tar.gz

- Download MD5 sum: 1c074ff5828dff3a3ecfa0e0f9de2e63

- Download size: 488 KB

- Estimated disk space required: 4.2 MB

- Estimated build time: less than 0.1 SBU

#### Packaging Dependencies

##### Optional (for testing)

pytest-8.3.4 and pypinfo

### Installation of psutil

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-user psutil

To test the results, issue: make test.

Two tests, `TestSystemAPIs::test_disk_usage` and `TestNetAPIs::test_net_if_addrs`, are known to fail. One test named `TestAvailProcessAPIs::test_io_counters` is known to fail if the kernel does not have `CONFIG_TASK_IO_ACCOUNTING` enabled. `TestScripts.test_who` is known to fail if the login manager does not write into `/run/utmp` (note that due to the potential year 2037 problem, Shadow has already stopped writing into it). `TestInternalScripts::test_import_all` is known to fail if the external module pyinfo is not installed.

### 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.13/site-packages/psutil-7.0.0.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/encukou/py3c/archive/v1.4/py3c-1.4.tar.gz

- Download MD5 sum: 53029afde7e0cf8672a2d69d378a0cfc

- Download size: 47 KB

- Estimated disk space required: 608 KB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

### 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.1

### Introduction to PyAtSpi2

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://download.gnome.org/sources/pyatspi/2.46/pyatspi-2.46.1.tar.xz

- Download MD5 sum: 0f2bfade055457cb0c2389fd46d1ad70

- Download size: 316 KB

- Estimated disk space required: 3.9 MB

- Estimated build time: less than 0.1 SBU

#### PyAtSpi2 Dependencies

##### Required

PyGObject-3.50.0

##### Recommended

at-spi2-core-2.54.1

### 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.13/site-packages/pyatspi

## PyCairo-1.26.1

### Introduction to PyCairo Module

PyCairo provides Python bindings to Cairo.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/pygobject/pycairo/releases/download/v1.26.1/pycairo-1.26.1.tar.gz

- Download MD5 sum: 36504ac01533ae14f0d2337516bbae2e

- Download size: 340 KB

- Estimated disk space required: 3.1 MB

- Estimated build time: less than 0.1 SBU

#### PyCairo Dependencies

##### Required

Cairo-1.18.2

##### Optional

Hypothesis and pytest-8.3.4 (for tests)

### Installation of PyCairo

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.13/site-packages/cairo, and /usr/lib/python3.13/site-packages/pycairo-1.26.1.egg-info

## pygdbmi-0.11.0.0

### Introduction to pygdbmi Module

GDB/MI is a line based machine oriented text interface to GDB and is activated by specifying using the --interpreter command line option (see Mode Options). It is specifically intended to support the development of systems which use the debugger as just one small component of a larger system.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/pygdbmi/pygdbmi-0.11.0.0.tar.gz

- Download MD5 sum: 34b1812e77469c6206002b3929798cab

- Download size: 28 KB

- Estimated disk space required: 280 MB

- Estimated build time: less than 0.1 SBU

### Installation of pygdbmi

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-user pygdbmi

### 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.13/site-packages/pygdbmi-0.11.0.0.dist-info

## Pygments-2.19.1

### Introduction to Pygments Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/P/Pygments/pygments-2.19.1.tar.gz

- Download MD5 sum: 5e6e00a0f63b9f3b63edfa260f71b1b5

- Download size: 4.8 MB

- Estimated disk space required: 52 MB

- Estimated build time: less than 0.1 SBU

### Pygments Dependencies

#### Required

hatchling-1.27.0

#### Optional (for testing)

pytest-8.3.4 and wcag-contrast-ratio

### 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-user Pygments

To test the installation, make sure pytest-8.3.4 is installed and run:

    python3 -m venv --system-site-packages testenv &&
    testenv/bin/pip3 install wcag-contrast-ratio   &&
    testenv/bin/python -m 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: pygmentize
Installed Library: None
Installed Directories: /usr/lib/python3.13/site-packages/pygments and /usr/lib/python3.13/site-packages/Pygments-2.19.1.dist-info

### Short Descriptions

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

## PyGObject-3.50.0

### Introduction to PyGObject3 Module

PyGObject3 provides Python bindings to the GObject class from GLib.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://download.gnome.org/sources/pygobject/3.50/pygobject-3.50.0.tar.xz

- Download MD5 sum: 8f34e4bc1d7d57faf558180b0051c9ef

- Download size: 912 KB

- Estimated disk space required: 10 MB (with tests)

- Estimated build time: 0.2 SBU (with tests)

#### PyGObject3 Dependencies

##### Required

GLib-2.82.5 (with GObject Introspection)

##### Recommended

PyCairo-1.26.1

##### Optional (for the tests)

GTK-4.16.12, pep8, pyflakes, and pytest-8.3.4

### 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.16.12 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.

`-D pycairo=disabled`: use this switch if you do not have PyCairo-1.26.1 installed.

### Contents

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

## pyparsing-3.2.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-3.2.1.tar.gz

- Download MD5 sum: 0af29922e2f22dbc2569b88917b44f52

- Download size: 1.0 MB

- Estimated disk space required: 99 MB (with tests)

- Estimated build time: 0.3 SBU (with tests)

#### pyparsing Dependencies

##### Optional

railroad-diagrams (also needed for tests)

##### Optional (for testing)

pytest-8.3.4

### 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-user pyparsing

Assuming pytest-8.3.4 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 matplotlib      &&
    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.13/site-packages/pyparsing and /usr/lib/python3.13/site-packages/pyparsing-3.2.1.dist-info

## pySerial-3.5

### Introduction to pySerial Module

The pySerial module encapsulates access to the serial port.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/pyserial/pyserial-3.5.tar.gz

- Download MD5 sum: 1cf25a76da59b530dbfc2cf99392dc83

- Download size: 156 KB

- Estimated disk space required: 2.1 MB (add 0.2 MB for tests)

- Estimated build time: less than 0.1 SBU

#### pySerial Dependencies

##### Required

setuptools_scm-8.1.0

##### Optional (for testing)

pytest-8.3.4

### 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-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.13/site-packages/pyserial-3.5.dist-info and /usr/lib/python3.13/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-8.3.4

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/p/pytest/pytest-8.3.4.tar.gz

- Download MD5 sum: 542c4e802eeac1d196482e90a36533ed

- Download size: 1.4 MB

- Estimated disk space required: 41 MB (with tests)

- Estimated build time: 1 SBU (with tests)

#### Pytest Dependencies

##### Required

iniconfig-2.0.0, packaging-24.2, and pluggy-1.5.0

##### Recommended

setuptools_scm-8.1.0

##### Optional (for testing)

attrs-25.1.0, Pygments-2.19.1, requests-2.32.3, argcomplete, hypothesis, mock, 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-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[dev] xmlschema hypothesis  &&
    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.13/site-packages/_pytest, /usr/lib/python3.13/site-packages/pytest, and /usr/lib/python3.13/site-packages/pytest-8.3.4.dist-info

##### Short Descriptions

pytest | sets up, manages, and/or runs tests in python module source directories

## PyXDG-0.28

### Introduction to PyXDG Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/b0/25/7998cd2dec731acbd438fbf91bc619603fc5188de0a9a17699a781840452/pyxdg-0.28.tar.gz

- Download MD5 sum: d9a1d04fe60c956f5e3b9de3b4ef4722

- Download size: 76 KB

- Estimated disk space required: 808 KB

- Estimated build time: less than 0.1 SBU

### 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-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.13/site-packages/xdg and /usr/lib/python3.13/site-packages/pyxdg-0.28.dist-info

## PyYAML-6.0.2

### Introduction to PyYAML Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/P/PyYAML/pyyaml-6.0.2.tar.gz

- Download MD5 sum: 9600ee49b2b4e1a0237cf4173b6dc594

- Download size: 128 KB

- Estimated disk space required: 8.5 MB

- Estimated build time: 0.1 SBU

#### PyYAML Dependencies

##### Required

cython-3.0.12 and libyaml-0.2.5

##### Optional

pytest-8.3.4 (for testing)

### 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-user PyYAML

To test the results, 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.13/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, libinput-1.27.1 depends on this module.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/r/recommonmark/recommonmark-0.7.1.tar.gz

- Download MD5 sum: 3c550a76eb62006bf007843a9f1805bb

- Download size: 34 KB

- Estimated disk space required: 680 KB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### Recommonmark Dependencies

##### Required

commonmark-0.9.1 and sphinx-8.2.1

##### Optional (for testing)

pytest-8.3.4

### 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-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.13/site-packages/recommonmark and /usr/lib/python3.13/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.32.3

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/r/requests/requests-2.32.3.tar.gz

- Download MD5 sum: fa3ee5ac3f1b3f4368bd74ab530d3f0f

- Download size: 132 KB

- Estimated disk space required: 1.1 MB (add 139 MB for tests)

- Estimated build time: less than 0.1 SBU (0.9 SBU for tests)

#### Additional Download

- Recommended patch: https://www.linuxfromscratch.org/patches/blfs/12.3/requests-2.32.3-use_system_certs-1.patch

#### Requests Dependencies

##### Required

charset-normalizer-3.4.1, idna-3.10, and urllib3-2.3.0

##### Recommended

make-ca-1.15, with p11-kit-0.25.5 (both needed to use system https: certificates, removing an unnecessary dependency on the Certifi module).

##### Optional

PySocks (also needed for testing)

##### Optional (for testing)

pytest-8.3.4, 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.32.3-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-user requests

Assuming pytest-8.3.4 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

See make-ca-1.15 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.13/site-packages/requests and /usr/lib/python3.13/site-packages/requests-2.32.3.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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/scour-project/scour/archive/v0.38.2/scour-0.38.2.tar.gz

- Download MD5 sum: ae30f52602802f8c7df3a32e1f72b325

- Download size: 100 KB

- Estimated disk space required: 1.3 MB

- Estimated build time: less than 0.1 SBU

#### Scour Dependencies

##### Required

six-1.17.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-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.13/site-packages/scour and /usr/lib/python3.13/site-packages/scour-0.38.2.dist-info

### Short Descriptions

scour | is a program to optimize and clean SVG files

## sentry-sdk-2.22.0

### Introduction to sentry-sdk Module

The sentry-sdk module is the official Python SDK for Sentry.io.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://github.com/getsentry/sentry-python/releases/download/2.22.0/sentry_sdk-2.22.0.tar.gz

- Download MD5 sum: 6ecdbf8b6cddf5c083ebbf1a01aed3c8

- Download size: 300 KB

- Estimated disk space required: 3.6 MB

- Estimated build time: less than 0.1 SBU

#### sentry-sdk Dependencies

##### Required

certifi-2025.1.31 and urllib3-2.3.0

### Installation of sentry-sdk

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-user sentry-sdk

### 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.13/site-packages/sentry_sdk-2.22.0.dist-info and /usr/lib/python3.13/site-packages/sentry_sdk

## six-1.17.0

### Introduction to Six Module

Six is a Python 2 to 3 compatibility library.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/s/six/six-1.17.0.tar.gz

- Download MD5 sum: a0387fe15662c71057b4fb2b7aa9056a

- Download size: 36 KB

- Estimated disk space required: 300 KB

- Estimated build time: less than 0.1 SBU

### 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-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.13/site-packages/six-1.17.0.dist-info

## Sphinx-8.2.1

### Introduction to Sphinx Module

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

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/s/sphinx/sphinx-8.2.1.tar.gz

- Download MD5 sum: c4e340fa7b1c85898dcb72b5ea8bb8f7

- Download size: 7.9 MB

- Estimated disk space required: 32 MB (add 22 MB for tests)

- Estimated build time: less than 0.1 SBU (add 0.7 SBU for tests)

#### Sphinx Dependencies

##### Required

alabaster-1.0.0, babel-2.17.0, docutils-0.21.2, imagesize-1.4.1, packaging-24.2, Pygments-2.19.1, requests-2.32.3, snowballstemmer-2.2.0, sphinxcontrib-applehelp-2.0.0, sphinxcontrib-devhelp-2.0.0, sphinxcontrib-htmlhelp-2.1.0, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-2.0.0, and sphinxcontrib-serializinghtml-2.0.0

##### Optional (for tests)

cython-3.0.12, html5lib-1.1, pytest-8.3.4, texlive-20240312, defusedxml, and typing_extensions

### Installation of Sphinx

First install a new dependency as the `root` user:

    pip3 install roman-numerals-py

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-user sphinx

Assuming cython-3.0.12 and pytest-8.3.4 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 sphinx[test]                      &&
    python3 -m pytest
    deactivate

One test, test_ext_math.py::test_imgmath_numfig_html, 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: sphinx-apidoc, sphinx-autogen, sphinx-build, and sphinx-quickstart
Installed Libraries: None
Installed Directories: /usr/lib/python3.13/site-packages/sphinx and /usr/lib/python3.13/site-packages/sphinx-8.2.1.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-3.0.2

### 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.

This package is known to build and work properly using an LFS 12.3 platform.

#### Package Information

- Download (HTTP): https://files.pythonhosted.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-3.0.2.tar.gz

- Download MD5 sum: b26e7ff8c3a90817bbc20fb76c530e00

- Download size: 7.3 MB

- Estimated disk space required: 40 MB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### Sphinx_rtd_theme Dependencies

##### Required

sphinx-8.2.1 and sphinxcontrib-jquery-4.1

##### Optional (for tests)

pytest-8.3.4 and readthedocs-sphinx-ext

### Installation of Sphinx_rtd_theme

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-user sphinx_rtd_theme

Assuming pytest-8.3.4 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.13/site-packages/sphinx_rtd_theme and /usr/lib/python3.13/site-packages/sphinx_rtd_theme-3.0.2.dist-info

- Prev

  Python-3.11.1

- Next

  Python Dependencies

- Up
- Home