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!
Metadata
Release files for MusicTerm 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| musicterm-0.1.1.tar.gz | 16.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| musicterm-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.0 kB
Release files / musicterm-0.1.1.tar.gz
| Download URL | musicterm-0.1.1.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c60e7ab7ca0acaf7b65e18f70a77aa2b616dcbb61b4e415b1d5787b3aeac9ad8
|
|
BLAKE2b-256 checksum How to use checksums |
5a5e15f8a604613f065deb04e0fc7f72a8016d5b1bcc31241788f7aa23277338
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|
Release files / musicterm-0.1.1-py3-none-any.whl
| Download URL | musicterm-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
edf59c7719767e7bca273178e2a3296fe34a4992008a313f543fe32eaacbf0c2
|
|
BLAKE2b-256 checksum How to use checksums |
f5ec80e2c38bbbabd985f087865d381440ca1285b2dc06306d015f54605d4fae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|