Technologies
- Python
- Tkinter
- Pandas
- Paramiko
- Singleton Pattern
- SSH command execution
- Git
- Linux shell commands (ls -la, cd, etc.)
- Threading (handling SSH responses asynchronously)
- Custom modules (SingletonConnection, utilities)
Skills
- Exception handling and debugging
- Multi-threading (for SSH operations)
- Working with Singleton design patterns
- Event-driven programming
- File system navigation and commands (ls -la)
- UI/UX design principles for desktop applications
- Data visualization (TreeView for displaying SSH data)
- Networking fundamentals



SSH GUI App
This Python script is a GUI-based file manager that connects to a remote SSH server using a singleton SSH connection. It employs paramiko for SSH interactions and pandas for handling file metadata. The translate function processes SSH command output (ls -la), extracts relevant file details (name, links, size, modification date, and permissions), and stores them in a DataFrame. Additionally, the rounded_edge function is used to create smooth, rounded rectangles within the graphical interface. The script is designed to enable secure SSH communication while parsing remote directory listings efficiently.
The App class, built with tkinter, sets up the graphical interface and integrates SSH functionality. It initializes a persistent SSH connection using the SingletonConnection class and manages the UI layout with rounded rectangles and a Treeview widget for displaying file metadata. The load_ssh_data method retrieves file information via SSH, processes it with translate, and updates the Treeview. Users can interact with the file list, double-clicking entries to navigate directories dynamically. The UI also includes buttons for uploading, downloading, adding, and deleting files, though their implementations are omitted.
This implementation ensures efficient SSH-based file management by maintaining a single SSH session for all operations, reducing connection overhead. The selected_line method allows users to navigate directories interactively, fetching and displaying remote directory contents in a structured format. The script combines networking, data handling, and UI design, making it a robust solution for remotely managing files through an SSH-based interface with an intuitive graphical layout.