ntc-templates
TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later (3.10 through 3.14 supported).
- Low install friction with a single runtime dependency (textfsm).
- Active maintenance with a recent release 37 days ago and ongoing repository activity.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most projects.
last release 2026-07-08 (37 days) · last repo commit 2026-07-27 · 1,285 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,333,364 downloads/mo, #4,040 on PyPI
Alternatives
Verify before relying
pip install ntc-templates
from ntc_templates.parse import parse_output
result = parse_output(device_type='cisco_ios', command='show interfaces', output=cli_text)- 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.
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 on it.
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
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).
Requires Python 3.10 or later (3.10 through 3.14 supported).
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)
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 packagetextfsm |
| 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 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: ntc_templates-9.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “network device cli parsing”
- ntc-templatesProvides a repository of TextFSM templates for parsing network device…
- genie.libs.parserParses device output into structured data for network test…
- netmikoNetmiko simplifies SSH connections to network devices across multiple…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also textfsm · ttp · ttp_templates · netutils · netmiko · mwparserfromhell · nmcli · rtoml · editor · hassil