1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonAtLeast,
6 pytestCheckHook,
7 hatchling,
8 typing-extensions,
9}:
10
11buildPythonPackage rec {
12 pname = "coqpit-config";
13 version = "0.2.1";
14 format = "pyproject";
15
16 src = fetchFromGitHub {
17 owner = "idiap";
18 repo = "coqui-ai-coqpit";
19 tag = "v${version}";
20 hash = "sha256-puTqaYK1j1SGqGQQsrEH9lbpcF0FzcQ8v2siUQVyHsE=";
21 };
22
23 nativeCheckInputs = [ pytestCheckHook ];
24
25 nativeBuildInputs = [
26 hatchling
27 ];
28
29 propagatedBuildInputs = [
30 typing-extensions
31 ];
32
33 pythonImportsCheck = [
34 "coqpit"
35 "coqpit.coqpit"
36 ];
37
38 # https://github.com/coqui-ai/coqpit/issues/40
39 disabledTests = lib.optionals (pythonAtLeast "3.11") [ "test_init_argparse_list_and_nested" ];
40
41 disabledTestPaths = lib.optionals (pythonAtLeast "3.11") [ "tests/test_nested_configs.py" ];
42
43 meta = with lib; {
44 description = "Simple but maybe too simple config management through python data classes";
45 longDescription = ''
46 Simple, light-weight and no dependency config handling through python data classes with to/from JSON serialization/deserialization.
47 '';
48 homepage = "https://github.com/idiap/coqui-ai-coqpit";
49 license = licenses.mit;
50 teams = [ teams.tts ];
51 };
52}