NAPALM provides a unified API across multiple network vendors. Write code once and run it against Cisco, Juniper, or Arista without changes.
Core functions:
- get_facts() returns hostname, model, serial number
- get_interfaces() returns interface status, speed
- get_config() retrieves running or startup config
- compare_config() shows diff before committing
- commit_config() applies changes
Example:
from napalm import get_network_driver
driver = get_network_driver('ios')
device = driver('192.168.1.1', 'admin', 'secret')
device.open()
print(device.get_facts()['hostname'])
device.close()