pyRetroTerm


NamepyRetroTerm JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://github.com/scottpeterman/pyretroterm
SummarypyRetroTerm - A PyQt6 Tabbed Terminal Emulator with Retro themes
upload_time2025-01-23 16:29:20
maintainerNone
docs_urlNone
authorScott Peterman
requires_python>=3.8
licenseNone
keywords terminal ssh network automation pyqt6
VCS
bugtrack_url
requirements backports.tarfile bcrypt certifi cffi charset-normalizer click colorama cryptography docutils idna importlib_metadata jaraco.classes jaraco.context jaraco.functools keyring logicmonitor-sdk markdown-it-py mdurl more-itertools nh3 packaging paramiko pkginfo pycparser Pygments PyNaCl pynetbox PyQt6 PyQt6-Charts PyQt6-Charts-Qt6 PyQt6-Qt6 PyQt6-WebEngine PyQt6-WebEngine-Qt6 PyQt6_sip python-dateutil pywin32-ctypes PyYAML readme_renderer requests requests-toolbelt rfc3986 rich six twine typing_extensions urllib3 zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyRetroTerm

A modern terminal emulator built with PyQt6, featuring retro-themed visuals and advanced terminal capabilities.
![Screenshot](https://raw.githubusercontent.com/scottpeterman/pyretroterm/main/screenshots/slides1.gif)
![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)
![Python](https://img.shields.io/badge/python-3.8+-blue.svg)

## Features

-  Retro-themed UI with customizable themes (CRT Green and Amber, Dark/Light etc)
-  Multi-tabbed terminal interface
-  Secure encrypted credential management
-  Portable session management with YAML configuration
- ️ Split-pane interface with adjustable layouts
-  SSH connectivity with full terminal emulation
-  Netbox integration, export netbox devices into a local sessions YAML file
-  Logicmonitor integration, export monitored devices into a local sessions YAML file

## Installation

### Via pip

```bash
pip install pyretroterm
pyretroterm
```

### From source

```bash
git clone https://github.com/scottpeterman/pyretroterm.git
cd pyretroterm
pip install -r requirements.txt
python -m pyretroterm.pyretroterm
```

## Quick Start

1. Launch the application:
```bash
pyretroterm
```

2. For console mode:
```bash
pyretroterm-con
```

3. On first launch:
   - Set up a master password for credential management
   - Configure your session settings (default configuration will be created)
   - Choose your preferred theme

## Configuration

### Sessions

Sessions are configured via YAML files in the `sessions` directory. A default configuration will be created on first launch:

```yaml
- folder_name: Example
  sessions:
  - DeviceType: linux
    Model: vm 
    SerialNumber: ''
    SoftwareVersion: ''
    Vendor: ubuntu
    credsid: '1'
    display_name: T1000
    host: 10.0.0.104
    port: '22'
```

### Themes

pyRetroTerm comes with several built-in themes:
- Cyberpunk (default)
- Light Mode
- Dark Mode
- Additional retro themes - green and amber

Themes can be switched via the View menu.

## Requirements

- Python 3.8 or higher
- PyQt6
- Additional dependencies listed in requirements.txt

## Security Features

- Encrypted credential storage
- Master password protection
- Secure session management


## License

This project is licensed under the GNU General Public License v3 (GPLv3) - see the [LICENSE](LICENSE) file for details.

## Author

Scott Peterman (scottpeterman@gmail.com)

## Acknowledgments

- Thanks to the PyQt6 team for the excellent GUI framework

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/scottpeterman/pyretroterm",
    "name": "pyRetroTerm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "terminal, ssh, network, automation, pyqt6",
    "author": "Scott Peterman",
    "author_email": "scottpeterman@gmail.com",
    "download_url": null,
    "platform": null,
    "description": "# pyRetroTerm\r\n\r\nA modern terminal emulator built with PyQt6, featuring retro-themed visuals and advanced terminal capabilities.\r\n![Screenshot](https://raw.githubusercontent.com/scottpeterman/pyretroterm/main/screenshots/slides1.gif)\r\n![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)\r\n![Python](https://img.shields.io/badge/python-3.8+-blue.svg)\r\n\r\n## Features\r\n\r\n-  Retro-themed UI with customizable themes (CRT Green and Amber, Dark/Light etc)\r\n-  Multi-tabbed terminal interface\r\n-  Secure encrypted credential management\r\n-  Portable session management with YAML configuration\r\n- \ufe0f Split-pane interface with adjustable layouts\r\n-  SSH connectivity with full terminal emulation\r\n-  Netbox integration, export netbox devices into a local sessions YAML file\r\n-  Logicmonitor integration, export monitored devices into a local sessions YAML file\r\n\r\n## Installation\r\n\r\n### Via pip\r\n\r\n```bash\r\npip install pyretroterm\r\npyretroterm\r\n```\r\n\r\n### From source\r\n\r\n```bash\r\ngit clone https://github.com/scottpeterman/pyretroterm.git\r\ncd pyretroterm\r\npip install -r requirements.txt\r\npython -m pyretroterm.pyretroterm\r\n```\r\n\r\n## Quick Start\r\n\r\n1. Launch the application:\r\n```bash\r\npyretroterm\r\n```\r\n\r\n2. For console mode:\r\n```bash\r\npyretroterm-con\r\n```\r\n\r\n3. On first launch:\r\n   - Set up a master password for credential management\r\n   - Configure your session settings (default configuration will be created)\r\n   - Choose your preferred theme\r\n\r\n## Configuration\r\n\r\n### Sessions\r\n\r\nSessions are configured via YAML files in the `sessions` directory. A default configuration will be created on first launch:\r\n\r\n```yaml\r\n- folder_name: Example\r\n  sessions:\r\n  - DeviceType: linux\r\n    Model: vm \r\n    SerialNumber: ''\r\n    SoftwareVersion: ''\r\n    Vendor: ubuntu\r\n    credsid: '1'\r\n    display_name: T1000\r\n    host: 10.0.0.104\r\n    port: '22'\r\n```\r\n\r\n### Themes\r\n\r\npyRetroTerm comes with several built-in themes:\r\n- Cyberpunk (default)\r\n- Light Mode\r\n- Dark Mode\r\n- Additional retro themes - green and amber\r\n\r\nThemes can be switched via the View menu.\r\n\r\n## Requirements\r\n\r\n- Python 3.8 or higher\r\n- PyQt6\r\n- Additional dependencies listed in requirements.txt\r\n\r\n## Security Features\r\n\r\n- Encrypted credential storage\r\n- Master password protection\r\n- Secure session management\r\n\r\n\r\n## License\r\n\r\nThis project is licensed under the GNU General Public License v3 (GPLv3) - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Author\r\n\r\nScott Peterman (scottpeterman@gmail.com)\r\n\r\n## Acknowledgments\r\n\r\n- Thanks to the PyQt6 team for the excellent GUI framework\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "pyRetroTerm - A PyQt6 Tabbed Terminal Emulator with Retro themes",
    "version": "0.1.6",
    "project_urls": {
        "Homepage": "https://github.com/scottpeterman/pyretroterm"
    },
    "split_keywords": [
        "terminal",
        " ssh",
        " network",
        " automation",
        " pyqt6"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7aa56dec74fcbcdf4adc2820ee5ebed4312a86a5af8114c85aeee28df0f0899b",
                "md5": "5fad274d856ba8c886dce18e3b5949d8",
                "sha256": "fa03f3ce080feb08577134feaa9d39ad54a5219546e942de5f31739a97feebff"
            },
            "downloads": -1,
            "filename": "pyRetroTerm-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5fad274d856ba8c886dce18e3b5949d8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 32238594,
            "upload_time": "2025-01-23T16:29:20",
            "upload_time_iso_8601": "2025-01-23T16:29:20.411545Z",
            "url": "https://files.pythonhosted.org/packages/7a/a5/6dec74fcbcdf4adc2820ee5ebed4312a86a5af8114c85aeee28df0f0899b/pyRetroTerm-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-23 16:29:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "scottpeterman",
    "github_project": "pyretroterm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "backports.tarfile",
            "specs": [
                [
                    ">=",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "bcrypt",
            "specs": [
                [
                    ">=",
                    "4.2.1"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    ">=",
                    "2024.12.14"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    ">=",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    ">=",
                    "3.4.1"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.1.8"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    ">=",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "44.0.0"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    ">=",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    ">=",
                    "3.10"
                ]
            ]
        },
        {
            "name": "importlib_metadata",
            "specs": [
                [
                    ">=",
                    "8.5.0"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    ">=",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco.context",
            "specs": [
                [
                    ">=",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco.functools",
            "specs": [
                [
                    ">=",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    ">=",
                    "25.6.0"
                ]
            ]
        },
        {
            "name": "logicmonitor-sdk",
            "specs": [
                [
                    ">=",
                    "3.0.222"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    ">=",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    ">=",
                    "10.6.0"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    ">=",
                    "0.2.20"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    ">=",
                    "24.2"
                ]
            ]
        },
        {
            "name": "paramiko",
            "specs": [
                [
                    ">=",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    ">=",
                    "1.12.0"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    ">=",
                    "2.22"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    ">=",
                    "2.19.1"
                ]
            ]
        },
        {
            "name": "PyNaCl",
            "specs": [
                [
                    ">=",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "pynetbox",
            "specs": [
                [
                    ">=",
                    "7.4.1"
                ]
            ]
        },
        {
            "name": "PyQt6",
            "specs": [
                [
                    ">=",
                    "6.8.0"
                ]
            ]
        },
        {
            "name": "PyQt6-Charts",
            "specs": [
                [
                    ">=",
                    "6.8.0"
                ]
            ]
        },
        {
            "name": "PyQt6-Charts-Qt6",
            "specs": [
                [
                    ">=",
                    "6.8.1"
                ]
            ]
        },
        {
            "name": "PyQt6-Qt6",
            "specs": [
                [
                    ">=",
                    "6.8.1"
                ]
            ]
        },
        {
            "name": "PyQt6-WebEngine",
            "specs": [
                [
                    ">=",
                    "6.8.0"
                ]
            ]
        },
        {
            "name": "PyQt6-WebEngine-Qt6",
            "specs": [
                [
                    ">=",
                    "6.8.1"
                ]
            ]
        },
        {
            "name": "PyQt6_sip",
            "specs": [
                [
                    ">=",
                    "13.9.1"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    ">=",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pywin32-ctypes",
            "specs": [
                [
                    ">=",
                    "0.2.3"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "readme_renderer",
            "specs": [
                [
                    ">=",
                    "44.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    ">=",
                    "13.9.4"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    ">=",
                    "1.17.0"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    ">=",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    ">=",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    ">=",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    ">=",
                    "3.21.0"
                ]
            ]
        }
    ],
    "lcname": "pyretroterm"
}
        
Elapsed time: 0.85316s