Skip to content

InfrastructureAsCode-ch/nettowel

Repository files navigation

PyPI versions Code style: black Contributor Covenant Downloads

NetTowel

Collection of useful network automation functions

⚠️ nettowel is under heavy construction and not production ready. Feedback is highly appreciated.

Install

It is recommended to install nettowel with pipx. Therefore you have the dependencies isolated and you can use the nettowel or nt command.

pipx install nettowel[full]

You can also install it directly from pypi

pip install nettowel

To reduce the dependencies the extra dependencies are grouped

The following groups are available (more details in the pyproject.toml):

  • full
  • jinja
  • ttp
  • textfsm
  • napalm
  • netmiko
  • scrapli
  • nornir
  • pandas
  • jsonpatch
  • tui
pip install nettowel[jinja]
pip install nettowel[full]

Install from source

git clone ....
cd nettowel
poetry install
poetry run nettowel --help

Help and shell auto-completion

Thanks to the library typer, nettowel comes with a nice help and autocompletion install

help

Features

Many features are not implemented yet and many features will come.

Jinja2

render

jinja rendering 1

jinja rendering 2

validate

jinja validate

variables

jinja variables

TTP

render

ttp render

Netmiko

cli

netmiko cli

autodetect

netmiko autodetect

device-types

netmiko device types

RESTCONF

get

restconf get

patch, delete

restconf patch delete

post, put

restconf post put

ipaddress

ip-info

ip info

network-info

network info

YAML

load

yaml load

dump

yaml dump

JSON Patch (RFC 6902)

create

JSON Patch create

apply

JSON Patch apply

Help

Help QRcode

Settings

A dotenv file can be used as a settings file. The file can also be provided with the option --dotenv.

environment settings

Piping

piping

TUI

Using Trogon a TUI (Terminal User Interface) can be generated to edit and run the NetTowel command.

TUI