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