Thymus

Latest version: v0.1.8.1

Safety actively analyzes 685525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.1.8.1

This is a minor release to clean up some things.

Changes

* The latest Textual version (0.64.0).
* Footer design.
* The filename length setting is deleted.

Fixes

* The logo is hidden on the main screen even if it has enough size to accommodate it.
* Screenshots aren't available.
* When drawing text inside Viewer or Editor widgets, an appropriate thread is not shut down if a user exits a context.
* `Ctrl`+`C` leads to a silent exit from the application.
* The IOS settings (e.g., `heuristics`) do not use `true` or `false` as options,
* The last opened platform setting (index-based) leads to incorrect behavior due to some race conditions.

0.1.8

This is the first stable release of Thymus, alpha is in the past. It was mostly written from scratch as there is a huge enhancement: the introduction of the editor mode.

New
* The PyPI package!
* The working screen modes: `view` for viewing and navigating a configuration, and `edit` for editing an exact path.
* The `edit` command, enters the `edit` mode and displays a text editor with the content of the current path.
* The `commit` command, creates a new context from the default one.
* The `rollback` command, rolls back a current context to the selected snapshot.
* The `save` command, saves all snapshots to a special `.history` file. Thymus loads this file automatically alongside the config file.
* The application and platforms settings interface (`Ctrl`+`s`), no more typing! It includes user-defined aliases for every possible command and sub-command.
* XR-OS support.
* The sub-commands `diff`, and `compare` (or whatever you specified as an alias) for the command `show` support the additional keyword `rollback`. It takes one positional argument - a number of the context (e.g. `show | compare rollback 1`) and allows a user to see the difference between the specified context and the current one. The `show` command supports a relative path for this mode.
* Themes change a background color in the `view` mode. It facilitates a better readability of colors in different modes (night vs. day).
* The `edit` mode displays a new floating widget with a dynamic number of already displayed lines. The widget can stop the loading of the config and exit the `edit` mode by clicking on it. It helps not to be stuck at lengthy configs.
* The new setting `save on commit`, automatically runs the `save` command after every successful `commit` command. It does not apply to the `rollback` command.
* The new setting `editor frequency factor`, governs the amount of time the editor sleeps between two consequent chunks of lines. The default is 4 which is 0.4 seconds. The fastest mode is 0.2 seconds now.
* The new setting `editor scale factor`, multiplied by the current application height (a vertical window size) gives a count of lines per every displayed chunk. Combined with the `frequency factor` can improve the loading of the content after the `edit` command, but it can hang the application down.
* The new sub-command `reveal` for the JunOS platform, shows all secret data which is hidden by default now.

Changes
* Thymus requires Python 3.9. It can probably run with Python 3.8.1+ but it is now unsupported mode.
* The settings file is redesigned, its version is two now. Platform settings are placed in separate files.
* The logging config file is united with the global one.
* The logging widget requires a manual refresh by `r`.
* The CLI-er version is no longer shipped and supported.
* The `global` command is obsolete and removed.
* The logging screen now is a part of the settings menu.
* The hotkeys `n` and `p` for the working screen are removed.
* The working screen footer is made from scratch. It lacks the number of lines now.
* A user can't change the theme from the working screen.
* Some old settings are gone.

Enhancement
* In the `view` mode Thymus continuously draws a full configuration in a separate thread, no need to scroll down to display the next chunk.
* JunOS hid any secret data by default now.

Fixes
* The netloader module had several issues related to private key signing.
* Lots of tiny fixes due to the fundamental refactoring.

Known issues
* The screenshot function is currently unavailable (I forgot about it lol).
* XR-OS does not support syntax highlighting.
* The `edit` mode also does not support syntax highlighting.

0.1.7alpha

A [post](https://thymus.dev/Release-0-1-7/) in the blog with **more** details.

New
* Support for SSH keys. From now Thymus has a dedicated mode that searches for any possible local keys inside ~/.ssh or ~/ssh. It cannot be combined with password-based authentication at the moment.

Enhancement
* Thymus quit using the Netmiko library. Retrieving network configs is based on a homemade async-library.

Fixes
* For the Arista platform some operations of the command "set" didn't work. E. g., a user couldn't change the heuristics mode.
* The "global show" command always showed default settings.
* With very low probability, a piping fabric could throw an exception of unexpected type which led to the application crash.
* IOS-like platforms could account for lines with technical, unrelated to configuration information, and put them into a root stubs attribute. From now Thymus ignores any information preceding the "version" keyword.
* IOS-like platforms have a special keyword that can span many lines (e.g., banner). Thymus accounted for every such line as a standalone stub element. From now Thymus accumulates lines between the special symbol (^C) inside a single stub.
* For UTF-encoded files with BOM, if they are opened with UTF encoding, Thymus had problems with lines that contained the BOM symbol.

0.1.6alpha

Enhancement
* A user can set a folder that the Open Dialog's tree will use when it appears (by default, it is "~/thymus_data/saves"). The path can be set via the configuration file or CLI.

Fixes
* Thymus for JunOS couldn't navigate through the "inactive:" and "protect:" sections (covered by Thymus-AST ver. 0.1.5.1).
* All project folders were created anywhere. Now, all folders are united under the hood of the "thymus_data" folder which resides in the user's home directory.

Dev
* The requirements.txt file is considered harmful and deleted, install the project via PIP.
* Thymus does not require flake8 anymore as a dependency (we moved internally to Ruff).
* Huge refactoring (something moved, something deleted, something added).

Known issues
* Screenshot-function does not work (the wrong file path), will be fixed in the upcoming release (is not considered urgent).
* SSH cannot use any keys (the main focus is on it now).

A [post](https://thymus.dev/Release-0-1-6/) in the blog with more details.

0.1.5alpha

New

* Command history (accessible by Ctrl+Up/Down hotkeys).

Enhancements

* The "up show" combination now is as powerful as the "top show" one.
* The recently selected platform from the platforms switch of the Open Dialog is now preserved in the configuration file. It also can be modified by the command line from any Working Screen instance.
* AST construction modules are separated into a standalone package (thymus-ast, 0.1.2).

Fixes

* During the user's input for symbols in a lower register, records of the left sidebar might also change their register.
* Installation of the project by PIP led to improper initialization of a folder structure.
* For the IOS platform an output of any section deeper than one level from the root led to a broken indentation.
* CLIer was fixed and works now.
* The "up show" for the IOS platform didn't work as expected.
* The "top show" for the JUNOS platform didn't work as expected in some cases.


The detailed log of all changes can be found at https://thymus.dev.

0.1.4alpha

New

* Support of the NX-OS platform.
* Configuration can be opened from a network via SSH/Telnet (requires Netmiko).
* A new command "help". Showed by default at a context's startup.
* Open dialog has the new keyboard navigation scheme.
* The enhanced Tab mode with its setting (enabled by default).
* The new sub-command "contains".
* The new alias for filtering "grep".
* Screenshots support with a hotkey (saved in the SVG format).

Enhancements

* The new setting for the base heuristics of IOS-based contexts.
* The night mode preserves after exiting the application.
* The sub-command "save" saves files into the dedicated folder "saves".
* All current sections are shown when the cursor is absent.
* The "tab" hotkey adds a space after a successful completion.
* After completion by tab there are next possible sections in the left sidebar.
* The context-switching screen can show a context name instead of a path if the name is set.
* For the Working screen, when the cursor is absent and the enhanced Tab mode is disabled, the Up and Down arrow keys scroll a configuration. When the enhanced Tab mode is active, these keys always scroll it.
* For the Working screen, when the cursor is absent the Tab key moves a focus to the Text field.

Fixes

* IOS/JunOS highlighting.
* Diff/compare sub-command could be run across different platforms of the same type (e.g., EOS and IOS).
* Sections with "inactive: " couldn't be visited or auto-completed (JunOS).
* Navigation and auto-completing (JunOS).
* The "set spaces" command didn't align spaces well (IOS, EOS).
* Case-insensitive navigation didn't work.
* Other minor changes.

The detailed log of all changes can be found at https://thymus.dev.


v0.1.3.f1-alpha
Changes

* Folder structure was changed.

Enhancements

* Now, JunOS has its native `match` keyword for filtering.
* After the sequence of "| " the auto-complete stops, making the experience more smooth.

Fixes

* IOS/EOS. The heuristics mechanism produced the double output both in the text field and the left sidebar.
* IOS/EOS. The `up` or `exit` commands did not consider the accessibility of the parent's section. Users could reach useless buds.
* The `level` setting in the "logging.conf" did not work.
* IOS/EOS. The `wildcard` sub-command did not work with the path argument.
* IOS/EOS. The parser did not take into account the possible variable length of indentation in a file.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.