1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, flask
6, marshmallow
7, packaging
8, pytestCheckHook
9, flask-sqlalchemy
10, marshmallow-sqlalchemy
11}:
12
13buildPythonPackage rec {
14 pname = "flask-marshmallow";
15 version = "0.15.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "marshmallow-code";
22 repo = "flask-marshmallow";
23 rev = "refs/tags/${version}";
24 hash = "sha256-N21M/MzcvOaDh5BgbbZtNcpRAULtWGLTMberCfOUoEM=";
25 };
26
27 propagatedBuildInputs = [
28 flask
29 marshmallow
30 packaging
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 ] ++ passthru.optional-dependencies.sqlalchemy;
36
37 pythonImportsCheck = [
38 "flask_marshmallow"
39 ];
40
41 passthru.optional-dependencies = {
42 sqlalchemy = [
43 flask-sqlalchemy
44 marshmallow-sqlalchemy
45 ];
46 };
47
48 meta = {
49 description = "Flask + marshmallow for beautiful APIs";
50 homepage = "https://github.com/marshmallow-code/flask-marshmallow";
51 changelog = "https://github.com/marshmallow-code/flask-marshmallow/releases/tag/${version}";
52 license = lib.licenses.mit;
53 maintainers = with lib.maintainers; [ nickcao ];
54 };
55}