Skip to main content

LLM-driven pipeline that forges, validates, and promotes TextFSM templates from network CLI output

Project description

ParseForge

LLM-driven pipeline that forges, cross-validates, and promotes TextFSM templates from network device CLI output.

Full design plan: SPEC.md.

Features

  • Trial → integration → promotion: a Human-in-the-Loop review workflow, not a one-shot generator. Every LLM-generated template starts as unreviewed evidence in trials/. integration clusters every trial for a command by the output schema its parsed records actually have, not exact template text — a command's output can legitimately vary by hardware/firmware, so distinct schemas become separate, independently tracked groups instead of one hand-picked "winner." promotion then auto-promotes any group whose match rate against every known sample clears a configurable gate straight into authoritative/; anything short of that gate is queued for human review instead of silently shipped. A human-reviewed promotion is recorded as a named snapshot alongside whatever's currently live, never silently overwriting it — so review effort goes only where the evidence is actually ambiguous.
  • Eighteen LLM providers, one interface. Anthropic, OpenAI, DeepSeek, Groq, xAI, Together, Fireworks, Perplexity, OpenRouter, Moonshot, Cerebras, Mistral, Cohere, Azure OpenAI, Gemini, Vertex AI, Amazon Bedrock, and Oracle Cloud (OCI) — including four with non-standard auth (deployment names, GCP Application Default Credentials, AWS's credential chain, OCI request-signing) handled transparently. Naming and generation can use two different providers in the same trial. See Providers.
  • Self-caching cli-name resolution. A raw CLI command (show interface GE1.1 status) only ever costs LLM tokens once — it's resolved to a canonical, indexed name (show-interface-var1-status) and cached locally; every later trial for that command is a free lookup.
  • Self-validation, not just "the LLM said so." Every generated template is immediately run against its own sample before being recorded as passed — a template that doesn't actually parse the output it was generated from never gets a chance to look good on paper.
  • Drift monitoring. An authoritative template is periodically checked against new production samples; a failing sample feeds back into the pipeline as a new trial automatically, closing the loop instead of just logging an alert.
  • CLI and Python API, same underlying calls. Everything the CLI does — run, trial, integration, promotion — is one function call in Python too. See the Python API guide.

Status

Early beta. The full pipeline is implemented and tested end to end — naming, sampling, generation, self-validation, integration (output-schema group/variant clustering), promotion (auto and human-reviewed), and drift monitoring — and wired into the CLI. A few things are intentionally not there yet:

  • USER_REVIEWED promotion has a library entry point but no CLI command (promotion.promote_user_reviewed() works today; there's no parseforge promotion --mode user-reviewed yet). Deferred until real human-reviewed cases exist to show what a CLI/config shape for a list of case/suffix/gate requests should actually look like, rather than guessing ahead of need.
  • Batch sampling mode (collect several samples per command before generating, SPEC.md §4) is designed but not built — the simpler per-command loop mode is the only one implemented.
  • One sampling connector (Netmiko/SSH). The CLI's --connector registry is built to hold more without a redesign, but nothing else is wired in yet.

Installation

# minimal install, no AI-provider SDK
pip install parseforge

# with a provider extra, e.g. anthropic
pip install parseforge[anthropic]

# local development
pip install -e ".[dev,sampling]"

For the full extras list (all eighteen providers, sampling, combining extras, per-provider requirements/ files, and the dev/test/release setup), see Installation.

Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parseforge-0.3.1.tar.gz (69.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parseforge-0.3.1-py3-none-any.whl (95.2 kB view details)

Uploaded Python 3

File details

Details for the file parseforge-0.3.1.tar.gz.

File metadata

  • Download URL: parseforge-0.3.1.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for parseforge-0.3.1.tar.gz
Algorithm Hash digest
SHA256 bba647e36652551d0f450758e6ec138d77e60b59737e50a2073229ac413d695b
MD5 1e852c453847d5ae1129e642e7a0351d
BLAKE2b-256 5cde0e66c2d07e6d013bb9cb8e53381b803e4f41c1bacf7a1dd78bf18ac16cb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for parseforge-0.3.1.tar.gz:

Publisher: publish-pypi.yml on Geeks-Trident-LLC/parseforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file parseforge-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: parseforge-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 95.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for parseforge-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffd94fe13b975eb6c3f6c770589a7a67a3a469c2102cc4d5e799f141e907c7f8
MD5 cb8105d37085d425f19d71bf24d422e0
BLAKE2b-256 80e40ff7a3712f95a63c7a77e9297e51b4f4739c5a479e2e561e386f6ccbce9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for parseforge-0.3.1-py3-none-any.whl:

Publisher: publish-pypi.yml on Geeks-Trident-LLC/parseforge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page