{
"info": {
"author": "Eduardo Jos\u00e9 Tom\u00e9 de Macedo",
"author_email": "eduzemacedo@hotmail.com",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6"
],
"description": "\n# Diversify\n\n## The Project\n\nDiversify is a playlist generator based on the [Spofity WEB API](https://developer.spotify.com/web-api/) and the [Spotipy module](http://spotipy.readthedocs.io/en/latest/)\nthat aims to use concepts of AI to suggest playlists based on musical preferences between multiple people.\n\nThis project was heavily inspired by this [article](https://dev.to/ericbonfadini/finding-my-new-favorite-song-on-spotify-4lgc) by \n[@ericbonfadini](https://twitter.com/ericbonfadini) and it's basically just an extra functionality in his analysis.\n\n## Goals\n\nThe goal is to use AI algorithms to generate a spotify playlist based on a user's preference and\na friend of his choice. Currently the script will use a genetic algorthm to generate the playlists\nbut this may improve in the future.\n\n## How to run\n\n- First you need to get your spotify API key and save it to the .env file. \n\t- Go to [spotify application web page](https://developer.spotify.com/dashboard/),\n\t- login with your spotify account and create a new app\n\t- put whatever name you'd like on the project info and say no to commercial integration\n\t- get your client ID and client secret (by clicking *show client secret*)\n\t- put them on your .env.example file and rename it to .env \n\t- click on edit settings and whitelist https://edujtm.github.io/diversify/redirect\n\nThese steps are annoying but are needed because I didn't deploy this app somewhere yet, I have plans to deploy it once I make it faster.\n\n- Clone this repo: `git clone https://github.com/edujtm/diversify.git`\n\n- Create a new environment with your package manager or install the dependencies in environment.yml with pip.
\n\tPersonally I use anaconda, so it's just a matter of running `conda env create --file=environmnent.yml` and then `conda activate diversify`\n\n- With the previous step done, you can import the interfacespfy module in an interactive prompt\n\n```Python\nfrom diversify.session import SpotifySession\nspfy = SpotifySession()\n\nplaylists = spfy.get_user_playlists(\"other_username\")\nsaved_songs = spfy.get_favorite_songs()\n```\n\n- You can generate playlists by running `python3 diversify/main.py`. (run python3 diversify/main.py --help for more info)
\n Example: `python3 diversify/main.py your_id -u2 your_friend_id -p my awesome playlist`\n\n## Warnings\n\nThe files in the tf/ folder and splearn.py are not used, I was trying to implement the algorithm using neural networks or clustering but i didn't finish. I'll probably remove them in the future.\n\nI didn't run much tests when making this app, so there might be errors that I didn't check for when getting data from the spofity API. You can expect some errors when running the scripts.\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://edujtm.github.io/diversify",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "diversify",
"package_url": "https://pypi.org/project/diversify/",
"platform": "",
"project_url": "https://pypi.org/project/diversify/",
"project_urls": {
"Homepage": "https://edujtm.github.io/diversify"
},
"release_url": "https://pypi.org/project/diversify/0.1.0.1/",
"requires_dist": [
"numpy",
"pandas",
"spotipy",
"click",
"colorama",
"python-dotenv"
],
"requires_python": ">=3.6.0",
"summary": "Playlist generator based on artificial intelligence",
"version": "0.1.0.1"
},
"last_serial": 5933690,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "13bbb9f00b828f4e2b36ec1f5e71827c",
"sha256": "3b0d66b70dc3da1661adbcb3955e8f7d9731f3af1d4fc2e09bba7cfc9d8a4ee3"
},
"downloads": -1,
"filename": "diversify-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "13bbb9f00b828f4e2b36ec1f5e71827c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6.0",
"size": 3601,
"upload_time": "2019-10-06T02:55:50",
"url": "https://files.pythonhosted.org/packages/dd/2c/61be7198cc6eaeb85f997ba1a222ba139c8401225ea12a87409c54bbb3d6/diversify-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0ce7f9b9c7542f93687408f4f439a08f",
"sha256": "fc4bd91c345bf927fe569415a6ec73ad3fec0575c2640d68e3d4ac8e9b348abd"
},
"downloads": -1,
"filename": "diversify-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "0ce7f9b9c7542f93687408f4f439a08f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 3774,
"upload_time": "2019-10-06T02:55:52",
"url": "https://files.pythonhosted.org/packages/f5/76/ec26f249da7db55e8cb3091b1f52b3890ea347fecd6f1a515d06661a7f28/diversify-0.1.0.tar.gz"
}
],
"0.1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "560a8d554d2a90a07878b92ba913465f",
"sha256": "28059a62d1abeac50a7503c6c6e6717b9f5b95371edccdf3a0c927a73e980357"
},
"downloads": -1,
"filename": "diversify-0.1.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "560a8d554d2a90a07878b92ba913465f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6.0",
"size": 19079,
"upload_time": "2019-10-06T03:19:01",
"url": "https://files.pythonhosted.org/packages/35/e6/4d6430e02a14bedfa2e3afcba12b071d70f2e77442ed9aaf60cca1481e63/diversify-0.1.0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ec8b098fef99eb558436fbeabe60334",
"sha256": "52feb27391a863fcb35aff15f97f8810ce064f3cdb5c29c31c723c97ed010b38"
},
"downloads": -1,
"filename": "diversify-0.1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7ec8b098fef99eb558436fbeabe60334",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 16202,
"upload_time": "2019-10-06T03:19:03",
"url": "https://files.pythonhosted.org/packages/b2/62/789832bbca1291291061bc99263b1ce063b743efe6b4948800554a053e61/diversify-0.1.0.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "560a8d554d2a90a07878b92ba913465f",
"sha256": "28059a62d1abeac50a7503c6c6e6717b9f5b95371edccdf3a0c927a73e980357"
},
"downloads": -1,
"filename": "diversify-0.1.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "560a8d554d2a90a07878b92ba913465f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6.0",
"size": 19079,
"upload_time": "2019-10-06T03:19:01",
"url": "https://files.pythonhosted.org/packages/35/e6/4d6430e02a14bedfa2e3afcba12b071d70f2e77442ed9aaf60cca1481e63/diversify-0.1.0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ec8b098fef99eb558436fbeabe60334",
"sha256": "52feb27391a863fcb35aff15f97f8810ce064f3cdb5c29c31c723c97ed010b38"
},
"downloads": -1,
"filename": "diversify-0.1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7ec8b098fef99eb558436fbeabe60334",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 16202,
"upload_time": "2019-10-06T03:19:03",
"url": "https://files.pythonhosted.org/packages/b2/62/789832bbca1291291061bc99263b1ce063b743efe6b4948800554a053e61/diversify-0.1.0.1.tar.gz"
}
]
}