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