diff --git a/pkgs/development/python-modules/muscima/default.nix b/pkgs/development/python-modules/muscima/default.nix new file mode 100644 index 000000000000..f13cbecb7b70 --- /dev/null +++ b/pkgs/development/python-modules/muscima/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, lxml +, matplotlib +, numpy +, pytestCheckHook +, scikitimage +, scikit-learn +}: + +let + rev = "9a016380625927f385e699664026c90356557850"; +in +buildPythonPackage { + pname = "muscima"; + version = "unstable-2023-04-26"; + + src = fetchFromGitHub { + owner = "hajicj"; + repo = "muscima"; + inherit rev; + hash = "sha256-0mRLJATn+6dYswgDg2zs7RHKSvY4+gNt4SBHeF0G3Xg="; + }; + + format = "setuptools"; + + propagatedBuildInputs = [ + lxml + numpy + scikitimage + scikit-learn + matplotlib + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + # They hard-code the path to the dataset and expect you to edit the test to update it to your value + "test/test_dataset.py" + ]; + + meta = with lib; { + description = "Tools for working with the MUSCIMA++ dataset of handwritten music notation"; + homepage = "https://github.com/hajicj/muscima"; + changelog = "https://github.com/hajicj/muscima/blob/${rev}/CHANGES.md"; + license = licenses.mit; + maintainers = with maintainers; [ piegames ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9b4fa24e4135..a3b2968e8974 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6430,6 +6430,8 @@ self: super: with self; { murmurhash = callPackage ../development/python-modules/murmurhash { }; + muscima = callPackage ../development/python-modules/muscima { }; + musicbrainzngs = callPackage ../development/python-modules/musicbrainzngs { }; mutag = callPackage ../development/python-modules/mutag { };