https://github.com/blademd/thymus
A browser & editor for network configuration files.
https://github.com/blademd/thymus
arista cisco juniper network-engineering networks python
Last synced: 23 days ago
JSON representation
A browser & editor for network configuration files.
- Host: GitHub
- URL: https://github.com/blademd/thymus
- Owner: blademd
- License: mit
- Created: 2022-12-01T18:26:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-04T14:19:56.000Z (11 months ago)
- Last Synced: 2024-10-01T12:10:38.398Z (7 months ago)
- Topics: arista, cisco, juniper, network-engineering, networks, python
- Language: Python
- Homepage: https://thymus.dev
- Size: 416 KB
- Stars: 18
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - thymus
README

[](https://img.shields.io/pypi/pyversions/thymus)
[](https://pypi.python.org/pypi/thymus)
[](https://static.pepy.tech/badge/thymus)
[](https://img.shields.io/pypi/dm/thymus.svg)# Thymus
[Thymus](https://en.wikipedia.org/wiki/Thymus_(plant)) — 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 EOSScreenshots
JunOS context screen

IOS context screen

Compare/diff between two configs (JunOS is just as an 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](https://textual.textualize.io/) 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](https://github.com/blademd/thymus/wiki).
## Feedback
[Telegram](https://t.me/blademd)