musify

View on PyPIReverse Dependencies (0)

1.2.2 musify-1.2.2-py3-none-any.whl

Wheel Details

Project: musify
Version: 1.2.2
Filename: musify-1.2.2-py3-none-any.whl
Download: [link]
Size: 195601
MD5: 2e1a6fa72a77c19e381d23f04ad92794
SHA256: 4212325b8a071f6f0bf3ba4bb7100c4178d0eaa329e45ee223998b636595f321
Uploaded: 2024-12-15 20:21:45 +0000

dist-info

METADATA

Metadata-Version: 2.4
Name: musify
Version: 1.2.2
Summary: A Swiss Army knife for programmatic music library management
Author-Email: George Martin Marino <gm.engineer+musify[at]pm.me>
Project-Url: Documentation, https://geo-martino.github.io/musify/
Project-Url: Release Notes, https://geo-martino.github.io/musify/info/release-history.html
Project-Url: Contribute, https://geo-martino.github.io/musify/info/contributing.html
Project-Url: Source code, https://github.com/geo-martino/musify
Project-Url: Issues, https://github.com/geo-martino/musify/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: aiorequestful (~=1.0)
Requires-Dist: mutagen (~=1.47)
Requires-Dist: pillow (~=11.0)
Requires-Dist: python-dateutil (~=2.9)
Requires-Dist: aiorequestful[sqlite] (~=1.0); extra == "all"
Requires-Dist: lxml (~=5.3); extra == "all"
Requires-Dist: tqdm (~=4.67); extra == "all"
Requires-Dist: xmltodict (~=0.14); extra == "all"
Requires-Dist: tqdm (~=4.67); extra == "bars"
Requires-Dist: hatch (~=1.13); extra == "build"
Requires-Dist: versioningit (~=3.1); extra == "build"
Requires-Dist: aiorequestful[sqlite] (~=1.0); extra == "dev"
Requires-Dist: aioresponses (~=0.7); extra == "dev"
Requires-Dist: autodocsumm (<1.0,>=0.2.14); extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: graphviz (<1.0,>=0.20.3); extra == "dev"
Requires-Dist: grip; extra == "dev"
Requires-Dist: hatch (~=1.13); extra == "dev"
Requires-Dist: ipywidgets; extra == "dev"
Requires-Dist: jupyterlab; extra == "dev"
Requires-Dist: lxml (~=5.3); extra == "dev"
Requires-Dist: matplotlib (<4.0,>=3.9.2); extra == "dev"
Requires-Dist: pycountry (<25.0,>=24.6); extra == "dev"
Requires-Dist: pytest-asyncio (<1.0,>=0.24); extra == "dev"
Requires-Dist: pytest-mock (~=3.14); extra == "dev"
Requires-Dist: pytest-xdist (~=3.6); extra == "dev"
Requires-Dist: pytest (~=8.3); extra == "dev"
Requires-Dist: pyyaml (~=6.0); extra == "dev"
Requires-Dist: sphinx-autodoc-typehints (<3.0,>=2.5.0); extra == "dev"
Requires-Dist: sphinx-new-tab-link (<1.0,>=0.6.1); extra == "dev"
Requires-Dist: sphinx-rtd-theme (<4.0,>=3.0.2); extra == "dev"
Requires-Dist: sphinx (<9.0,>=8.1.3); extra == "dev"
Requires-Dist: sphinxext-opengraph (<1.0,>=0.9.1); extra == "dev"
Requires-Dist: tqdm (~=4.67); extra == "dev"
Requires-Dist: versioningit (~=3.1); extra == "dev"
Requires-Dist: xmltodict (~=0.14); extra == "dev"
Requires-Dist: autodocsumm (<1.0,>=0.2.14); extra == "docs"
Requires-Dist: graphviz (<1.0,>=0.20.3); extra == "docs"
Requires-Dist: hatch (~=1.13); extra == "docs"
Requires-Dist: matplotlib (<4.0,>=3.9.2); extra == "docs"
Requires-Dist: sphinx-autodoc-typehints (<3.0,>=2.5.0); extra == "docs"
Requires-Dist: sphinx-new-tab-link (<1.0,>=0.6.1); extra == "docs"
Requires-Dist: sphinx-rtd-theme (<4.0,>=3.0.2); extra == "docs"
Requires-Dist: sphinx (<9.0,>=8.1.3); extra == "docs"
Requires-Dist: sphinxext-opengraph (<1.0,>=0.9.1); extra == "docs"
Requires-Dist: versioningit (~=3.1); extra == "docs"
Requires-Dist: lxml (~=5.3); extra == "musicbee"
Requires-Dist: xmltodict (~=0.14); extra == "musicbee"
Requires-Dist: aiorequestful[sqlite] (~=1.0); extra == "sqlite"
Requires-Dist: aiorequestful[sqlite] (~=1.0); extra == "test"
Requires-Dist: aioresponses (~=0.7); extra == "test"
Requires-Dist: lxml (~=5.3); extra == "test"
Requires-Dist: pycountry (<25.0,>=24.6); extra == "test"
Requires-Dist: pytest-asyncio (<1.0,>=0.24); extra == "test"
Requires-Dist: pytest-mock (~=3.14); extra == "test"
Requires-Dist: pytest-xdist (~=3.6); extra == "test"
Requires-Dist: pytest (~=8.3); extra == "test"
Requires-Dist: pyyaml (~=6.0); extra == "test"
Requires-Dist: tqdm (~=4.67); extra == "test"
Requires-Dist: xmltodict (~=0.14); extra == "test"
Provides-Extra: all
Provides-Extra: bars
Provides-Extra: build
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: musicbee
Provides-Extra: sqlite
Provides-Extra: test
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 18115 characters]

WHEEL

Wheel-Version: 1.0
Generator: hatchling 1.27.0
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
musify/__init__.py sha256=8GzJTqtBWfs8NC34dnWr0tHgG8VjJD-iLG4X7us0y8Q 396
musify/base.py sha256=vCPkx1dWlLyz2W4VqViAom_R5Iv9DBzbRTCyOUPjzH0 3723
musify/exception.py sha256=vs13llIk_FgjD5-885gMjxrzzRdAy_5AgvKzvbnX2R0 1765
musify/field.py sha256=i70vxdoPxdy5HRxzL_aLM0jVVgHyszs_nJ3Yse_vHgA 11967
musify/logger.py sha256=Wf_PX8HxvNgdd3pqJ_qHGNjPUpbGSUkm7O4oj5E6erM 6971
musify/printer.py sha256=X-8bNyuavgXBZmtS9gBKnzZlEXPnVVHPATMGrD4bCeo 9568
musify/report.py sha256=qEoQMPdMrWWYJIfCSNLaz-juAMnSpkCd_eGiueddrYE 8668
musify/types.py sha256=wgxK0iLOaqF_T9sdKAqL14LRF8hxOoHO_rOX33uoFWY 2583
musify/utils.py sha256=76zLibnZwi185xjrgSs1dipeYoK4ctb50-iOlEOmvFM 11296
musify/file/__init__.py sha256=BrVawV-AtJ2gL-_UIQKhAJsjovFnRzWKjIZQGgbFiJw 65
musify/file/base.py sha256=z8oPgizlP639Xfxa2AUAjP22crbLE2RqhUJMgP-lr_Q 3438
musify/file/exception.py sha256=LyFVzPi_dGFSENb3IIQt3ByMfQxmkNBmNAqRVIiQgeA 1921
musify/file/image.py sha256=vUabR-zcBzBNt9_XfOW1wVrq4y0GYKNN_gvN_sCZyw4 1593
musify/file/path_mapper.py sha256=80V3FdL0HMyyBdB5OLvnDPp9cixqROis118f0QnHddU 8472
musify/libraries/__init__.py sha256=LHX0OLlkGTzZ6S8WpF19fMmIxHH7b3cyZxPzdD-Y-2A 128
musify/libraries/collection.py sha256=DB2LxrYzHfXktKKwVn_aKlQCZ_MnXe4wBiYA_Me3mcs 1454
musify/libraries/core/__init__.py sha256=OWPvV3u0CX7RkdZTaFBcRK0QDHMnGLU0PNMa1yC1J4E 58
musify/libraries/core/collection.py sha256=Df-W-iv1AxypQURHkqTdVvIWOpQYmJV6FT9fVg3lQeI 16003
musify/libraries/core/object.py sha256=xIAZ2e5xhqH6OmRBfH4x8K0_oJ26IsmhFRx40zG6C90 24092
musify/libraries/local/__init__.py sha256=Ks5G4Y2VwjXKOh0yT59trk5P97GGKMiNbgAvDDHsPqg 108
musify/libraries/local/base.py sha256=lvrHFYDPqOC0yqoNHdsf7USpxF98Fyer1GIje7YhqME 372
musify/libraries/local/collection.py sha256=M0BhzOQDBE3if_So_wlh02Nc93xoQeQm6ima2kwza9A 23171
musify/libraries/local/exception.py sha256=bUbdsAVBpWzoL4FJ2rVCKOcvSxOj6vOaPREIbpgMRVs 2187
musify/libraries/local/library/__init__.py sha256=2ezwdjYer04taw7WlRSJ_aIXpRxRGFhYoRbYkmago8U 428
musify/libraries/local/library/library.py sha256=jNQkf_YkAI9RwFoyAWRFCJAr0KWLJl7p9Kvz-zW6isk 22887
musify/libraries/local/library/musicbee.py sha256=qLveAT7702y_IAjTfaYTPOp7Fy2Vz-5gNYCMiZjvFAg 26041
musify/libraries/local/playlist/__init__.py sha256=jaxg5WdKd5WCb32TbmrFwFTVMaORFk0wmpB0pn4-6-s 346
musify/libraries/local/playlist/base.py sha256=61TpNvbPSmPw52NndmRd7_-Pmf3WFkxzUMTkvB3aGFU 5630
musify/libraries/local/playlist/m3u.py sha256=w7R1PVAutAUYoclsjrlYc7Lu_wMBMBkpqZVSR1p3JwU 6387
musify/libraries/local/playlist/utils.py sha256=AJrgvEqSfpeokYDZU3N77m5D2UaLrEmn15NOzDEbIjU 3100
musify/libraries/local/playlist/xautopf.py sha256=8Sd7nCd-ctgQ_bp3riNmDR5sI0KmLTSNXCoLKs-eSsk 29207
musify/libraries/local/track/__init__.py sha256=5YMiEiHkT6xriiG-myW0Adi-vgIHUc_gLEQKxsKEvjo 409
musify/libraries/local/track/field.py sha256=YR3Hn-8XWv5T0Ex9fvHkHckkFSXBBCHNWkxPvStW83M 1986
musify/libraries/local/track/flac.py sha256=Tq1ToEDZXv7qjjZIwXLEQxpWUmye0ObceilWmYahvnY 4106
musify/libraries/local/track/m4a.py sha256=tiGe_05dNxQkTD8nNV2MUDKPI29-d81lGkT937ftkIQ 6961
musify/libraries/local/track/mp3.py sha256=ikFKEZF14dTGdGtgI5G-YU6nmf3HHi04_OAyY9WitZY 7311
musify/libraries/local/track/track.py sha256=gpvo78Y8XYU2l9JVFDdHqvUL526ivADTxP0Qxjb240s 22082
musify/libraries/local/track/utils.py sha256=SWG_TX9BUimbHSM3FYee-Bs7BjwjK4K2aL4GYBuv1yQ 1919
musify/libraries/local/track/wma.py sha256=5CALAyms-FaDplmRCw_svIJOy5BEb_eBZ5j9fajwgdw 5394
musify/libraries/local/track/_tags/__init__.py sha256=NnrR6FgXZkoTDiSNdtd-ha7fbLuxKqou_FF6maNlMMc 200
musify/libraries/local/track/_tags/base.py sha256=0LFhl3BlwYmEiSMEMFlXfiFytXFYQnpobfXku4aBjM4 2273
musify/libraries/local/track/_tags/reader.py sha256=VfZmQUjglYTAsYbL-sgeJUaVVqy-Tpe-TyqSEJM0Ba4 7895
musify/libraries/local/track/_tags/writer.py sha256=Kr7EZVAz2KTuzozBXJ5CnXEDkvctX_QilEaY_t4kb04 33511
musify/libraries/remote/__init__.py sha256=Jydwsb7OmcCi6uTKf80tntukpFv5bE1nfG3qWJD9k8I 224
musify/libraries/remote/core/__init__.py sha256=GucqoRigWnAyRIfOeLYulYbAAh4sI0xFwAJrNfQyhpk 372
musify/libraries/remote/core/_response.py sha256=ytf31SLcoD2Q6r0_NB7PBWOnZwcCyOrcwbnvwxuxrgc 1511
musify/libraries/remote/core/api.py sha256=LjgkIcVjkGMjoilSA1QR124FOS731eziwS126Hzgs-g 23837
musify/libraries/remote/core/base.py sha256=sNbu1Xh63m-yK81Z4biWnhMUT6lGAWEDSWs-_bt1EVM 4432
musify/libraries/remote/core/exception.py sha256=7k62EzuFsIW_1WoodVeqSTJGzuAeIoDrY8QSA1rSofA 1667
musify/libraries/remote/core/factory.py sha256=mf0hwPYds4rJbaN9GqODtC4Ma5kCBFZeSqWawQVGKYU 1919
musify/libraries/remote/core/library.py sha256=n9egGv3n4o-5Vmkw6ZXnFzYthjkv3LhHxVJkUY0d4KI 23994
musify/libraries/remote/core/object.py sha256=_I4s714EFqlTifAXkV6gX5hVJOSvPKD0Dd3Pu1uWnpQ 12902
musify/libraries/remote/core/types.py sha256=zwmbsCwC84M0gOsduD56HDmdNOathfqxB_A4oTLJpYc 1128
musify/libraries/remote/core/wrangle.py sha256=FHFO-Pi_aWPDxCOCd475HvQaf6S6rc-Sie0Nx2GlvLI 10166
musify/libraries/remote/spotify/__init__.py sha256=r_F7SYDNumj94nAh4Jb9rb7lCwl7qo1Ryf4IoSs981c 84
musify/libraries/remote/spotify/base.py sha256=rBkuwiuvLqLDdLhnxRUMONhS8PNnqKASK8OZnjeSU94 2128
musify/libraries/remote/spotify/exception.py sha256=GyYXLeQiogNHJIjQKfx3_LX3_rUZuoftHt4XNVJ15ic 1302
musify/libraries/remote/spotify/factory.py sha256=3yH7aWBTUTpLOz9kvpbh0-wFkgXSj9KBGE3EEHCzZUs 645
musify/libraries/remote/spotify/library.py sha256=EQ4Pp_QvO9TEGjaJjGWHjw2EZ1k1WAPS4Nh-fbjUHQw 7165
musify/libraries/remote/spotify/object.py sha256=PYFJLYm9tOic8x3o5Acsw5ykiy36BAK7KMHOQb0rjYo 31027
musify/libraries/remote/spotify/wrangle.py sha256=OQ71_Rd4f1QDHP1ZQVoV2bymdB1HyT_qniFtNoNAkHE 9137
musify/libraries/remote/spotify/api/__init__.py sha256=l2t-o6FdiVIPjeAskoQeD7DNt1nPm2VvhNWx1G91mx0 113
musify/libraries/remote/spotify/api/api.py sha256=mKjf6glBjOTMHxLW1w9_txfh5sPu3EhZFDXzMPkzHZU 6218
musify/libraries/remote/spotify/api/base.py sha256=uAoPK9O97wPwHyVk1ZsoWEwmFp45Wz1Q7-njSubWReE 6567
musify/libraries/remote/spotify/api/cache.py sha256=1r4Azke48OqAOKRcDzeP7IM7VCG7Cc4ydUernQDFOho 1983
musify/libraries/remote/spotify/api/item.py sha256=Ek8So4C12vvYoxUfLV3zlqx9xideFfVHru_Tm4JP9SM 30133
musify/libraries/remote/spotify/api/misc.py sha256=UFKTOnn4qDsMwokQ1Z9G2QNGR5aSufDy_TSU7iVpMUw 5060
musify/libraries/remote/spotify/api/playlist.py sha256=4DxNbFgrKPyxsC3jIfWl2ieYnar60244pv2QswstWAE 12644
musify/processors/__init__.py sha256=jWdfDEbsk1V7atTaOF4pJvUvzXcirSuyisgir3HlGZE 365
musify/processors/base.py sha256=dJq4gavpcSWkaL8QyRloqcEELAtD7RIiyZf0tyqonqI 9064
musify/processors/check.py sha256=TX2xxVkMM9Tgr0jD5_883X7O_EJz6JMXlXQPNwTDC1M 25901
musify/processors/compare.py sha256=rGaxwXlRvuVqRAAzACK2DDrRhRRnBF4r0t4hbvPFupI 12837
musify/processors/download.py sha256=KI5Y-2Ptg0KXjA7hxcXavE9kyeS-Cxh9iumFVO46LH4 6949
musify/processors/exception.py sha256=pozNW5DEo7f-8Jm-alrTruyH5oxBA4vW7BOGDlsiO7U 1243
musify/processors/filter.py sha256=Hu7GX88ccDQ3t-bQGxjIJtZuuX5-qLDxIB49tTdfG1o 6464
musify/processors/filter_matcher.py sha256=0v68zmqWRnh5Pyv-pWAMOWL2TSDI-iJwLhCihSEVEvI 5680
musify/processors/limit.py sha256=-4w9f3f5RJ3mdVlC3MaC_mCp78UjRq0gj0VZV-c7rGc 7985
musify/processors/match.py sha256=McvPSCAI1SH-9tuf1BP4W4YoJfsH6zf69vzj-3_gisQ 22124
musify/processors/search.py sha256=SOmg4H4shhJwW9M0vkA3lqTqo9YlXwjr55hXkt9igt4 15033
musify/processors/sort.py sha256=fB06MlZA7vMaaiOxlrPHcLAl9o1En_5pH-XulhxC4Qo 11458
musify/processors/time.py sha256=ehfc-KGnddKLGg90ZVkZ3E7nPDmIxeEn0FXYPQm93IU 2240
musify-1.2.2.dist-info/METADATA sha256=3u3SC6pfuOCM4bcGIiwBZQxyjwxNXUFZa_gw5UET6E8 22368
musify-1.2.2.dist-info/WHEEL sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ 87
musify-1.2.2.dist-info/licenses/LICENSE sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU 35184
musify-1.2.2.dist-info/RECORD