1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, typing-inspect
5, marshmallow-enum
6, hypothesis
7, mypy
8, pytestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "dataclasses-json";
13 version = "0.5.7";
14
15 src = fetchFromGitHub {
16 owner = "lidatong";
17 repo = pname;
18 rev = "v${version}";
19 sha256 = "1xv9br6mm5pcwfy10ykbc1c0n83fqyj1pa81z272kqww7wpkkp6j";
20 };
21
22 propagatedBuildInputs = [
23 typing-inspect
24 marshmallow-enum
25 ];
26
27 checkInputs = [
28 hypothesis
29 mypy
30 pytestCheckHook
31 ];
32
33 disabledTests = [
34 # mypy_main(None, text_io, text_io, [__file__], clean_exit=True)
35 # TypeError: main() takes at most 4 arguments (5 given)
36 "test_type_hints"
37 ];
38
39 pythonImportsCheck = [ "dataclasses_json" ];
40
41 meta = with lib; {
42 description = "Simple API for encoding and decoding dataclasses to and from JSON";
43 homepage = "https://github.com/lidatong/dataclasses-json";
44 license = licenses.mit;
45 maintainers = with maintainers; [ albakham ];
46 };
47}