Dolphin-inspired PyQt6 file explorer with Breeze icons
Project description
Pylphin
A fast, keyboard-friendly, Dolphin-inspired file explorer built with PyQt6 and the Breeze icon theme. Designed for Linux and Windows with a consistent dark theme, live drive rescan, quick-look previews, and a clean picker API.
Features
- Dolphin-style UI — Breeze Dark theme, breadcrumb navigation, icon/list/details views
- Quick Look (GlimpseSpeedy) — Press
Spaceto preview images, text, audio, and video without leaving the app - Live Drive Sidebar — Auto-rescanning device list with capacity bars and one-click eject
- Cross-Platform — Native feel on Linux and Windows
- Picker API — Use Pylphin as a file/folder picker dialog inside your own PyQt6 apps
- Local-First Icons — Ships with 100+ Breeze SVGs; no internet required after install
- MIME-Aware — Extension mapping + libmagic fallback for accurate file type icons
Installation
From PyPI
pip install pylphin
Linux Prerequisites
Pylphin uses python-magic for MIME detection on Linux, which requires the system libmagic library:
# Debian / Ubuntu
sudo apt-get install libmagic1
# Fedora / RHEL
sudo dnf install file-libs
# Arch
sudo pacman -S file
Optional Dependencies
For audio metadata display in previews:
pip install pylphin[audio]
Usage
Standalone File Manager
# Launch the GUI
pylphin
# Or via module
python -m pylphin
As a Picker Dialog
from pylphin import pick_file, pick_files, pick_folder
# Single file
path = pick_file(extension=".py")
print(path)
# Multiple files
paths = pick_files(extension=[".jpg", ".png"])
print(paths)
# Folder
folder = pick_folder(start_path="/home/user/Documents")
print(folder)
Embedding in Your Own App
from PyQt6.QtWidgets import QApplication
from pylphin import Pylphin
app = QApplication([])
win = Pylphin()
win.show()
app.exec()
Keyboard Shortcuts
| Key | Action |
|---|---|
Alt + ← |
Back |
Alt + → |
Forward |
Alt + ↑ |
Up one directory |
F5 |
Reload |
F2 |
Rename selected |
Delete |
Delete selected |
Space |
Quick Look preview |
Esc |
Close preview / cancel address edit |
← / → |
Previous / next file in preview |
Backspace |
Navigate back |
Ctrl + H |
Toggle hidden files |
Project Structure
pylphin/
├── src/pylphin/
│ ├── __init__.py # Public API
│ ├── __main__.py # python -m pylphin
│ ├── pylphin.py # Main application
│ └── assets/
│ └── icons/ # 100+ Breeze SVG icons
├── pyproject.toml
├── README.md
└── LICENSE
Platform Notes
| Platform | Details |
|---|---|
| Linux | ✅ Full support. Drive eject via udisksctl/eject. Requires libmagic1. |
| Windows | ✅ Full support. Drive eject via DeviceIoControl + PowerShell fallback. Bundled python-magic-bin. |
| macOS | ❌ Not supported. Uses Windows/Linux-specific APIs. |
License
This project is licensed under the GNU General Public License v2.0.
See LICENSE for the full text.
The bundled Breeze icons are from the KDE Breeze Icons project and are licensed under LGPL-3.0.
Author
D. Saahishnu Ram
Contributing
Issues and pull requests are welcome on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylphin-0.1.0.tar.gz.
File metadata
- Download URL: pylphin-0.1.0.tar.gz
- Upload date:
- Size: 136.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da851a212a8c3ed4f455b8e174efd6a580f390426830f061ff8a2cd17233aacc
|
|
| MD5 |
49f12530d822381fb95b2e03acc57fcf
|
|
| BLAKE2b-256 |
86bc9859bee4e97b8a39d4fd6953dd94985ba2ba683a01cd51756064e30a4aeb
|
File details
Details for the file pylphin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pylphin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 336.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a62e3f0be42852c01abf614e517f3a12445f440dfaaf72d225e54e1f71f7075
|
|
| MD5 |
a4a2002056fd2c86a70a7785440375ac
|
|
| BLAKE2b-256 |
d8e258fd3208ce01118cb956dc1b394d3b1a1432a646613677ce6f38217b7dce
|