AI-powered TextFSM template generator with multi-provider routing
Project description
textfsm-ai
AI-powered TextFSM template generation, parsing assistance, and smart log extraction.
textfsm-ai brings modern LLM intelligence to traditional TextFSM workflows.
It helps you automatically generate templates, validate patterns, explain parsing logic, and accelerate network automation development.
🚀 Features
- AI-Powered Template Generation — Turn raw CLI output into production-ready TextFSM templates in seconds.
- Smart Validation & Refinement — Automatically verify template correctness and refine ambiguous patterns with AI assistance.
- Flexible Multi-Provider AI Routing — Use the best AI model for each task with automatic routing across supported cloud providers.
📦 Installation
pip install textfsm-ai
This installs the core CLI/API only. Add the provider(s) you actually use
as an extra, e.g. pip install textfsm-ai[openai] or
pip install textfsm-ai[anthropic] — or textfsm-ai[all] for every
provider SDK at once. See
Installation
for the full list.
Verify installation
textfsm-ai --version
# or
textfsm-ai version
Either command prints the installed version, e.g. textfsm-ai v0.4.0.
📚 Documentation
- Latest docs: https://geeks-trident-llc.github.io/textfsm-ai/latest/
- All versions: https://geeks-trident-llc.github.io/textfsm-ai/
🤖 What is textfsm-ai, in an LLM's view?
For an LLM, TextFSM's native syntax — regex-heavy Value/Rule definitions driving a state machine — is easy to get almost right and hard to get exactly right; small regex or state-transition mistakes are common and easy to miss. textfsm-ai acts as an LLM optimizer for TextFSM: instead of asking a model to freehand raw TextFSM syntax, it gives the model a smaller, constrained, readable DSL to generate from, then deterministically compiles that DSL into a canonical TextFSM template. The model reasons about structure and intent; textfsm-ai guarantees the correctness and consistency of the resulting syntax.
❓ Why do you need textfsm-ai?
- Understands Messy Input — Feed it raw CLI output, log lines, or any plain-text or semi-structured text; no need to hand-write parsing rules for every format and edge case.
- No TextFSM Syntax Required —
textfsm-aihandles TextFSM's regex-heavyValue/Rule/state-machine syntax for you, so you don't need prior TextFSM expertise to get a working, correct template. - Canonical, Consistent Templates — Every generated template goes through the same deterministic normalization step, so the same kind of input reliably produces the same shape of output every time.
- Readable DSL — Templates can also be expressed as a human-readable DSL that non-technical teammates can read and reason about, instead of a wall of regex.
- Recognizer Pattern Generation — Beyond extracting values,
textfsm-aican generate recognizer patterns that detect which block of text a template applies to before parsing it. - Real-World Applications — Log extraction, test-data extraction and normalization, and other pipelines that turn recurring plain-text or semi-structured output into reliable, structured records.
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 textfsm_ai-0.6.1.tar.gz.
File metadata
- Download URL: textfsm_ai-0.6.1.tar.gz
- Upload date:
- Size: 84.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dd45d0886295c10a5ec23cc34f777ccb8e3373a8fca108e55d302b0c4a6a15d
|
|
| MD5 |
647d03b981244b2f442c0443abbd1be0
|
|
| BLAKE2b-256 |
a19fbe44688066f41721977efc3b086521203f462d43fd61ad148190e9501d9e
|
Provenance
The following attestation bundles were made for textfsm_ai-0.6.1.tar.gz:
Publisher:
publish-pypi.yml on Geeks-Trident-LLC/textfsm-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
textfsm_ai-0.6.1.tar.gz -
Subject digest:
1dd45d0886295c10a5ec23cc34f777ccb8e3373a8fca108e55d302b0c4a6a15d - Sigstore transparency entry: 2312794243
- Sigstore integration time:
-
Permalink:
Geeks-Trident-LLC/textfsm-ai@2234e7603d52206a0204ec20121bd16f47d432ac -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/Geeks-Trident-LLC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2234e7603d52206a0204ec20121bd16f47d432ac -
Trigger Event:
release
-
Statement type:
File details
Details for the file textfsm_ai-0.6.1-py3-none-any.whl.
File metadata
- Download URL: textfsm_ai-0.6.1-py3-none-any.whl
- Upload date:
- Size: 119.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1731dd44ec614b41729d47e857ac0dfbb3604c53775081ec9d1ad3e78bafd9cd
|
|
| MD5 |
3f55fc257f23097e17480b2a1d3389ca
|
|
| BLAKE2b-256 |
fd6148dc142305c57be7ced68788311e532a7629184af55b5e402e21bfa1e0af
|
Provenance
The following attestation bundles were made for textfsm_ai-0.6.1-py3-none-any.whl:
Publisher:
publish-pypi.yml on Geeks-Trident-LLC/textfsm-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
textfsm_ai-0.6.1-py3-none-any.whl -
Subject digest:
1731dd44ec614b41729d47e857ac0dfbb3604c53775081ec9d1ad3e78bafd9cd - Sigstore transparency entry: 2312794248
- Sigstore integration time:
-
Permalink:
Geeks-Trident-LLC/textfsm-ai@2234e7603d52206a0204ec20121bd16f47d432ac -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/Geeks-Trident-LLC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2234e7603d52206a0204ec20121bd16f47d432ac -
Trigger Event:
release
-
Statement type: