1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 lxml,
6 matplotlib,
7 numpy,
8 pytestCheckHook,
9 scikit-image,
10 scikit-learn,
11}:
12
13let
14 rev = "9a016380625927f385e699664026c90356557850";
15in
16buildPythonPackage {
17 pname = "muscima";
18 version = "unstable-2023-04-26";
19
20 src = fetchFromGitHub {
21 owner = "hajicj";
22 repo = "muscima";
23 inherit rev;
24 hash = "sha256-0mRLJATn+6dYswgDg2zs7RHKSvY4+gNt4SBHeF0G3Xg=";
25 };
26
27 format = "setuptools";
28
29 propagatedBuildInputs = [
30 lxml
31 numpy
32 scikit-image
33 scikit-learn
34 matplotlib
35 ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 disabledTestPaths = [
40 # They hard-code the path to the dataset and expect you to edit the test to update it to your value
41 "test/test_dataset.py"
42 ];
43
44 meta = with lib; {
45 description = "Tools for working with the MUSCIMA++ dataset of handwritten music notation";
46 homepage = "https://github.com/hajicj/muscima";
47 changelog = "https://github.com/hajicj/muscima/blob/${rev}/CHANGES.md";
48 license = licenses.mit;
49 maintainers = with maintainers; [ piegames ];
50 };
51}