1{
2 lib,
3 buildPythonPackage,
4 defusedxml,
5 fetchFromGitHub,
6 lxml,
7 poetry-core,
8 pytestCheckHook,
9 pythonOlder,
10 xmldiff,
11}:
12
13buildPythonPackage rec {
14 pname = "py-serializable";
15 version = "2.1.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "madpah";
22 repo = "serializable";
23 tag = "v${version}";
24 hash = "sha256-nou1/80t9d2iKOdZZbcN4SI3dlvuC8T55KMCP/cDEEU=";
25 };
26
27 build-system = [ poetry-core ];
28
29 pythonRelaxDeps = [ "defusedxml" ];
30
31 dependencies = [ defusedxml ];
32
33 nativeCheckInputs = [
34 lxml
35 pytestCheckHook
36 xmldiff
37 ];
38
39 pythonImportsCheck = [ "py_serializable" ];
40
41 disabledTests = [
42 # AssertionError: '<ns0[155 chars]itle>The Phoenix
43 "test_serializable_no_defaultNS"
44 "test_serializable_with_defaultNS"
45 ];
46
47 meta = with lib; {
48 description = "Library to aid with serialisation and deserialisation to/from JSON and XML";
49 homepage = "https://github.com/madpah/serializable";
50 changelog = "https://github.com/madpah/serializable/blob/${src.tag}/CHANGELOG.md";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ fab ];
53 };
54}