New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add various Music Information Retrieval python libraries #82892
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you for opening your first PR
please try to apply the suggestions to the other packages
pkgs/top-level/python-packages.nix
Outdated
mirdata = callPackage ../development/python-modules/mirdata { }; | ||
|
||
mir_eval = callPackage ../development/python-modules/mir_eval { }; | ||
|
||
jams = callPackage ../development/python-modules/jams { }; | ||
|
||
music21 = callPackage ../development/python-modules/music21 { }; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please attempt to sort these amongst the other packages
Mirdata tests fail with
It looks like it has something to do with librosa/librosa#1013 but I don't know how to emulate the solution in nix. |
Music21 tests fail with
which I think has to do with a python2/3 incompatibility. |
Jams tests fail when trying to import |
I've force-pushed the other suggested changes. Thank you for your feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you actually going to use all these libraries? We should not just add packages to Nixpkgs for the sake of it, as it does add to the maintenance burden.
As a music technology student, I do use these packages for coursework and research. If you don't want the added burden of maintaining hand-written pypi expressions I can just maintain them in my fork. |
Another option is https://github.com/nix-community/NUR. They're not in the main nixpkgs repository, but almost as easy to use, and faster to get them out there than the Nix PR process. |
true, also, if these are just plain python packages, it's enough to create a virtualenv/pipenv/conda env/poetry env with nix, and just jump into using normal python tooling to solve your needs. Main reason to add python packages is so that python applications can be exported, or a python package that has some native dependencies which may not play nicely in a nix-shell |
@jmorag did you decide what path you want to go with these packages? NUR, in nixpkgs, or self-maintained in fork? Can you close this PR if you're not using nixpkgs? |
Self maintained in my fork. |
Motivation for this change
Expand nixpkgs to include pypi libraries relevant to music information retrieval.
Things done
Added mirdata, mir_eval, music21, and jams packages.
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)