1{
2 lib,
3 attrs,
4 bidict,
5 bitstruct,
6 buildPythonPackage,
7 fetchFromGitHub,
8 fetchpatch,
9 more-itertools,
10 pendulum,
11 poetry-core,
12 pprintpp,
13 pythonOlder,
14 tbm-utils,
15}:
16
17buildPythonPackage rec {
18 pname = "audio-metadata";
19 version = "0.11.1";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "thebigmunch";
26 repo = "audio-metadata";
27 tag = version;
28 hash = "sha256-5ZX4HwbuB9ZmFfHuxaMCrn3R7/znuDsoyqqLql2Nizg=";
29 };
30
31 patches = [
32 # Switch to poetry-core, https://github.com/thebigmunch/audio-metadata/pull/41
33 (fetchpatch {
34 name = "switch-to-poetry-core.patch";
35 url = "https://github.com/thebigmunch/audio-metadata/commit/dfe91a69ee37e9dcefb692165eb0f9cd36a7e5b8.patch";
36 hash = "sha256-ut3mqgZQu0YFbsTEA13Ch0+aSNl17ndMV0fuIu3n5tc=";
37 })
38 ];
39
40 pythonRelaxDeps = [
41 "attrs"
42 "more-itertools"
43 "pendulum"
44 ];
45
46 build-system = [ poetry-core ];
47
48 dependencies = [
49 attrs
50 bidict
51 bitstruct
52 more-itertools
53 pendulum
54 pprintpp
55 tbm-utils
56 ];
57
58 # Tests require ward which is not ready to be used
59 doCheck = false;
60
61 pythonImportsCheck = [ "audio_metadata" ];
62
63 meta = with lib; {
64 description = "Library for handling the metadata from audio files";
65 homepage = "https://github.com/thebigmunch/audio-metadata";
66 changelog = "https://github.com/thebigmunch/audio-metadata/blob/${version}/CHANGELOG.md";
67 license = licenses.mit;
68 maintainers = with maintainers; [ jakewaksbaum ];
69 };
70}