a side project with simple and clean music player with Tkinter GUI and Textual TUI
Project description
🎵 Music Explorer
A lightweight music player with both a graphical (Tkinter) and terminal (Textual) interface — fast to run, easy to extend.
Table of contents
Features
- ✅ Dual interfaces: GUI (Tkinter) and TUI (Textual)
- ✅ Supports: MP3, WAV, OGG, FLAC
- ✅ Shuffle and loop modes (Off / All / One)
- ✅ Remembers last folder, last track, and volume
- ✅ Persists playlist order to
queue.json - ⚡ Lightweight, minimal dependencies
Quick start
Recommended: run inside a virtual environment.
# run with uv (recommended)
uv run main.py
# or run directly with Python
python main.py
Usage
On startup the program offers a choice between GUI and Terminal UI. You can force a mode:
python main.py -t gui # GUI only
python main.py -t cli # Terminal only
Installation
Create a virtual environment and install pinned dependencies:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
Configuration
Settings are saved to save.json. Example minimal defaults you can copy into save.json:
{
"current-folder": null,
"current-file": null,
"settings": {
"volume": 100,
"shuffle": false,
"loop": "off"
},
"queue-file": null
}
Playlist order is persisted to queue.json inside your music folder.
Screenshots
GUI demo
Terminal demo
Contributing
- Open issues for bugs or ideas
- Send a PR with a clear description and tests where applicable
- Keep changes small and focused
License
MIT — see the LICENSE file.
Made with ❤️ — happy hacking!
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 music_explorer-0.1.0.tar.gz.
File metadata
- Download URL: music_explorer-0.1.0.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
778a03995b16dbea3a45a271d80d209f63d8bfc941aede549aff35831e79a8d5
|
|
| MD5 |
178c3f28adf695677c88015b5d7a0329
|
|
| BLAKE2b-256 |
dcd7fcba4289228f489aaf3ec2c4ef8843b06469a43281ef71175bd6c7b98f25
|
File details
Details for the file music_explorer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: music_explorer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c314754029ea6fa09771460900e6a2f3090a77265f5c3fc3383ab99b54aca74
|
|
| MD5 |
0bc991fbea5299fcabe17ef3174b0d88
|
|
| BLAKE2b-256 |
b11280e55e35c14b016c85d7a02183e2429278c93608ab56f711a56fb491f765
|