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. It only supports local files.
Features
- Play local music files.
- Download music from YouTube with
pytubefixandytmusicapi. - Terminal-based interface powered by
textual. - Cross-platform support (Linux, macOS, Windows).
- MPRIS server integration for Linux to control playback with external tools.
Installation
Prerequisites
- Python 3.12 or higher.
ffmpeg(required forpyduband audio processing).
You can install pymusicterm via pip:
Clone the repository:
git clone https://github.com/yourusername/pymusicterm.git
cd pymusicterm
Install dependencies:
pip install -r requirements.txt
Run the application:
python -m pymusicterm
Make sure all dependencies are met, including ffmpeg.
Basic Commands
- Play local files: Add the path to the file or directory.
- 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 (pymusicterm.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.tomli-w: TOML configuration management.ytmusicapi: YouTube Music API integration.loguru: Advanced logging.mpris-server: MPRIS integration (Linux-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.5.tar.gz.
File metadata
- Download URL: musicterm-0.0.5.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78c53b93f35c35129f8d3b360ccf7f15879257f1e7ca49f9df6b2e215cccbc1d
|
|
| MD5 |
f8e5859560f6bfe490e95662d5d8915b
|
|
| BLAKE2b-256 |
16770517b6e3b49a1733e19fe70d4490b708ee98cd6a841c53a3d73de2527ffd
|
File details
Details for the file MusicTerm-0.0.5-py3-none-any.whl.
File metadata
- Download URL: MusicTerm-0.0.5-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
360bdaa78d04d6bd6c5e4533d98eb4b36c8ed12a4f421baf76409b140254e7d4
|
|
| MD5 |
5347a91f39b3e5c839206b836eff0d2f
|
|
| BLAKE2b-256 |
49919f4b57a221783c19f774f99d73f593504430609b1ca65a8f3d72ddef6de9
|