Musify

Latest version: v1.2.5

Safety actively analyzes 710644 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.2.5

Fixed
-----
* :py:meth:`.RemoteLibrary.log_sync` now correctly gets max width from results
when :py:class:`.RemotePlaylist` is given in results

1.2.4

Fixed
-----
* :py:class:`.RemotePlaylist` is now hashable again

1.2.3

Changed
-------
* Allow :py:class:`.RemotePlaylist` to be passed to :py:meth:`.RemoteLibrary.log_sync`

1.2.2

Changed
-------
* :py:class:`.Track` implementations no longer match on name only. This avoids over matching that was noticed
when running :py:meth:`.LocalCollection.merge_tracks`.

1.2.1

Changed
-------
* May now define custom ignore words when sorting string values using the :py:class:`.ItemSorter`
* :py:class:`.ItemSorter` ignore case when sorting string values

Fixed
-----
* Paths are now sanitised when assigning ``filename`` to :py:class:`.LocalTrack`
* :py:class:`.Comparer` no longer needs an expected value set for methods which do not use it
* :py:class:`.Comparer` handles null values in expected values as needed

1.2.0

Added
-----
* Can now get tags from any :py:class:`.MusifyItem` and set tags on any :py:class:`.LocalTrack`
using the relevant :py:class:`.Field` enums
* Equality comparison methods to all implementations of :py:class:`.Filter`
* :py:class:`.BasicLocalCollection` for creating and managing arbitrary local collections
* :py:class:`.MusifyEnum` now displayed correctly when outputting to ``json`` on :py:class:`.PrettyPrinter` objects
* :py:meth:`.LocalTrack.move` and :py:meth:`.LocalTrack.rename` methods to handle moving the file on the disk.
* Set the ``path`` and ``filename`` properties on a :py:class:`.LocalTrack` to defer the movement of a file on the disk.
Setting a new path in this way does not immediately move a file.
Instead, the file will be moved when :py:meth:`.LocalTrack.save` is called with a ``path`` type
tag field as an argument.

Changed
-------
* Track number zero fill amount is now calculated from the track total value
when writing track tags on :py:class:`.LocalTrack`
* Simplified ``dict`` output from :py:class:`.FilterComparers`
* Field names displayed as lower case in ``dict`` output on relevant :py:class:`.PrettyPrinter` implementations
* Expand logging for results from saving tracks on local collections

Fixed
-----
* Drop ``null`` responses from Spotify API which cause bugs in execution logic
* Bug in :py:meth:`.LocalLibrary.load_tracks` that would cause it to store ``None`` when the track could not be loaded

Page 1 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.