play music from your termninal.
Project description
pymusicterm
pymusicterm is a terminal-based music player that allows you to play your favorite songs directly from your terminal.
Features
- Play offline music.
- Download music from YouTube with
pytubefixandytmusicapi. - Terminal-based interface powered by
textual. - Cross-platform support (Linux, macOS, Windows).
- MPRIS server integration for Linux and MACOS to control playback with external tools.
Important
The song are in the ~/.pymusicterm/musics folder with specific name and tags
Installation with uv
pip install uv
git clone https://github.com/ZachVFXX/PyMusicTerm.git
cd PyMusicTerm
uv sync #or pip install the dependencies
Prerequisites
- Python 3.12 (tested) or higher.
ffmpeg(required forpyduband audio processing).- On linux, install PyObject for mpris
Basic Commands
- Download from YouTube: Search for a song or paste the URL.
- Control playback: Use keyboard shortcuts to play, pause, skip, or adjust volume.
Configuration
The player reads a configuration file (setting.toml) for custom settings in the ~/.pymusicterm directory.
Dependencies
pymusicterm relies on the following libraries:
just-playback: Audio playback management.msgspec: High-performance serialization.pydub: Audio processing.pytubefix: Simplified YouTube streaming.textual: Terminal user interface framework.ytmusicapi: YouTube Music API integration.loguru: Advanced logging.mpris-server: MPRIS integration (Linux and macos only).
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature/bugfix.
- Submit a pull request with a detailed explanation of changes.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Enjoy your music in the terminal with pymusicterm!
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 musicterm-0.0.8.tar.gz.
File metadata
- Download URL: musicterm-0.0.8.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18d6cd08630c2f17c18b662bbfb09552fca34ef341de6e3cab52a777d18e22ae
|
|
| MD5 |
1f53ee073b89162d6cc0bcb1f1c9e256
|
|
| BLAKE2b-256 |
0ffc12b330e3af815976292a34d11c3ac74738def96bbb969c58139f823ead63
|
File details
Details for the file musicterm-0.0.8-py3-none-any.whl.
File metadata
- Download URL: musicterm-0.0.8-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82317558d9517b7c50f8d4d15904672a17e32f8e2f06339e18780147e80c49c6
|
|
| MD5 |
3a426dd7757760bf31a837aae520b2cd
|
|
| BLAKE2b-256 |
ca396cd252cade89c79be6cd096c30c8ba7fc88ee8b29184ec3f1b681c2d3600
|