ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / fastapi / default.nix
blobf42188fb13ee578c4d46de73014f96a9e33d9006
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pydantic
5 , starlette
6 , pytestCheckHook
7 , pytest-asyncio
8 , aiosqlite
9 , databases
10 , flask
11 , httpx
12 , hatchling
13 , orjson
14 , passlib
15 , peewee
16 , python-jose
17 , sqlalchemy
18 , trio
19 , pythonOlder
22 buildPythonPackage rec {
23   pname = "fastapi";
24   version = "0.85.2";
25   format = "pyproject";
27   disabled = pythonOlder "3.7";
29   src = fetchFromGitHub {
30     owner = "tiangolo";
31     repo = pname;
32     rev = "refs/tags/${version}";
33     hash = "sha256-j3Set+xWNcRqbn90DJOJQhMrJYI3msvWHlFvN1habP0=";
34   };
36   nativeBuildInputs = [
37     hatchling
38   ];
40   postPatch = ''
41     substituteInPlace pyproject.toml \
42       --replace "starlette==" "starlette>="
43   '';
45   propagatedBuildInputs = [
46     starlette
47     pydantic
48   ];
50   checkInputs = [
51     aiosqlite
52     databases
53     flask
54     httpx
55     orjson
56     passlib
57     peewee
58     python-jose
59     pytestCheckHook
60     pytest-asyncio
61     sqlalchemy
62     trio
63   ] ++ passlib.optional-dependencies.bcrypt;
65   pytestFlagsArray = [
66     # ignoring deprecation warnings to avoid test failure from
67     # tests/test_tutorial/test_testing/test_tutorial001.py
68     "-W ignore::DeprecationWarning"
69   ];
71   disabledTestPaths = [
72     # Disabled tests require orjson which requires rust nightly
73     "tests/test_default_response_class.py"
74     # Don't test docs and examples
75     "docs_src"
76   ];
78   disabledTests = [
79     "test_get_custom_response"
80     # Failed: DID NOT RAISE <class 'starlette.websockets.WebSocketDisconnect'>
81     "test_websocket_invalid_data"
82     "test_websocket_no_credentials"
83     # TypeError: __init__() missing 1...starlette-releated
84     "test_head"
85     "test_options"
86     "test_trace"
87   ];
89   pythonImportsCheck = [
90     "fastapi"
91   ];
93   meta = with lib; {
94     description = "Web framework for building APIs";
95     homepage = "https://github.com/tiangolo/fastapi";
96     license = licenses.mit;
97     maintainers = with maintainers; [ wd15 ];
98   };