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