DOCSIS CMTS tools built on the PyPNM toolkit
Project description
PyPNM-CMTS - CMTS Operations Toolkit for PyPNM (Under Development)
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
Optional: update pypnm-docsis in the active venv:
./install.sh --update-development-pypnm-docsis
./install.sh --update-development-pypnm-docsis v1.4.2.0
Without a tag, the installer upgrades to the latest prerelease. With a tag or
version, it installs that exact pypnm-docsis release.
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:8080 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.
To keep the service running after logout, launch it in the background:
pypnm-cmts serve --run-background
Optional explicit log and pidfile paths:
pypnm-cmts serve --run-background \
--background-log-file /var/log/pypnm-cmts.log \
--background-pidfile /var/run/pypnm-cmts.pid
Tested CMTS platforms
| Vendor | Model | Status |
|---|---|---|
| Casa Systems | C100G | TBD |
| Cisco | CBR8 | TBD |
| CommScope | RMD | TBD |
| Harmonic | CableOS Cloud-Native | 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
Maintainer
Maurice Garcia
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypnm_docsis_cmts-0.3.12.0.tar.gz.
File metadata
- Download URL: pypnm_docsis_cmts-0.3.12.0.tar.gz
- Upload date:
- Size: 344.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53d39061487c9ca51ed62a630459450f64ba0308dc45652b1501f849f8848615
|
|
| MD5 |
50c9ab500503800c71323743e48b16a4
|
|
| BLAKE2b-256 |
2b46cd9f2a34b7d78768f2299514b416878ca6e67841572567730125535562ca
|
File details
Details for the file pypnm_docsis_cmts-0.3.12.0-py3-none-any.whl.
File metadata
- Download URL: pypnm_docsis_cmts-0.3.12.0-py3-none-any.whl
- Upload date:
- Size: 383.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c0c61326289e7670b96f33254e3e484a8bbfb2dcf27dda6d2a0a0d36c540917
|
|
| MD5 |
5d883bf36cc0dfacf45f3d3f573bc285
|
|
| BLAKE2b-256 |
6ba14cac4e0d13bc74e177ebf1f4e418b5259e995bd0c3f077271ab7a8d00ad2
|