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