ntc-templates
TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable.
What it is and what it does
ntc-templates is a collection of TextFSM parsing templates designed to extract structured data from network device CLI output. It wraps TextFSM's CliTable functionality in Python, making it easier to apply pre-built templates to command responses from routers, switches, and other network equipment. The package bundles templates for many common network devices and operating systems, eliminating the need to write custom TextFSM patterns for routine parsing tasks.
The library is intended for network automation, monitoring, and reporting workflows where you need to convert unstructured CLI text into structured data for further processing. It's maintained by Network to Code and sits in the top 5000 PyPI packages by download volume, indicating active use in network operations and infrastructure-as-code contexts.
Use it for:
- Parse output from network device show commands into structured dictionaries for inventory or monitoring systems.
- Extract device configuration or state data from CLI output in automated network audits or compliance checks.
- Build data pipelines that consume raw CLI text from network devices and feed structured results into databases or analytics tools.
- Integrate network device CLI parsing into Python-based network automation workflows without writing custom TextFSM patterns.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a repository of TextFSM templates for parsing network device CLI output, along with a Python wrapper around TextFSM's CliTable to simplify structured data extraction from command-line text.
Yes. Low install friction, active maintenance, permissive license, and no known vulnerabilities make it a safe choice. Install it if you're automating network device interactions and need to parse CLI output; skip it if your workflow doesn't involve network devices or if you're already using a higher-level framework that handles parsing internally.
Install
ntc-templates on PyPI
pip
pip install ntc-templatesuv
uv add ntc-templatespoetry
poetry add ntc-templatesInstalling ntc-templates
Before you install
Low install friction with a single runtime dependency (textfsm). Active maintenance with a recent release 37 days ago and ongoing repository activity. Supports current Python versions (3.10 through 3.14).
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
pip install ntc-templates
from ntc_templates.parse import parse_output
result = parse_output(device_type='cisco_ios', command='show interfaces', output=cli_text)
Requires Python 3.10 or later (3.10 through 3.14 supported).
Verify before relying
- Whether the template repository is kept current with new or updated network device models and OS versions.
- Performance characteristics when parsing large volumes of CLI output or complex command responses.
- Exact API surface and available device types supported by the parse function.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — textfsm |
| Maintenance | actively maintained — 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,333,364/month — #4,040 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ntc_templates-9.2.0-py3-none-any.whl
Keywords: textfsm, network parsers
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
textfsmTextFSM parses semi-structured text (like CLI…
permissive · top 5,000 on PyPI
ttpTTP is a Python library for parsing…
permissive · top 15,000 on PyPI
ttp_templatesProvides a curated collection of TTP (Template…
permissive · top 15,000 on PyPI
netutilsNetutils provides a collection of utility…
permissive · top 15,000 on PyPI
netmikoNetmiko simplifies SSH connections to network…
permissive · top 5,000 on PyPI
mwparserfromhellParses MediaWiki wikicode into a queryable…
permissive · top 5,000 on PyPI
nmclinmcli is a Python wrapper for the…
permissive · top 15,000 on PyPI
rtomlrtoml parses and serializes TOML files and…
permissive · top 5,000 on PyPI
editorOpens your system's default text editor (or a…
permissive · top 5,000 on PyPI
hassilParses natural language sentences into…
permissive · top 15,000 on PyPI