Skip to content

blademd/thymus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

thymus_default_screen

PyPI - Python Version PyPI Downloads Downloads-per-month

Thymus

Thymus — is a config browser and editor. Thymus understands the context of a network configuration file compared to popular text editors. It mimics the CLI of a selected platform. That allows you to navigate, display, and edit selected configuration parts based on their paths just like in your favorite network operation system. You can save edited versions many times, creating a history log. Thymus supports the diff among them and can roll back to any saved version.

Thymus does not require a connection to any network device but it can fetch a configuration from a remote machine via Telnet or SSH. Also, it can be used over SSH from a remote machine.

Thymus supports:

  • Juniper JunOS (and probably other JunOS-like systems, e.g. SR-OS with MD-CLI)
  • Cisco IOS/IOS-XE/NX-OS/XR-OS (and probably other IOS-like systems)
  • Arista EOS
Screenshots

JunOS context screen

thymus_junos_example

IOS context screen

thymus_ios_example

Compare/diff between two configs (JunOS is just as an example)

thymus_junos_compare_example

Installation

Use pip or pipx to install the package (e.g., pip install thymus or pipx install thymus).

Requires Python 3.9!

Operations

Thymus operates in TUI-based mode thanks to the Textual library. This mode draws the full-scale user interface in your console with mouse support. From the Textual documentation:

> On modern terminal software (installed by default on most systems), Textual apps can use **16.7 million** colors with mouse support and smooth flicker-free animation. A powerful layout engine and re-usable components makes it possible to build apps that rival the desktop and web experience.

> Textual runs on Linux, macOS, Windows and probably any OS where Python also runs.

To run Thymus use the command:

python -m thymus

Documentation

Please, refer to Wiki.

Feedback

Telegram