1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 nose2,
6 typing-extensions,
7}:
8
9buildPythonPackage rec {
10 pname = "dataclass-factory";
11 version = "2.16";
12 format = "setuptools";
13
14 src = fetchFromGitHub {
15 owner = "reagento";
16 repo = "dataclass-factory";
17 rev = version;
18 hash = "sha256-0BIWgyAV1hJzFX4xYFqswvQi5F1Ce+V9FKSmNYuJfZM=";
19 };
20
21 nativeCheckInputs = [ nose2 ];
22
23 checkInputs = [ typing-extensions ];
24
25 pythonImportsCheck = [ "dataclass_factory" ];
26
27 checkPhase = ''
28 runHook preCheck
29
30 nose2 -v tests
31
32 runHook postCheck
33 '';
34
35 meta = with lib; {
36 description = "Modern way to convert python dataclasses or other objects to and from more common types like dicts or json-like structures";
37 homepage = "https://github.com/reagento/dataclass-factory";
38 changelog = "https://github.com/reagento/dataclass-factory/releases/tag/${src.rev}";
39 license = licenses.asl20;
40 maintainers = with maintainers; [ figsoda ];
41 };
42}