1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, pyyaml
6, ruamel-yaml
7, pytestCheckHook
8}:
9
10buildPythonPackage rec {
11 pname = "hyperpyyaml";
12 version = "1.2.1";
13 format = "setuptools";
14
15 src = fetchFromGitHub {
16 owner = "speechbrain";
17 repo = "hyperpyyaml";
18 rev = "refs/tags/v${version}";
19 hash = "sha256-tC4kLJAY9MVgjWwU2Qu0rPCVDw7CjKVIciRZgYhnR9I=";
20 };
21
22 patches = [
23 # This patch is needed to comply with the newer versions of ruamel.yaml.
24 # PR to upstream this change: https://github.com/speechbrain/HyperPyYAML/pull/23
25 (fetchpatch {
26 url = "https://github.com/speechbrain/HyperPyYAML/commit/95c6133686c42764770a77429eab55f6dfe5581c.patch";
27 hash = "sha256-WrHDo17f5pYNXSSqI8t1tlAloYms9oLFup7D2qCKwWw=";
28 })
29 ];
30
31 propagatedBuildInputs = [
32 pyyaml
33 ruamel-yaml
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 ];
39
40 pythonImportsCheck = [ "hyperpyyaml" ];
41
42 meta = with lib; {
43 description = "Extensions to YAML syntax for better python interaction";
44 homepage = "https://github.com/speechbrain/HyperPyYAML";
45 changelog = "https://github.com/speechbrain/HyperPyYAML/releases/tag/v${version}";
46 license = licenses.asl20;
47 maintainers = with maintainers; [ GaetanLepage ];
48 };
49}