Metadata-Version: 2.1
Name: spotify-to-musi
Version: 1.0.2
Summary: Transfer Spotify playlists to Musi.
Home-page: https://github.com/hexiro/spotify-to-musi
License: MIT
Keywords: spotify,music,musi,transfer,cli
Author: Hexiro
Author-email: mail@hexiro.me
Requires-Python: >=3.7,<4.0
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries 
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: requests (>=2.28.1,<3.0.0)
Requires-Dist: requests-toolbelt (>=0.9.1,<0.10.0)
Requires-Dist: rich (>=12.5.1,<13.0.0)
Requires-Dist: rich-click (>=1.5.1,<2.0.0)
Requires-Dist: spotipy (>=2.20.0,<3.0.0)
Requires-Dist: ytmusicapi (>=0.22.0,<0.23.0)
Project-URL: Bug Tracker, https://github.com/hexiro/spotify-to-musi/issues
Project-URL: Repository, https://github.com/hexiro/spotify-to-musi
Description-Content-Type: text/markdown

# spotify-to-musi

> Transfer your [Spotify](https://spotify.com) playlists to [Musi](https://feelthemusi.com).

![banner](./.github/assets/banner.png)

# Why Musi?

Musi allows you to listen to any song (video) from YouTube without being interrupted with ads like with Spotify.
As someone who doesn't have a music streaming subscription I prefer to use Spotify on Desktop and Musi on mobile,
so I created this app to transfer songs between the two.

# Spotify API

1. Go to https://developer.spotify.com/dashboard/ \
   ![Dashboard](./.github/assets/dashboard.png)
2. Choose an app name and accept the terms and conditions. \
   ![CREATE AN APP](./.github/assets/create-an-app.png)
3. Set callback to https://example.com/callback/ \
   ![Set Callback](./.github/assets/set-callback.png)
4. View Client ID and Client Secret \
   ![SHOW CLIENT SECRET](./.github/assets/show-client-secret.png)
5. Rename .env.example to .env and set secrets \
   ![.env file](./.github/assets/dotenv-file.png)
6. Upon running the script for the first time, you will be prompted with something that looks like this: \
   ![first time setup](./.github/assets/first-time-setup.png)
7. Click the URL, Sign In if you need to and proceed until you see a page that looks like this: \
   ![img.png](.github/assets/example.com.png)
8. Copy the URL of the page you were redirected to and paste it into the console of the program and enter

# PyCharm Usage

If you're running pycharm, make sure `emulate terminal in output console` is enabled<br>

references:

- https://youtrack.jetbrains.com/issue/PY-43860
- https://rich.readthedocs.io/en/latest/introductin.html

