1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, aniso8601
6, jsonschema
7, flask
8, importlib-resources
9, werkzeug
10, pytz
11, faker
12, mock
13, blinker
14, py
15, pytest-flask
16, pytest-mock
17, pytest-benchmark
18, pytestCheckHook
19}:
20
21buildPythonPackage rec {
22 pname = "flask-restx";
23 version = "1.2.0";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.8";
27
28 # Tests not included in PyPI tarball
29 src = fetchFromGitHub {
30 owner = "python-restx";
31 repo = pname;
32 rev = "refs/tags/${version}";
33 hash = "sha256-9o0lgDtjsZta9fVJnD02In6wvxNwPA667WeIkpRv8Z4=";
34 };
35
36 propagatedBuildInputs = [
37 aniso8601
38 flask
39 importlib-resources
40 jsonschema
41 pytz
42 werkzeug
43 ];
44
45 nativeCheckInputs = [
46 blinker
47 faker
48 mock
49 py
50 pytest-benchmark
51 pytest-flask
52 pytest-mock
53 pytestCheckHook
54 ];
55
56 pytestFlagsArray = [
57 "--benchmark-disable"
58 "--deselect=tests/test_inputs.py::URLTest::test_check"
59 "--deselect=tests/test_inputs.py::EmailTest::test_valid_value_check"
60 "--deselect=tests/test_logging.py::LoggingTest::test_override_app_level"
61 ];
62
63 disabledTests = [
64 # broken in werkzeug 2.3 upgrade
65 "test_media_types_method"
66 "test_media_types_q"
67 ];
68
69 pythonImportsCheck = [
70 "flask_restx"
71 ];
72
73 meta = with lib; {
74 description = "Fully featured framework for fast, easy and documented API development with Flask";
75 homepage = "https://github.com/python-restx/flask-restx";
76 changelog = "https://github.com/python-restx/flask-restx/blob/${version}/CHANGELOG.rst";
77 license = licenses.bsd3;
78 maintainers = [ maintainers.marsam ];
79 };
80}