Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nokia/moler/llms.txt

Use this file to discover all available pages before exploring further.

Requirements

Python: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, or 3.14 Operating system: POSIX/Unix (Linux, macOS). Windows is not supported.

Install Moler

pip install moler
Use a virtual environment to avoid conflicts with other packages:
python -m venv .venv
source .venv/bin/activate
pip install moler

Verify the installation

Confirm the DeviceFactory and connection factory are importable:
from moler.device import DeviceFactory
from moler.connection_factory import get_connection
print("Moler is ready.")
To check the installed version:
from importlib.metadata import version
print(version("moler"))  # e.g. 4.8.0

Dependencies

Moler installs the following packages automatically:
PackageDescription
ptyprocessSpawns and controls pseudo-terminal (PTY) processes for local terminal connections. Linux/macOS only.
pyyaml >= 5.1Parses YAML device configuration files passed to load_config().
sixPython 2/3 compatibility utilities used internally.
transitionsFinite state machine library that powers Moler’s device state machines.
apschedulerTask scheduling used internally for timed events and observers.
psutilCross-platform process and system utilities used by local connection handling.
python-dateutilExtended date/time parsing used in log timestamps and scheduling.
pyserialSerial port communication support for device connections over RS-232/serial.
cryptographyCryptographic primitives required by the SSH transport layer.
paramikoSSH2 protocol implementation for remote device connections.
importlib-metadataBackport of importlib.metadata for reading installed package metadata on older Pythons.
ptyprocess is only installed on non-Windows platforms. It is required for io_type='terminal' connections. On Windows, this connection type is unavailable.

Installing extras for development

To run the test suite or contribute to Moler, install the development dependencies:
git clone https://github.com/nokia/moler.git
cd moler
pip install -r requirements/base.txt
pip install -r requirements/test.txt  # if present