← All posts
Tutorial

Set Up NAPT in 30 Minutes: From Empty Terminal to Your First Automated Check

Everything you need to go from a clean machine to a working automation run, without breaking anything.

NAPT Team10 min read
NAPT setup architectureYour workstationPython venv + NAPTNAPT engineNetmiko / NAPALM / NornirNetwork devicesSSH · NETCONF · API
NAPT sits between your workstation and your devices — nothing is installed on the network gear.

You do not need a lab, a server, or admin rights on the network to start automating. You need Python, an isolated environment, and twenty minutes of focus. This guide takes you from a blank terminal to a real, read-only check against a device — with the safety rails on the whole way.

1. Create an isolated environment

Always install into a virtual environment so NAPT's dependencies never collide with your system Python. One directory, fully disposable.

bash
python3 -m venv napt-env
source napt-env/bin/activate   # Windows: napt-env\Scripts\activate
python -m pip install --upgrade pip

2. Install NAPT

The core engine pulls in the automation libraries it orchestrates.

bash
pip install napt
napt --version
Pro tip: If napt --version prints a version string, your environment is healthy. If the command is not found, your venv is not activated — re-run the source line above.

3. Provide device credentials

NAPT reads connection details from an inventory file. Keep secrets out of source control — use environment variables for passwords and reference them from the inventory.

yaml
# inventory.yaml
devices:
  - name: core-sw-1
    host: 10.0.0.11
    platform: cisco_ios
    username: ${NET_USER}
    password: ${NET_PASS}
bash
export NET_USER="readonly"
export NET_PASS="••••••••"

4. Run your first check — safely

The most important habit you can build is --dry-run. It connects, gathers, and reports what it would do without sending a single change.

bash
napt run check-interfaces --inventory inventory.yaml --dry-run

You should see structured output: each interface, its state, and any flagged errors.

Warning: Until you have read the output of a dry run and understood it, never drop the flag. A read-only check has no blast radius; a config push does.

The mental model

NAPT never lives on your devices. It runs from your workstation, opens a session per device using Netmiko or NAPALM, collects output, parses it into structured findings, and hands those findings to the rest of the platform. Removing NAPT removes nothing from the network.

Where to go next

  1. Run the same check without --dry-run once you trust the output.
  2. Add a second device to the inventory and watch NAPT fan out.
  3. Open the Script Generator and describe a task in plain English.
#setup#tutorial#getting-started

Was this helpful?

Generate scripts for the task covered in this post

Describe what you need and NAPT writes production-ready automation in Netmiko, NAPALM, or Nornir.

Open Script Generator →
New to NAPT? Start with the Setup Guide

Related posts