1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 marshmallow,
6 pytestCheckHook,
7 pythonOlder,
8 flit-core,
9}:
10
11buildPythonPackage rec {
12 pname = "marshmallow-oneofschema";
13 version = "3.2.0";
14 pyproject = true;
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchFromGitHub {
19 owner = "marshmallow-code";
20 repo = "marshmallow-oneofschema";
21 tag = version;
22 hash = "sha256-Hk36wxZV1hVqIbqDOkEDlqABRKE6s/NyA/yBEXzj/yM=";
23 };
24
25 nativeBuildInputs = [ flit-core ];
26
27 propagatedBuildInputs = [ marshmallow ];
28
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 pythonImportsCheck = [ "marshmallow_oneofschema" ];
32
33 meta = with lib; {
34 description = "Marshmallow library extension that allows schema (de)multiplexing";
35 changelog = "https://github.com/marshmallow-code/marshmallow-oneofschema/blob/${version}/CHANGELOG.rst";
36 homepage = "https://github.com/marshmallow-code/marshmallow-oneofschema";
37 license = licenses.mit;
38 maintainers = with maintainers; [ ivan-tkatchev ];
39 };
40}