lol

python3Packages.fastapi: 0.95.2 -> 0.103.1

+47 -28
+47 -28
pkgs/development/python-modules/fastapi/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 + , pythonOlder 5 + 6 + # build-system 7 + , hatchling 8 + 9 + # dependencies 10 + , starlette 4 11 , pydantic 5 - , starlette 6 - , pytestCheckHook 7 - , pytest-asyncio 8 - , aiosqlite 9 - , databases 12 + , typing-extensions 13 + 14 + # tests 15 + , dirty-equals 10 16 , flask 11 - , httpx 12 - , hatchling 13 - , orjson 14 17 , passlib 15 - , peewee 18 + , pytest-asyncio 19 + , pytestCheckHook 16 20 , python-jose 17 21 , sqlalchemy 18 22 , trio 19 - , pythonOlder 23 + 24 + # optional-dependencies 25 + , httpx 26 + , jinja2 27 + , python-multipart 28 + , itsdangerous 29 + , pyyaml 30 + , ujson 31 + , orjson 32 + , email-validator 33 + , uvicorn 20 34 }: 21 35 22 36 buildPythonPackage rec { 23 37 pname = "fastapi"; 24 - version = "0.95.2"; 38 + version = "0.103.1"; 25 39 format = "pyproject"; 26 40 27 41 disabled = pythonOlder "3.7"; ··· 30 44 owner = "tiangolo"; 31 45 repo = pname; 32 46 rev = "refs/tags/${version}"; 33 - hash = "sha256-wD39CqUZOgwpG/NEGz/pXgQsadzUoM/elxfEXthOlHo="; 47 + hash = "sha256-2J8c3S4Ca+c5bI0tyjMJArJKux9qPmu+ohqve5PhSGI="; 34 48 }; 35 49 36 50 nativeBuildInputs = [ 37 51 hatchling 38 52 ]; 39 53 40 - postPatch = '' 41 - substituteInPlace pyproject.toml \ 42 - --replace '"databases[sqlite] >=0.3.2,<0.7.0",' "" \ 43 - --replace "starlette==" "starlette>=" 44 - ''; 45 - 46 54 propagatedBuildInputs = [ 47 55 starlette 48 56 pydantic 57 + typing-extensions 49 58 ]; 50 59 60 + passthru.optional-dependencies.all = [ 61 + httpx 62 + jinja2 63 + python-multipart 64 + itsdangerous 65 + pyyaml 66 + ujson 67 + orjson 68 + email-validator 69 + uvicorn 70 + # pydantic-settings 71 + # pydantic-extra-types 72 + ] ++ uvicorn.optional-dependencies.standard; 73 + 51 74 nativeCheckInputs = [ 52 - aiosqlite 53 - # databases FIXME incompatible with SQLAlchemy 2.0 75 + dirty-equals 54 76 flask 55 - httpx 56 - orjson 57 77 passlib 58 - peewee 59 - python-jose 60 78 pytestCheckHook 61 79 pytest-asyncio 62 - sqlalchemy 80 + python-jose 63 81 trio 64 - ] 65 - ++ passlib.optional-dependencies.bcrypt 66 - ++ pydantic.optional-dependencies.email; 82 + sqlalchemy 83 + ] ++ passthru.optional-dependencies.all; 67 84 68 85 pytestFlagsArray = [ 69 86 # ignoring deprecation warnings to avoid test failure from ··· 92 109 "test_trace" 93 110 # Unexpected number of warnings caught 94 111 "test_warn_duplicate_operation_id" 112 + # assert state["except"] is True 113 + "test_dependency_gets_exception" 95 114 ]; 96 115 97 116 pythonImportsCheck = [