Metadata-Version: 2.1
Name: pyRetroTerm
Version: 0.1.5
Summary: pyRetroTerm - A PyQt6 Tabbed Terminal Emulator with Retro themes
Home-page: https://github.com/scottpeterman/pyretroterm
Author: Scott Peterman
Author-email: scottpeterman@gmail.com
Keywords: terminal,ssh,network,automation,pyqt6
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: backports.tarfile >=1.2.0
Requires-Dist: bcrypt >=4.2.1
Requires-Dist: certifi >=2024.12.14
Requires-Dist: cffi >=1.17.1
Requires-Dist: charset-normalizer >=3.4.1
Requires-Dist: click >=8.1.8
Requires-Dist: colorama >=0.4.6
Requires-Dist: cryptography >=44.0.0
Requires-Dist: docutils >=0.21.2
Requires-Dist: idna >=3.10
Requires-Dist: importlib-metadata >=8.5.0
Requires-Dist: jaraco.classes >=3.4.0
Requires-Dist: jaraco.context >=6.0.1
Requires-Dist: jaraco.functools >=4.1.0
Requires-Dist: keyring >=25.6.0
Requires-Dist: logicmonitor-sdk >=3.0.222
Requires-Dist: markdown-it-py >=3.0.0
Requires-Dist: mdurl >=0.1.2
Requires-Dist: more-itertools >=10.6.0
Requires-Dist: nh3 >=0.2.20
Requires-Dist: packaging >=24.2
Requires-Dist: paramiko >=3.5.0
Requires-Dist: pkginfo >=1.12.0
Requires-Dist: pycparser >=2.22
Requires-Dist: Pygments >=2.19.1
Requires-Dist: PyNaCl >=1.5.0
Requires-Dist: pynetbox >=7.4.1
Requires-Dist: PyQt6 >=6.8.0
Requires-Dist: PyQt6-Charts >=6.8.0
Requires-Dist: PyQt6-Charts-Qt6 >=6.8.1
Requires-Dist: PyQt6-Qt6 >=6.8.1
Requires-Dist: PyQt6-WebEngine >=6.8.0
Requires-Dist: PyQt6-WebEngine-Qt6 >=6.8.1
Requires-Dist: PyQt6-sip >=13.9.1
Requires-Dist: python-dateutil >=2.9.0.post0
Requires-Dist: pywin32-ctypes >=0.2.3
Requires-Dist: PyYAML >=6.0.2
Requires-Dist: readme-renderer >=44.0
Requires-Dist: requests >=2.32.3
Requires-Dist: requests-toolbelt >=1.0.0
Requires-Dist: rfc3986 >=2.0.0
Requires-Dist: rich >=13.9.4
Requires-Dist: six >=1.17.0
Requires-Dist: twine >=6.0.1
Requires-Dist: typing-extensions >=4.12.2
Requires-Dist: urllib3 >=2.3.0
Requires-Dist: zipp >=3.21.0

# 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
