ttp-assistant


Namettp-assistant JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/scottpeterman/ttpassistant
SummaryA tool to assist with TTP template building in a GUI, testing and execution
upload_time2024-10-21 01:46:31
maintainerNone
docs_urlNone
authorScott Peterman
requires_python>=3.9
licenseGPLv3
keywords
VCS
bugtrack_url
requirements bcrypt cffi click colorama cryptography Jinja2 jmespath MarkupSafe paramiko pycparser PyNaCl PyQt6 PyQt6-Qt6 PyQt6-WebEngine PyQt6-WebEngine-Qt6 PyQt6-WebEngineSubwheel-Qt6 PyQt6_sip pysshpass pywinpty PyYAML ruamel.yaml ruamel.yaml.clib tabulate ttp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Visual TTP Assistant

**Visual TTP Assistant** is an all-in-one network automation and templating tool designed for network engineers, developers, and automation specialists. This tool simplifies the process of parsing network data, creating dynamic templates, running live commands on network devices, and generating executable scripts. With an integrated editor and terminal console, the tool enables users to modify and execute scripts in real-time, streamlining the entire workflow.

## Purpose

Visual TTP Assistant addresses key challenges in network automation and management:
- **Template-driven Parsing**: Automates the extraction and processing of network data using TTP (Text Template Parsing).
- **Live Device Interaction**: Connects to network devices via SSH, runs commands, and processes the output in real-time.
- **Dynamic Code Generation**: Automatically generates Python scripts based on user inputs and templates.
- **Real-time Code Execution**: Provides an integrated development environment with Ace editor and an OS console where users can modify and run generated code.

### Alpha
- **Ver 0.1.0** This code base is just getting started. Many things work, but need features, sometimes it breaks. Use with caution if you decide to try it out. 

- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/app.png)

## Key Features

### 1. **Template-Driven Parsing**
- **Text Input and Parsing**: Input raw network data (such as command outputs) and apply a TTP template to extract structured information.
- **Dynamic TTP Template Generation**: Easily create TTP templates to extract key details from unstructured network data.
- **Real-Time JSON Results**: View the parsed JSON results instantly after applying a template.

- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/functions.png)
- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/filters.png)


### 2. **SSH Command Execution**
- **Run Commands on Devices**: Execute SSH commands directly on network devices from within the tool. This is integrated with TTP, allowing you to process the live data using templates.
- **Command History**: Auto-populates command fields with previous inputs, saving time for repeated tasks.
- **Asynchronous Execution**: A separate SSH thread ensures that long-running commands don't block the UI.


### 3. **Dynamic Code Generation and Execution**
- **Code Generation**: Automatically generate Python code based on user input, SSH commands, and templates.
- **Ace Editor with OS Console**: The tool comes with an Ace editor that not only highlights code but also allows users to run the generated scripts in real-time through an integrated OS console (PowerShell, batch, Python, etc.).
- **Fully Functional OS Terminal**: The editor includes a fully operational terminal where you can execute scripts instantly without leaving the environment.
- **Real-time Feedback**: See the output of your code directly in the terminal pane.

### 4. **Integrated Editor and Terminal**
- **Ace-based Editor**: Edit your Python scripts or other code in the Ace editor, with features like syntax highlighting, autocompletion, and keyboard shortcuts.
- **OS Console**: Directly execute the scripts written in the Ace editor. It supports Python, batch, and PowerShell commands.
- **Save and Load Files**: The built-in file menu allows users to save and open scripts, making it easy to resume work later.
- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/gencode.png)

## Workflow

### Step 1: Input Network Data and Template
- Input raw network command output in the **Text Source** area.
- Create or load a **TTP template** to structure and extract relevant data.
- The **JSON Result** panel immediately displays the parsed output after applying the TTP template.

### Step 2: Execute SSH Commands
- Use the **SSH Runner** to connect to a network device and run custom commands.
- The output from the device can be processed using the TTP template in real-time.
- **Code Generation**: Automatically generate Python scripts that execute the same SSH commands. 

### Step 3: Modify and Run Generated Code
- The generated code is displayed in the **Ace Editor**, where you can edit or modify it as needed.
- Run the script directly from the Ace editor via the integrated OS console.
- View live results in the terminal pane below the editor.

### Step 4: Save or Load Work
- Save your session, including the template, input data, and results, for future use.
- Load previously saved sessions and templates to continue working without starting from scratch.

---

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/scottpeterman/ttpassistant",
    "name": "ttp-assistant",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Scott Peterman",
    "author_email": "scottpeterman@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/25/b9/3081a125ca01a3d19f1f3b43bf6cf50cead4f48f85a1a6a718ba1f8409b8/ttp_assistant-0.1.0.tar.gz",
    "platform": null,
    "description": "\r\n# Visual TTP Assistant\r\n\r\n**Visual TTP Assistant** is an all-in-one network automation and templating tool designed for network engineers, developers, and automation specialists. This tool simplifies the process of parsing network data, creating dynamic templates, running live commands on network devices, and generating executable scripts. With an integrated editor and terminal console, the tool enables users to modify and execute scripts in real-time, streamlining the entire workflow.\r\n\r\n## Purpose\r\n\r\nVisual TTP Assistant addresses key challenges in network automation and management:\r\n- **Template-driven Parsing**: Automates the extraction and processing of network data using TTP (Text Template Parsing).\r\n- **Live Device Interaction**: Connects to network devices via SSH, runs commands, and processes the output in real-time.\r\n- **Dynamic Code Generation**: Automatically generates Python scripts based on user inputs and templates.\r\n- **Real-time Code Execution**: Provides an integrated development environment with Ace editor and an OS console where users can modify and run generated code.\r\n\r\n### Alpha\r\n- **Ver 0.1.0** This code base is just getting started. Many things work, but need features, sometimes it breaks. Use with caution if you decide to try it out. \r\n\r\n- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/app.png)\r\n\r\n## Key Features\r\n\r\n### 1. **Template-Driven Parsing**\r\n- **Text Input and Parsing**: Input raw network data (such as command outputs) and apply a TTP template to extract structured information.\r\n- **Dynamic TTP Template Generation**: Easily create TTP templates to extract key details from unstructured network data.\r\n- **Real-Time JSON Results**: View the parsed JSON results instantly after applying a template.\r\n\r\n- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/functions.png)\r\n- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/filters.png)\r\n\r\n\r\n### 2. **SSH Command Execution**\r\n- **Run Commands on Devices**: Execute SSH commands directly on network devices from within the tool. This is integrated with TTP, allowing you to process the live data using templates.\r\n- **Command History**: Auto-populates command fields with previous inputs, saving time for repeated tasks.\r\n- **Asynchronous Execution**: A separate SSH thread ensures that long-running commands don't block the UI.\r\n\r\n\r\n### 3. **Dynamic Code Generation and Execution**\r\n- **Code Generation**: Automatically generate Python code based on user input, SSH commands, and templates.\r\n- **Ace Editor with OS Console**: The tool comes with an Ace editor that not only highlights code but also allows users to run the generated scripts in real-time through an integrated OS console (PowerShell, batch, Python, etc.).\r\n- **Fully Functional OS Terminal**: The editor includes a fully operational terminal where you can execute scripts instantly without leaving the environment.\r\n- **Real-time Feedback**: See the output of your code directly in the terminal pane.\r\n\r\n### 4. **Integrated Editor and Terminal**\r\n- **Ace-based Editor**: Edit your Python scripts or other code in the Ace editor, with features like syntax highlighting, autocompletion, and keyboard shortcuts.\r\n- **OS Console**: Directly execute the scripts written in the Ace editor. It supports Python, batch, and PowerShell commands.\r\n- **Save and Load Files**: The built-in file menu allows users to save and open scripts, making it easy to resume work later.\r\n- ![App Screenshot](https://github.com/scottpeterman/ttpassistant/raw/main/screenshots/gencode.png)\r\n\r\n## Workflow\r\n\r\n### Step 1: Input Network Data and Template\r\n- Input raw network command output in the **Text Source** area.\r\n- Create or load a **TTP template** to structure and extract relevant data.\r\n- The **JSON Result** panel immediately displays the parsed output after applying the TTP template.\r\n\r\n### Step 2: Execute SSH Commands\r\n- Use the **SSH Runner** to connect to a network device and run custom commands.\r\n- The output from the device can be processed using the TTP template in real-time.\r\n- **Code Generation**: Automatically generate Python scripts that execute the same SSH commands. \r\n\r\n### Step 3: Modify and Run Generated Code\r\n- The generated code is displayed in the **Ace Editor**, where you can edit or modify it as needed.\r\n- Run the script directly from the Ace editor via the integrated OS console.\r\n- View live results in the terminal pane below the editor.\r\n\r\n### Step 4: Save or Load Work\r\n- Save your session, including the template, input data, and results, for future use.\r\n- Load previously saved sessions and templates to continue working without starting from scratch.\r\n\r\n---\r\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A tool to assist with TTP template building in a GUI, testing and execution",
    "version": "0.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/scottpeterman/ttpassistant/issues",
        "Homepage": "https://github.com/scottpeterman/ttpassistant",
        "Source Code": "https://github.com/scottpeterman/ttpassistant"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "30d3ec28d0e23eb8283677eeeae7ed32a868891a4cb1e2466563e331ca28eb31",
                "md5": "c22deaf6e72ee7eb1b0ca6a6569030fb",
                "sha256": "04175750cfd5c817fafa49e6dd58dd0afba7e4644e97fb6839383a67a3466fb4"
            },
            "downloads": -1,
            "filename": "ttp_assistant-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c22deaf6e72ee7eb1b0ca6a6569030fb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 11585212,
            "upload_time": "2024-10-21T01:46:24",
            "upload_time_iso_8601": "2024-10-21T01:46:24.199581Z",
            "url": "https://files.pythonhosted.org/packages/30/d3/ec28d0e23eb8283677eeeae7ed32a868891a4cb1e2466563e331ca28eb31/ttp_assistant-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25b93081a125ca01a3d19f1f3b43bf6cf50cead4f48f85a1a6a718ba1f8409b8",
                "md5": "89ec0c73ac8689933c6e8188c9bbe39e",
                "sha256": "7b75ef4d5adfa98d5c2df4582deac2eb473963edb230466c7225f0d76bd5c2d9"
            },
            "downloads": -1,
            "filename": "ttp_assistant-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "89ec0c73ac8689933c6e8188c9bbe39e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11174128,
            "upload_time": "2024-10-21T01:46:31",
            "upload_time_iso_8601": "2024-10-21T01:46:31.129816Z",
            "url": "https://files.pythonhosted.org/packages/25/b9/3081a125ca01a3d19f1f3b43bf6cf50cead4f48f85a1a6a718ba1f8409b8/ttp_assistant-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-21 01:46:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "scottpeterman",
    "github_project": "ttpassistant",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "bcrypt",
            "specs": [
                [
                    ">=",
                    "4.2.0"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    ">=",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    ">=",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "43.0.3"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    ">=",
                    "3.1.4"
                ]
            ]
        },
        {
            "name": "jmespath",
            "specs": [
                [
                    ">=",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    ">=",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "paramiko",
            "specs": [
                [
                    ">=",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    ">=",
                    "2.22"
                ]
            ]
        },
        {
            "name": "PyNaCl",
            "specs": [
                [
                    ">=",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "PyQt6",
            "specs": [
                [
                    ">=",
                    "6.7.1"
                ]
            ]
        },
        {
            "name": "PyQt6-Qt6",
            "specs": [
                [
                    ">=",
                    "6.7.3"
                ]
            ]
        },
        {
            "name": "PyQt6-WebEngine",
            "specs": [
                [
                    ">=",
                    "6.7.0"
                ]
            ]
        },
        {
            "name": "PyQt6-WebEngine-Qt6",
            "specs": [
                [
                    ">=",
                    "6.7.3"
                ]
            ]
        },
        {
            "name": "PyQt6-WebEngineSubwheel-Qt6",
            "specs": [
                [
                    ">=",
                    "6.7.3"
                ]
            ]
        },
        {
            "name": "PyQt6_sip",
            "specs": [
                [
                    ">=",
                    "13.8.0"
                ]
            ]
        },
        {
            "name": "pysshpass",
            "specs": [
                [
                    ">=",
                    "0.2.2"
                ]
            ]
        },
        {
            "name": "pywinpty",
            "specs": [
                [
                    ">=",
                    "2.0.14"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "ruamel.yaml",
            "specs": [
                [
                    ">=",
                    "0.18.6"
                ]
            ]
        },
        {
            "name": "ruamel.yaml.clib",
            "specs": [
                [
                    ">=",
                    "0.2.8"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    ">=",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "ttp",
            "specs": [
                [
                    ">=",
                    "0.9.5"
                ]
            ]
        }
    ],
    "lcname": "ttp-assistant"
}
        
Elapsed time: 0.30792s