Skip to content

PyPNMApps/PyPNM-CMTS

Repository files navigation

PyPNM-CMTS Logo

PyPNM-CMTS - CMTS Operations Toolkit for PyPNM (Under Development)

Repo version PyPI version Python CI Ubuntu License: Apache-2.0

PyPNM-CMTS extends the PyPNM toolkit with CMTS-focused automation, validation, and operational workflows. It installs pypnm-docsis as the base library and adds CMTS capabilities on top.

Table of contents

Choose your path

Path Description
Use PyPNM-CMTS as a library Install pypnm-docsis-cmts into an existing Python environment.
Run the full repo Clone the repo and use the CLI + tools stack.

Getting started

Install from PyPI (library only)

If you only need the library, install from PyPI:

pip install pypnm-docsis-cmts

1) Clone

git clone https://github.com/PyPNMApps/PyPNM-CMTS.git
cd PyPNM-CMTS

2) Install

Run the installer:

./install.sh

Optional: use a custom venv directory:

./install.sh .env-dev

Optional: development install with extra tooling:

./install.sh --development

The development install attempts to install gitleaks using the system package manager, and falls back to a GitHub release download if the package is unavailable.

Optional: update from the latest GA or hot-fix tag:

./install.sh --update-ga
./install.sh --update-hot-fix

Cleanup and uninstall:

./install.sh --clean
./install.sh --uninstall

3) Activate the virtual environment

If you used the installer defaults, activate the .env environment:

source .env/bin/activate

4) Run the CLI

pypnm-cmts --version

5) Run the FastAPI service

pypnm-cmts serve

The service binds to 127.0.0.1:8000 by default and reads CMTS adapter settings from system.json. Use pypnm-cmts config-menu to set the CMTS hostname and SNMP communities, or pass --cmts-hostname/--read-community overrides at runtime.

Tested CMTS platforms

Vendor Model Status
Casa Systems C100G TBD
Cisco CBR8 TBD
CommScope RMD TBD
Harmonic XXX TBD

Documentation

  • Docs are being assembled; see docs/ as the starting point.
  • CLI examples

SNMP notes

  • SNMPv2c is supported
  • SNMPv3 is currently stubbed and not yet supported

CableLabs specifications & MIBs

License

Apache License 2.0 and NOTICE

Maintainer

Maurice Garcia

About

PyPNM-CMTS built on top of PyPNM is a DOCSIS 3.1/4.0 Proactive Network Maintenance toolkit.

Topics

Resources

License

Stars

Watchers

Forks