Awesome
<div align="center"><h3> <code>yami</code> | An open-source music player with simple UI </h3> <p align="center"> Download or play music locally without ads! </p>
Installation • Usage • Features • Contributing • License
</div>🔍Overview
Yami
is a lightweight, open-source music player built in Python. It focuses on simplicity and ease of use, providing an intuitive user interface (UI) for users to manage and play their music. Whether you're playing local files or downloading from online sources using spotdl, Yami offers a seamless experience. This project is designed for users who want a minimalistic, cross-platform music player with the ability to integrate external sources like Spotify/Youtube Music.
📸Screenshot
<div align="center"> <img align="center" src="https://github.com/DevER-M/yami/blob/main/.assets/pic.png?raw=true"> <img align="center" src="https://github.com/DevER-M/yami/blob/main/.assets/example.gif?raw=true"> </div>🛠️ Getting Started
Prerequisites
- Python 3.8+
- pip for dependency management
Installation
From Pip
pip install yami-music-player
From Github
1. Clone the Repository
git clone https://github.com/DevER-M/yami.git
cd yami
2. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install
yami-music-player
(in editable mode):
pip install -e .
Usage
To run yami
, use the following command in your terminal:
$ yami
# Or
$ python -m yami
Features
- Spotdl Integration: Download music directly from the app using spotdl
- Asynchronous Downloading : From synchronous
spotdl.Downloader.search_and_download()
- Asynchronous Downloading : From synchronous
- Player Controls:
- <img src="https://github.com/DevER-M/yami/blob/main/yami/data/pause.png?raw=true" alt="drawing" width="30" style="vertical-align:bottom"> : Pause/play music
- <img src="https://github.com/DevER-M/yami/blob/main/yami/data/skip_next.png?raw=true" alt="drawing" width="30" style="vertical-align:bottom"> : Play next song
- <img src="https://github.com/DevER-M/yami/blob/main/yami/data/skip_prev.png?raw=true" alt="drawing" width="30" style="vertical-align:bottom"> : Play previous song
- <img src="https://github.com/DevER-M/yami/blob/main/yami/data/folder.png?raw=true" alt="drawing" width="30" style="vertical-align:bottom"> : Choose folder
- <img src="https://github.com/DevER-M/yami/blob/main/yami/data/music.png?raw=true" alt="drawing" width="30" style="vertical-align:bottom"> : Download music
ctrl+o
: Choose folder
This will open the app, for the logs check the terminal.
Contributing
Contributions are welcome and greatly appreciated! Here's how you can contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the GPLV3 License. See LICENSE
for more information.
Discussions
Discussions are available and can be used for feature requests and questions
Credits
- Custom Tkinter
- Spotdl
- @ElSaico for fixing locale scaling