troi

View on PyPIReverse Dependencies (0)

2024.12.4.0 troi-2024.12.4.0-py3-none-any.whl

Wheel Details

Project: troi
Version: 2024.12.4.0
Filename: troi-2024.12.4.0-py3-none-any.whl
Download: [link]
Size: 123403
MD5: 947729b3c03b7d2d5d6e4fed765f9685
SHA256: 9fcd2b3acb2612e1cd5500830c5075c5699019285b5974bdf905323761558379
Uploaded: 2024-12-04 16:08:13 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: troi
Version: 2024.12.4.0
Summary: ListenBrainz' empathic music recommendation/playlisting engine
Author-Email: MetaBrainz Foundation <support[at]metabrainz.org>
Project-Url: Homepage, https://github.com/metabrainz/troi-recommendation-playground
Project-Url: Documentation, https://troi.readthedocs.io/en/latest/
Project-Url: Releases, https://github.com/metabrainz/troi-recommendation-playground/releases
Project-Url: Issues, https://tickets.metabrainz.org/secure/RapidBoard.jspa?rapidView=14&projectKey=LB#
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Requires-Dist: click (>=8.0)
Requires-Dist: countryinfo (>=0.1.2)
Requires-Dist: lb_matching_tools (>=v2024.01.30.1)
Requires-Dist: liblistenbrainz (>=v0.5.5)
Requires-Dist: more_itertools
Requires-Dist: mutagen (==1.46.0)
Requires-Dist: peewee (>=3.17.0)
Requires-Dist: psycopg2-binary (>=2.9.3)
Requires-Dist: py-sonic (>=1.0.0)
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: regex (>=2023.6.3)
Requires-Dist: requests (>=2.31.0)
Requires-Dist: scikit-learn (>=1.2.1)
Requires-Dist: spotipy (>=2.22.1)
Requires-Dist: tqdm
Requires-Dist: ujson (>=5.4.0)
Requires-Dist: Unidecode (>=1.3.6)
Requires-Dist: nmslib-metabrainz (>=2.1.1); extra == "nmslib"
Requires-Dist: pytest (==7.1.2); extra == "tests"
Requires-Dist: pytest-cov (==4.1.0); extra == "tests"
Requires-Dist: requests-mock (==1.11.0); extra == "tests"
Requires-Dist: build; extra == "build"
Requires-Dist: Sphinx (==5.0.2); extra == "docs"
Requires-Dist: sphinxcontrib-httpdomain (==1.8.0); extra == "docs"
Requires-Dist: sphinx_rtd_theme (==0.5.1); extra == "docs"
Requires-Dist: docutils (==0.17.1); extra == "docs"
Requires-Dist: sphinx-click (==4.3.0); extra == "docs"
Provides-Extra: nmslib
Provides-Extra: tests
Provides-Extra: build
Provides-Extra: docs
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 5832 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.6.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
troi/__init__.py sha256=Q4jryPtCWppqpgUtaszZhEvZJnQGaEaQ32xP1KCW9ss 13798
troi/cli.py sha256=n1vs-mTHWpAHfIFgRu3kp-Dre7ktmtMUgeXlx_VuGPo 11973
troi/core.py sha256=9LHPPG8naKrhFcsDPFykEDLDtWeoZbxqa7Y0jkC2f8g 1714
troi/filters.py sha256=OX-Io467qDCHW8qNtq-BcRGQpipy5_vOxLZBaAAlC1Q 12835
troi/logging_utils.py sha256=k1P409LZoK2p8zXSbsCI59rJDSawGBHVJ9mB50DHAYM 162
troi/loops.py sha256=gPkKBtOe9wZKA8ZDR85_EjbdxTe8rfQQQR-MhpP-tG0 3521
troi/operations.py sha256=kqhykT6cldShG0nEEa7yPsMlapoXCYvwUkx8l3A_VTs 6309
troi/parse_prompt.py sha256=jDima4LXpqIi1SJxCXY78gTqC3yprC2pN6e6KHeq-Rs 6070
troi/patch.py sha256=lllep0KNTdnRnnZEXexSWfdIIHSAmqTRsaD3QW7szyY 10078
troi/playlist.py sha256=89d0ivZpSVPS3cCWsbfJNKlaRh-P2WKtEUA5Kkq124I 24551
troi/plist.py sha256=1KgE13k3Slhlef5Hrsm-z2Du7ln_L-iU4hf3AgSfpaM 2747
troi/print_recording.py sha256=8UzlCGmVinuwjNChOfYDzQD1OqBbvUVkcTB2sZaX6-U 4864
troi/recording_search_service.py sha256=iZToIM1ipux8RYHP4bd2-GZqd_ESRFteMwTkUJfvyLI 3645
troi/service.py sha256=1zcOAVja-m5ke_wthExJaytgEUqfpl2X5jC53EKnfeE 682
troi/sorts.py sha256=tg_6q1tmJtUG6n3pJkdi4ZBbJB8_HJskKkc1AD5XUeA 954
troi/utils.py sha256=FwL2uSUdHk7fuhwBW1-UK8lu0pRYfgJDjQEqQWUkMkE 2912
troi/content_resolver/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/content_resolver/artist_search.py sha256=vJiSuwZDnV2w5Ggghs3Fw4Q066x7z0oIDClQPpXSe_A 4604
troi/content_resolver/cli.py sha256=842Nf7ZUUsNosa1rEBjpUuOC7kImeknbvGBdV0B7Bnc 8668
troi/content_resolver/content_resolver.py sha256=CWGLoaBaAQPnucNwsdTJV8lqc19o94WXl4GaN4PdflY 9460
troi/content_resolver/database.py sha256=JsYv0TCUQzwiaDx3r8VUNGLTcVU5ORc4wroSqGC61rM 18059
troi/content_resolver/duplicates.py sha256=ypjB-Vu3ZbkurM2l3RteflQ3kT_0U2Rc_lmRgkom1Kg 3647
troi/content_resolver/fuzzy_index.py sha256=hjyZ9Nn1Ld6fade4Uaj6iSbpt5hyqgpfejVZK9p9K0Y 3345
troi/content_resolver/lb_radio.py sha256=JOgoYjIxSh3mCDkeOOYgqBj8M-pB7_AUesgTIYwEFCI 2677
troi/content_resolver/metadata_lookup.py sha256=q89YWXrAo-UGLW2xPL2Nb3O_IpmJn6IM4CSdJZGW-Xc 6220
troi/content_resolver/playlist.py sha256=cV2hZTM9KNL0uwrLyQg8udmByMBFLQ89N-N4daAYaNo 1271
troi/content_resolver/py_sonic_fix.py sha256=c96H7ls98aRTYBEoi2e71-Kh4kU1nm4byTFsr6f8J80 725
troi/content_resolver/subsonic.py sha256=diEnEWzbNICirZW2WB7TBkIHT_CnvT4tvJZO2cqcUZw 10845
troi/content_resolver/tag_search.py sha256=CT1Nz3Hiaw_V9_028ep29l0MssIFFmksAeV4W-ZxI7Q 5400
troi/content_resolver/top_tags.py sha256=uOvp-JWSlckcM0a2ads8zvZSSlzpcPoYIatyuTmFjqA 1230
troi/content_resolver/unresolved_recording.py sha256=w2FqqeAM9X6weeyzfIx1ErbW-X-Tl2RalkTGduLIzfM 6273
troi/content_resolver/utils.py sha256=rNJdpVggtl3A6nKb4aZ2Wwm3isyH9N7AJif0fa3n7RU 3457
troi/content_resolver/formats/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/content_resolver/formats/flac.py sha256=zQTM6a8awWi7x0OrgD9yePokbmF2LtXgVpQdQGvPIdQ 899
troi/content_resolver/formats/m4a.py sha256=Q0MLS-khU_Bl1vuY2ADcwkH-GIiDQDkgVpy7jGePE1w 1189
troi/content_resolver/formats/mp3.py sha256=oOLzQBAlrGT4McJw3i359jkxy2ESYkpXp9HXu-UJotg 1977
troi/content_resolver/formats/ogg_opus.py sha256=ugXzJ4wpzq3zyJD_F0qXR6nPuaVSAIbTheMM5NWqmVg 913
troi/content_resolver/formats/ogg_vorbis.py sha256=-89d2rkxn7JmMdrjaGBgX5g2R_c6QHBGUdrZI03pLro 903
troi/content_resolver/formats/tag_utils.py sha256=RXdGaQmqWD7RqiPkwgZq8AjmctgNx6B0zMc-MdE9H6M 1185
troi/content_resolver/formats/wma.py sha256=YXiyG-RJdKmVPWZ5moaHEFZ6iGN1yXsbdJXnKL2CoCI 968
troi/content_resolver/model/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/content_resolver/model/database.py sha256=qf06rTpAFVTeq6zuHW_7JJ0zl8ok08uf5jzGx6gX5zQ 207
troi/content_resolver/model/directory.py sha256=FR0IJ-GMZWuUsytGwOCJ4mKlpfO2yQdAQnyBbfoo69A 409
troi/content_resolver/model/recording.py sha256=8nfs2qN04zVauOk3iyvhA7hjqU-qpK1vAM4qpyx8ZZE 2186
troi/content_resolver/model/tag.py sha256=X3K7_hyG-xSQFfgDbnQVMhrp5rlz3S9OvcKmZ49njkc 918
troi/content_resolver/model/unresolved_recording.py sha256=dO0Chv2vt-4wgzgtmQl31wkYUxDsRCKG1QkCjv4CDyU 858
troi/external/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/external/gpt.py sha256=FAgELgmyvwOETe1SEM6-mTd7oK66hFXegwglL9W2MNs 2281
troi/listenbrainz/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/listenbrainz/feedback.py sha256=GQfRXGMmrEKePx72v_cYbXUe5YIbXdWgCy4aMSQm010 1996
troi/listenbrainz/listens.py sha256=mJrt6IV7Cqr4hcxLV_qUZTC7MSRAOyUGby3jHYUStNA 4093
troi/listenbrainz/recs.py sha256=MBNwxXfRrbOy76NeF2PBoAxKhGI72o_YgbAj0i--3bc 3019
troi/listenbrainz/stats.py sha256=jh9PAExDWxfchpyaxgr6ZDiJ1bI4P3H5LmmD8eOb6lc 4449
troi/listenbrainz/user.py sha256=_YSMvkbkWVqLNDClk8GLZrCDeZdTr1hmLaRPGcfP1_M 529
troi/listenbrainz/unused/README.txt sha256=t4m_iH6aqY9x7NL7Sv9W3O7CpUK8cquhYSMrhDP0EG4 105
troi/listenbrainz/unused/dataset_fetcher.py sha256=wfy3KVYPmUdDF9IUE_0Nb3br-Nr51eU2kc8LPIhjhMI 2737
troi/local/periodic_jams_local.py sha256=6h2dyaqeYWzopG9HQWBKL6tf4EswV0ijCT4q1PxPYCE 1388
troi/local/recording_resolver.py sha256=vk-H5-A50BedstChk_bMD61LdLaLFKNVDKT_kfzXD-A 3369
troi/musicbrainz/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/musicbrainz/mbid_mapping.py sha256=CubUpp6dKXemFFm8rmnN7WEFVmkHNyfrVpr_IPp9zDI 2255
troi/musicbrainz/mbid_reader.py sha256=ovlBJ2uJMVYGJ9XUTGYuRsoc5jx_9qNkvb6-f4t2BgA 833
troi/musicbrainz/recording.py sha256=AU65AByC64c28dL6KOYH1ijcBPnSBUO6vK9pKaeBriQ 530
troi/musicbrainz/recording_lookup.py sha256=d_OOSgT71cJefcjL7oKQm6X8qaj88fUQnTX7QMeYHGs 5880
troi/musicbrainz/related_artist_credits.py sha256=4BMW6e9ce9eo5gbBpMkkt8STlM-nhO9dtcVJ3vSlT_s 1729
troi/patches/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/patches/ai_jams.py sha256=YBRdkjcMUlvk2qyMAiJPLndjSj3-pf8_J1RZ4sF4s20 1442
troi/patches/lb_radio.py sha256=4mVKshxuUjcbZ5LYsvRwKzT_RArA3_WLxpyKkYV8xH0 10493
troi/patches/periodic_jams.py sha256=uuF7WwpoNPVpfJoNvXsS7IYtuD8LU-TxD8XVYEo_mr8 6243
troi/patches/periodic_jams_local.py sha256=oDhiduJNL2Cfej2DLCUc5J7-aD-IR1PN6l1pBxzZnbs 3116
troi/patches/playlist_from_listenbrainz.py sha256=DJHdc4uw-8mIbsBQwFCYsdVCN4TAnngf4S36Tc9XX5M 1981
troi/patches/playlist_from_mbids.py sha256=8jevlGcpjJASaOhqSNrYyfk5TDmt35WSwnAM6m1ieeY 1183
troi/patches/playlist_from_ms.py sha256=dEuBRNIKczptaM_R91PFiYA_BfsGjpx0P_MtJjTI5ys 2980
troi/patches/recs_to_playlist.py sha256=kqXwZPHeu0C_Ahvn4GF0Vuj68fyyf5iN9XCaN-FklOc 3881
troi/patches/lb_radio_classes/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/patches/lb_radio_classes/artist.py sha256=pbuBpoiBxpOqahVwnAlcLKlBc7OU-21lrUAQMXpVgZ0 3346
troi/patches/lb_radio_classes/blend.py sha256=EVB83XIjkYFJ_Ogj6Ek9S0aZf38yU6jNpo2EQ5Nbz40 3457
troi/patches/lb_radio_classes/collection.py sha256=nFfHLXsMisCxhMFWmU3BCbicDGDzSMnipN51gear22k 1815
troi/patches/lb_radio_classes/country.py sha256=j2NEFJp2twGYoqgQU0Co-GnAJGJ5B5vIDhjR2k7mJ5A 4048
troi/patches/lb_radio_classes/playlist.py sha256=yBTISn0ybEZ7YBKlCAk_SNhoCCsiMrod-9nlAP_lKss 2161
troi/patches/lb_radio_classes/recs.py sha256=rLvEt6AGAlYT_s4kNrWH3UeACOznFQ1agHYhgF2u3ag 2880
troi/patches/lb_radio_classes/stats.py sha256=nqAeeu1hYa1rGw1i4gVugzYQwMb9BM3fFJY9kgt-Fww 2850
troi/patches/lb_radio_classes/tag.py sha256=IaipyZbB9wG0egxvnb10RglSkcXrQUHWOUxs2VgASro 4139
troi/patches/unused/README.txt sha256=t4m_iH6aqY9x7NL7Sv9W3O7CpUK8cquhYSMrhDP0EG4 105
troi/patches/unused/area_random_recordings.py sha256=VhL5ftRfXaP9L8DdaJkLTrhjqipuwB3SOWpezlYZ124 2550
troi/tools/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
troi/tools/apple_lookup.py sha256=NatYbzP7gURinnDfqwDvvIoBIm8zzRtjqyEPqIgcNKI 3437
troi/tools/area_lookup.py sha256=uEZRmRLQmOPL6flqRx9LDGdvZxDuzU0ZcR0--lcmiYQ 951
troi/tools/common_lookup.py sha256=HVAdstPzRJydl857btAU1H9bEqQHC4mcBZvs0lwXskI 1762
troi/tools/soundcloud_lookup.py sha256=yHp_ec7SaUftSwXHafBumdriitpfXZVAccm10pbzTkY 8302
troi/tools/spotify_lookup.py sha256=_87yYln2LUxPIexnbzFIKogP9SCPJgmAZqPDzW2FUoc 8415
troi/tools/utils.py sha256=AaWgBWILVwuSHQArrboOBrnAB0z15cjlokMQ6Pk7OBQ 5665
troi-2024.12.4.0.dist-info/LICENSE sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM 18092
troi-2024.12.4.0.dist-info/METADATA sha256=WN0vh-zMBDumVGCrSRzlE3Sui4Sf6G1nKcudXTxUKyw 7784
troi-2024.12.4.0.dist-info/WHEEL sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U 91
troi-2024.12.4.0.dist-info/entry_points.txt sha256=A7XdQAyS6CQDSLcEkA0pZUu5_r_b24Mi-ORXdFjyaaY 38
troi-2024.12.4.0.dist-info/top_level.txt sha256=NN9tXtV0YZbxxlSsrzX84TsI5dja4NP3DMA9QWhEUWE 5
troi-2024.12.4.0.dist-info/RECORD

top_level.txt

troi

entry_points.txt

troi = troi.cli:cli