Moe

Latest version: v2.1.3

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

Scan your dependencies

Page 1 of 10

2.1.3

===================

Bug Fixes
---------
* Metatracks always failing equality (`89e25d2 <https://github.com/MoeMusic/Moe/commit/89e25d2e6a04a5673de74ca837dc682d9157193b>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v2.1.2...v2.1.3>`__

2.1.2

===================

Build Changes
-------------
* Add importlib_metadata dependency for entry_points backport (`4cc6b97 <https://github.com/MoeMusic/Moe/commit/4cc6b9757faca0daf5ef7753ba33f94dfdf24c6b>`_)
* Update dependencies (`50e148c <https://github.com/MoeMusic/Moe/commit/50e148cc3f91558233cdf6a2c82c7d6206be37ae>`_)
* Support python 3.12 (`408594a <https://github.com/MoeMusic/Moe/commit/408594a8d6708c4142ae5d34abf9e7b50435aa7a>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v2.1.1...v2.1.2>`__

2.1.1

===================

Build Changes
-------------
* Upgrade sqlalchemy to v2.0.0 (`4e568e5 <https://github.com/MoeMusic/Moe/commit/4e568e5cbdf535d243de1184490b0e8e09ff05d7>`_)
* Upgrade lint dependencies (`8a9047d <https://github.com/MoeMusic/Moe/commit/8a9047d1bddb5794ddb56ac759794658d53f4874>`_)
* Upgrade docs dependencies (`8d95017 <https://github.com/MoeMusic/Moe/commit/8d95017601fcff71069986cc7c6bbd4daabdedaf>`_)
* Upgrade test dependencies (`0b5b384 <https://github.com/MoeMusic/Moe/commit/0b5b3847e14bba20a2deb238262ed715e2d5688f>`_)
* Upgrade pytest to v7.0.0 (`50eb061 <https://github.com/MoeMusic/Moe/commit/50eb0611c9d3e496c3b57adf3b6676c9dafaee7b>`_)
* Upgrade rich to v13.0.0 (`3ee7ef0 <https://github.com/MoeMusic/Moe/commit/3ee7ef017dc4fbd2f84e9f1611418ab4b63634f9>`_)
* Upgrade pluggy to v1.0.0 (`88c0384 <https://github.com/MoeMusic/Moe/commit/88c03844b10e95c6bf4fd870c2524e2038052056>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v2.1.0...v2.1.1>`__

2.1.0

===================

New Features
------------
* Add `-d` option to `rm` command to delete files (`8246eb8 <https://github.com/MoeMusic/Moe/commit/8246eb80da0453299274e133b27407917643cbd4>`_)
* Query: Added support for numeric range queries (`fac29a1 <https://github.com/MoeMusic/Moe/commit/fac29a189cace54878c75a7373355b334ca84e14>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v2.0.0...v2.1.0>`__

2.0.0

===================
I'm not particularly happy about how little time as passed between v1.0.0 and this release and I don't expect this timeframe to be the norm. In a perfect world, I'm releasing `at most` 1-2 major versions per year of Moe. I justified this timeframe as I still don't think there's many people using Moe and the list of breaking changes I wanted to implement had settled at a good number.

With that said, I recommend reading through the following notes before upgrading.

Breaking Changes
----------------
* Use mediafile dependency over moe_mediafile fork (`bcda77d <https://github.com/MoeMusic/Moe/commit/bcda77d3a16f545cc413c83b8e3fe031ae92ecab>`_)

Now that our changes have been merged into mediafile, there's no longer a need to use our fork.

You may experience issues if you have both moe_mediafile and mediafile installed together. **All users upgrading should explicitly uninstall moe_mediafile by running ``pip uninstall moe_mediafile``.**
* DB sessions are now explicitly passed as arguments (`228a017 <https://github.com/MoeMusic/Moe/commit/228a01752b2d7a262a6c126ff9015da168e94e89>`_)

This helps clarify exactly which functions require the database to be initialized. Also, it helps avoid any potential future issues with relying entirely on a global/thread-local session factory.

The following functions/hooks are affected by this change:

* ``add.add_item`` - new ``session`` parameter
* ``cli.Hooks.add_command`` - the sub-command functions are now passed a ``session`` parameter
* ``config.Hooks.register_sa_event_listeners`` - ``session`` parameter removed
* ``duplicate.resolve_dup_items`` - new ``session`` parameter
* ``duplicate.Hooks.resolve_dup_items`` - new ``session`` parameter
* ``duplicate.resolve_duplicates`` - new ``session`` parameter
* ``duplicate.get_duplicates`` - new ``session`` parameter
* ``library.lib_item.Hooks.edit_changed_items`` - new ``session`` parameter
* ``library.lib_item.Hooks.edit_new_items`` - new ``session`` parameter
* ``library.lib_item.Hooks.process_removed_items`` - new ``session`` parameter
* ``library.lib_item.Hooks.process_changed_items`` - new ``session`` parameter
* ``library.lib_item.Hooks.process_new_items`` - new ``session`` parameter
* ``query.query`` - new ``session`` parameter
* ``remove.remove_item`` - new ``session`` parameter
* ``util.cli.query.cli_query`` - new ``session`` parameter

``config.MoeSession`` has also been replaced with ``config.moe_sessionmaker``. Sessions should no longer be created by importing ``MoeSession``, and instead should use a session parameter that is created at the top-level of an application. Refer to the ``config.py`` docstring as well as ``cli.py`` for more information on how to handle sessions now.
* Changed CandidateAlbum attributes (`9cc69db <https://github.com/MoeMusic/Moe/commit/9cc69db04de874fa00d69eadb031c8b3837c200e>`_)

* ``source_str`` is now split into two fields: ``plugin_source`` and ``source_id``. This is so in the future we can check against the ``plugin_source`` and apply different handling criteria per plugin e.g. import weight values.
* ``sub_header_info`` renamed to ``disambigs``. The "sub-header" is specific to the cli, so it was renamed to be more generalized.
* Replaced ``lib_path`` arg for ``fmt_item_path`` with optional ``parent`` arg (`cc267d5 <https://github.com/MoeMusic/Moe/commit/cc267d526f864eea63b9b8474f9a17ce2284eddb>`_)

This is more flexible as it allows specifying the direct parent for albums, extras and tracks instead of just albums.
* Removed sync plugin (`ae0889d <https://github.com/MoeMusic/Moe/commit/ae0889ddb743930ffc283f91e3e8924658e03287>`_)

The original idea of the sync plugin to sync multiple metadata sources with one command has some implementation barriers that were not fully fleshed out. Instead, each plugin should just implement their own sync commands.
* Removed musicbrainz plugin (`d171be0 <https://github.com/MoeMusic/Moe/commit/d171be042a8b9ada544096eb0245c5fe3d31020b>`_)

Musicbrainz is now a third-party plugin to be consistent with Moe's policy that any external source plugins should not be in the core repository.

If you'd like to continue to use musicbrainz as an import source, you can install the new plugin with ``pip install moe_musicbrainz``. Also, ensure to enable it in your configuration. You can find more information on the `Thid-Pary Plugins` documentation page.
* Removed ``plugin`` sub-directory and package (`d3d756d <https://github.com/MoeMusic/Moe/commit/d3d756d5f49dab27baad42b7ccc5b547a03a726d>`_)

Now, rather than having to import an api function as ``moe.plugins.add.add_item``, it's just ``moe.add.add_item``. I felt the extra ``plugins`` import level was unnecessarily verbose.
* Custom fields now require dictionary access (`1df625c <https://github.com/MoeMusic/Moe/commit/1df625cd1bc924301fe7cf807f354cbab458738e>`_)

Custom fields must now be accessed via ``item.custom["my_custom_field"]`` i.e. normal dictionary access.

I changed this from normal attribute access as overriding ``__getattr__`` and ``__setattr__`` (required for transparent attribute access) had some finicky conflicts with sqlalchemy. Also, it prevented type hinting the custom attribute dictionary as well as integration with data serializers such as pydantic.

Overall, the more I used them, the more issues I found, and the more it felt like a hack. I believe the new explicit dictionary access for custom attributes will prove to be more bulletproof. It also explicitly delineates normal and custom attributes which can be useful in some cases.
* Renamed ``album_obj`` reference to ``album`` in tracks and extras (`51ff9a9 <https://github.com/MoeMusic/Moe/commit/51ff9a97284c0bb9bc891b763030565670fed7cf>`_)

``track.album`` now refers to the actual album object (renamed from ``track.album_obj``) and ``track.albumartist`` has been removed. Similarly, ``extra.album_obj`` has been renamed to ``extra.album``.

The original idea was that ``track.album`` was a string that referred to an album's title, while ``track.album_obj`` was the actual album object itself. ``track.album`` and ``track.albumartist`` were "mapped" attributes of an album directly exposed in the track API due to convention. However, these mapped attributes are not first-class attributes as far as sqlalchemy is concerned, and thus have additional issues and considerations compared to normal attributes. Ultimately, I decided these mapped attributes are not worth the headache.

Performance Enhancements
------------------------
* Slightly improved start-up time by importing default plugins (`0ffd10a <https://github.com/MoeMusic/Moe/commit/0ffd10a08d26e330308944ff01dcab77fbc6f4ac>`_)

Build Changes
-------------
* Removed pyyaml dependency (`2519817 <https://github.com/MoeMusic/Moe/commit/2519817b984a83837118c4b671b7f7386b5bb887>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v1.5.1...v2.0.0>`__

1.5.1

===================

Bug Fixes
---------
* Ensure tracks created from files contain required tags (`bf215ed <https://github.com/MoeMusic/Moe/commit/bf215ed674bff2d1c7d1024d391dc57995f39055>`_)

`Full diff <https://github.com/MoeMusic/Moe/compare/v1.5.0...v1.5.1>`__

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.