cisco-interface-health
Offline triage of Cisco IOS / IOS-XE show interfaces output. Paste the output from one switch or fifty and get a ranked list of the ports that need attention, with the likely cause and the next step.
What it flags
| Finding | Severity | Typical cause |
|---|---|---|
| err-disabled | critical | port security, BPDU guard, storm control, link flap |
| CRC errors above 0.01% of input | critical | bad cable, optic or patch panel |
| Half duplex while up, or late collisions | critical | duplex mismatch |
| Runts / giants | warning | duplex problem, faulty NIC, MTU mismatch |
| Output drops above 0.1% of output | warning | congestion, QoS, microbursts |
| More than 10 interface resets | warning | flapping link |
Thresholds are at the top of ifhealth.py.
Safety
Pure text parsing with the Python standard library. It never connects to a device, so it is safe to run on output a client hands you.
Install
pip install cisco-interface-health
This installs an ifhealth command. You can also run python ifhealth.py straight from a clone.
Usage
python ifhealth.py show_interfaces.txt
python ifhealth.py show_interfaces.txt --csv findings.csv
cat show_interfaces.txt | python ifhealth.py -
Exit codes: 0 clean, 1 findings, 2 error.
Example against the included sample:
Parsed 6 interfaces, 5 findings.
[CRITICAL] GigabitEthernet1/0/2 CRC errors: 4521 CRC (4.5210% of input)
[CRITICAL] GigabitEthernet1/0/3 Duplex mismatch likely: Half-duplex, 87 late collisions
[CRITICAL] GigabitEthernet1/0/4 err-disabled: err-disabled
[WARNING ] GigabitEthernet1/0/3 Runts/giants: 312 runts, 0 giants
[WARNING ] GigabitEthernet1/0/4 Interface resets: 45 resets
Tests
pip install pytest && python -m pytest
License
MIT. See LICENSE. Security reports: see SECURITY.md.
Metadata
Release files for cisco-interface-health 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cisco_interface_health-0.1.0.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cisco_interface_health-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.9 kB
Release files / cisco_interface_health-0.1.0.tar.gz
| Download URL | cisco_interface_health-0.1.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c8d536a6301f90824a6e34cdf20381ee34241a6e23f5b71da43156f60069edd
|
|
BLAKE2b-256 checksum How to use checksums |
4df63d9041ce081833d0605007440084ea687362854035d5f5e2d8a9d0519e39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency logRelease files / cisco_interface_health-0.1.0-py3-none-any.whl
| Download URL | cisco_interface_health-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d40403f1caa9e0dafa97bd60b64522185e99638a6365674565d67c015a4e409
|
|
BLAKE2b-256 checksum How to use checksums |
fa54a09bf4f16a883d08aebd1892dfd31c8388c438b5d5d2e0e6defdb80a8039
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency log