Skip to main content

Python libraries used in various Linuxfabrik projects, including the 'Linuxfabrik Monitoring Plugins' project.

Project description

Linuxfabrik's Python Libraries

These Python libraries are used in several Linuxfabrik projects, including the Linuxfabrik Monitoring Plugins project. Requires Python 3.6+ (default Python version on RHEL 8).

Installation

pip install linuxfabrik-lib

Documentation

API Documentation (hosted on GitHub Pages).

The HTML documentation is created using https://pdoc.dev/:

pip install pdoc
pdoc --output-dir docs \
    args.py \
    base.py \
    cache.py \
    db_mysql.py \
    db_sqlite.py \
    disk.py \
    distro.py \
    dmidecode.py \
    feedparser.py \
    globals.py \
    grassfish.py \
    huawei.py \
    human.py \
    icinga.py \
    infomaniak.py \
    jitsi.py \
    keycloak.py \
    lftest.py \
    librenms.py \
    net.py \
    nodebb.py \
    powershell.py \
    psutil.py \
    qts.py \
    redfish.py \
    rocket.py \
    shell.py \
    smb.py \
    time.py \
    txt.py \
    uptimerobot.py \
    url.py \
    veeam.py \
    version.py \
    wildfly.py \
    winrm.py

Library Index

  • args.py:
    Extends argparse by new input argument data types on demand.

  • base.py:
    Provides very common every-day functions.

  • cache.py:
    Simple Cache in the form of a Key-Value Store (KVS) like Redis, based on SQLite, optionally supporting expiration of keys. No detailed error handling here. If the cache does not work, we (currently) don't report the reason and simply return False.

  • db_mysql.py:
    Library for accessing MySQL/MariaDB servers.

  • db_sqlite.py:
    Library for accessing SQLite databases.

  • disk.py:
    Offers file and disk related functions, like getting a list of partitions, grepping a file, etc.

  • distro.py:
    Provides information about the Linux distribution it runs on, such as a reliable machine-readable distro ID and "os_family" (known from Ansible).

  • dmidecode.py:
    Library for parsing information from dmidecode. Have a look at man dmidecode for details about dmidecode.

  • endoflifedate.py:
    This library stores information from https://endoflife.date/api/ for offline usage and therefore needs to be updated periodically when version checks don't have access to the Internet.

  • feedparser.py:
    Parse Atom and RSS feeds in Python.

  • globals.py:
    This library defines the global plugin states, based on the POSIX spec of returning a positive value and just like in monitoring-plugins/plugins-scripts/utils.sh.in, except that we do not make use of STATE_DEPENDENT.

  • grassfish.py:
    Provides functions using the Grassfish REST-API.

  • huawei.py:
    This library collects some Huawei related functions that are needed by Huawei check plugins.

  • human.py:
    Functions to convert raw numbers, times etc. to a human readable representation (and sometimes back).

  • icinga.py:
    This module tries to make accessing the Icinga2 API easier.

  • infomaniak.py:
    Provides functions using the Infomanik REST-API.

  • jitsi.py:
    This library collects some Jitsi related functions that are needed by more than one Jitsi plugin.

  • keycloak.py:
    This library collects some Keycloak related functions that are needed by more than one Keycloak plugin.

  • lftest.py:
    Provides test functions for unit tests.

  • librenms.py:
    This library collects some LibreNMS related functions that are needed by LibreNMS check plugins.

  • net.py:
    Provides network related functions and variables.

  • nodebb.py:
    This library collects some NodeBB related functions that are needed by more than one NodeBB plugin.

  • powershell.py:
    This library collects some Microsoft PowerShell related functions.

  • psutil.py:
    Wrapper library for functions from psutil.

  • redfish.py:
    This library parses data returned from the Redfish API.

  • rocket.py:
    This library collects some Rocket.Chat related functions that are needed by more than one Rocket.Chat plugin.

  • shell.py:
    Communicates with the Shell.

  • smb.py:
    Provides functions to establish native SMB connections.

  • time.py:
    Provides datetime functions.

  • txt.py:
    A collection of text functions.

  • uptimerobot.py:
    Interacts with the UptimeRobot API.

  • url.py:
    Get for example HTML or JSON from an URL.

  • veeam.py:
    This library interacts with the Veeam Enterprise Manager API.

  • version.py:
    Provides functions for handling software versions.

  • wildfly.py:
    This library collects some WildFly/JBoss related functions that are needed by more than one WildFly/JBoss plugin.

  • winrm.py:
    This library collects some Microsoft WinRM related functions.

Tips & Tricks

  • Counts the function calls to any "lib" library in your project and sorts the results by frequency in descending order:
    grep -rhoP '\Wlib\.[a-zA-Z0-9_\.]+' * | sed 's/^[^a-zA-Z0-9]*//' | sort | uniq -c | sort -nr

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linuxfabrik_lib-2.4.0.tar.gz (116.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linuxfabrik_lib-2.4.0-py3-none-any.whl (136.7 kB view details)

Uploaded Python 3

File details

Details for the file linuxfabrik_lib-2.4.0.tar.gz.

File metadata

  • Download URL: linuxfabrik_lib-2.4.0.tar.gz
  • Upload date:
  • Size: 116.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for linuxfabrik_lib-2.4.0.tar.gz
Algorithm Hash digest
SHA256 fe10456c5feee34f5b5ef259fdfb206e903318d5b6365fbe0f3f31d621a4e286
MD5 173d681983fef4f906cba0554ec516ae
BLAKE2b-256 be3a4f2cf520c4675627aefc49320c56e171a27d86cca30047e1eecc2a90e1fd

See more details on using hashes here.

File details

Details for the file linuxfabrik_lib-2.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for linuxfabrik_lib-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79bcf326522be7bfbda356d67df14c562549a46c358141c79f59c076496cf8d6
MD5 33b0b147718f571b96457a680edf5c11
BLAKE2b-256 1a3f220cc284f7376bad1616dfba3bb8da2caed608b20f37904f75fd1c7c8a3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page