Closed project-owner closed 3 months ago
The Rust compiler is only necessary for the ruff linter, which is not a required dependency in requirements_minimal.txt
.
FFmpeg is required for format conversions in the audio
submodule. If it's not installed, those features are unavailable.
I think minim.audio logically belongs to a separate project/repository. Or there should be a way to easily exclude it from the 'minim' installation. Just my 2c recommendation/observation :)
I disagree. minim.audio
is directly dependent on the APIs for tagging audio files, and certain API endpoints may use minim.audio
classes for reading and writing audio files. Minim was designed with this two-way relationship in mind.
OK, so far I don't see any dependency on minim.audio in qobuz, itunes, spotify and tidal and I think this is right approach. Anyway, it's up to you. It's just the same issue for me and others - unnessessary large library footprint because of the functionality which I'm not using. Making it more modular would be helpful. Thank you!
I'm not sure I share your perspective or fully understand what the issue is currently.
Minim is a personal project that does everything I need it to do, and I've open-sourced it on the off chance that others want to manage and maintain their music libraries just like me. The main goal is to be able to work with audio files directly and update metadata as obtained from different music service APIs.
Minim only has three required dependencies: cryptography, Mutagen, and requests. These are lightweight libraries taking up less than 3 MB of disk space when compressed. Minim itself, when packed into a Python wheel, takes around 134 KB. I expect that <<100 MB is required when everything is unpacked.
FFmpeg is NOT required. Not having it installed means that the audio.Audio.convert
method (which is inherited by all the audio.*Audio
classes) is not available, but the rest of the module is fully functional. I could have made FFmpeg mandatory, but I already took a proactive approach in making it optional.
Likewise, ruff is NOT required. It is a tool I use in the development of Minim, so I include it as a dependency in requirements.txt
so that other developers who want to tinker with Minim's source code will have an easier time setting up environments where everything just...works.
The installation of the 'minim' on Raspberry Pi forced to install Rust compiler and Ffmpeg library. Is it really required? Thanks!