Python Modules

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 5. Programming

- Prev

  Python Dependencies

- Next

  samurai-737f70

- Up
- Home

# Python Modules

## Introduction to Python Modules

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

### Important

In BLFS and SLFS, 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.

- nvchecker-2.20

## nvchecker-2.20

### Introduction to nvchecker Module

The nvchecker module provides a solution for checking versions of packages. Arch Linux and other teams rely on this module for checking for updates to provide the latest software to their users.

- Download: https://files.pythonhosted.org/packages/source/n/nvchecker/nvchecker-2.20.tar.gz

#### Additional Downloads

- Recommended patch for updcheck from lfs-tools: https://github.com/glfs-book/lfs-tools/raw/refs/heads/trunk/updcheck/nvchecker.diff

#### nvchecker Dependencies

##### Required

platformdirs-4.9.1, pycurl-7.45.7, structlog-25.5.0, and tornado-6.5.4

##### Recommended

Git, libnotify, PyGObject, and toml-0.10.2

### Installation of nvchecker

The recommended patch gives a longer delay to check against Repology. Repology and other sites of its ilk try to prevent bots from scraping data via a delay. This patch tries to adhere to Repology's limits. If you downloaded the recommended patch, apply it now:

    patch -Np1 -i ../nvchecker.diff

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 nvchecker

### 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: nvchecker, nvchecker-ini2toml, nvchecker-notify, nvcmp, and nvtake
Installed Libraries: None
Installed Directories: /usr/lib/python3.14/site-packages/nvchecker, /usr/lib/python3.14/site-packages/nvchecker-2.20.dist-info, and /usr/lib/python3.14/site-packages/nvchecker-source

- Prev

  Python Dependencies

- Next

  samurai-737f70

- Up
- Home