Multi-vendor
network config
converter

HP Comware ↔ AlliedWare Plus.
Paste a config. Get the other vendor.
No login. No cloud. No nonsense.

$ pip install netforge
GitHub PyPI MIT License
2 VENDORS
20+ FEATURES
62 TESTS
0 DEPS*
MIT LICENSE
// DEPLOY IN 30 SECONDS
bash — netforge quick start

* click is the only runtime dependency.

// SUPPORTED VENDORS
HP COMWARE SUPPORTED
VLANs
TACACS+
Interfaces
RADIUS
SVIs
SSH
dot1x
NTP
MAC auth
SNMP
STP edge
Static routes
ALLIEDWARE PLUS SUPPORTED
VLANs
TACACS+
Interfaces
RADIUS
SVIs
SSH
dot1x
NTP
MAC auth
SNMP
STP edge
Static routes
CISCO IOS COMING SOON
VLANs
TACACS+
Interfaces
RADIUS
SVIs
SSH
dot1x
NTP
MAC auth
SNMP
STP edge
Static routes
// LIVE DEMO — NO INSTALL REQUIRED

The standalone HTML tool runs entirely in your browser.
No server. No account. No telemetry.

// Also available as pip install netforge for CLI and Python library usage

// WHO USES NETFORGE
MSP

Migrate 50 switches in one bash loop. Bill your client for 2 days, finish in 30 minutes. for f in configs/*.txt; do netforge "$f" --to allied -o out/; done

INTEGRATOR

Automate config generation in your GitOps pipeline. One API call, vendor-agnostic output. Feed it your IR, get any vendor's syntax out.

NET ENG

Stop rewriting configs by hand. Paste HP, get Allied. Paste Allied, get HP. Or pipe directly from the switch: ssh admin@switch "display current-configuration" | netforge --from hp --to allied

// PYTHON LIBRARY
PYTHON 3.9+ netforge — public API
import netforge

# Auto-detect source vendor
allied = netforge.convert(hp_config,     to="allied")
hp     = netforge.convert(allied_config, to="hp")

# Lower-level API — access the intermediate model
from netforge.parsers.hp import HPParser

model = HPParser().parse(raw_config)
print(f"{len(model.vlans)} VLANs, {len(model.interfaces)} interfaces")

# Check warnings from the conversion
for w in model.warnings:
    print(f"  ! {w}")