1{
2 lib,
3 buildPythonPackage,
4 dpath,
5 fetchFromGitHub,
6 plac,
7 poetry-core,
8 pytestCheckHook,
9 pythonOlder,
10 pyyaml,
11}:
12
13buildPythonPackage rec {
14 pname = "yte";
15 version = "1.5.4";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "koesterlab";
22 repo = "yte";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-Rm3EKxRZCdYErkyWK9+fF2W7C+v5/MXD/LkehmB6UNQ=";
25 };
26
27 nativeBuildInputs = [ poetry-core ];
28
29 propagatedBuildInputs = [
30 dpath
31 plac
32 pyyaml
33 ];
34
35 nativeCheckInputs = [ pytestCheckHook ];
36
37 pythonImportsCheck = [ "yte" ];
38
39 pytestFlagsArray = [ "tests.py" ];
40
41 preCheck = ''
42 # The CLI test need yte on the PATH
43 export PATH=$out/bin:$PATH
44 '';
45
46 meta = with lib; {
47 description = "YAML template engine with Python expressions";
48 mainProgram = "yte";
49 homepage = "https://github.com/koesterlab/yte";
50 changelog = "https://github.com/yte-template-engine/yte/blob/v${version}/CHANGELOG.md";
51 license = with licenses; [ mit ];
52 maintainers = with maintainers; [ fab ];
53 };
54}