Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 89 lines 1.6 kB view raw
1{ 2 lib, 3 aiosqlite, 4 anyio, 5 asgi-lifespan, 6 async-timeout, 7 buildPythonPackage, 8 daphne, 9 fastapi, 10 fetchFromGitHub, 11 granian, 12 httpx, 13 portend, 14 psutil, 15 pytest-asyncio, 16 pytestCheckHook, 17 setuptools, 18 sqlalchemy, 19 starlette, 20 tenacity, 21 testcontainers, 22 uvicorn, 23}: 24 25buildPythonPackage rec { 26 pname = "sse-starlette"; 27 version = "3.2.0"; 28 pyproject = true; 29 30 src = fetchFromGitHub { 31 owner = "sysid"; 32 repo = "sse-starlette"; 33 tag = "v${version}"; 34 hash = "sha256-SqYLwbl+AyeqgYIwAd/Z39BSPXaYSXMnM6DAGUv3vQ8="; 35 }; 36 37 build-system = [ setuptools ]; 38 39 dependencies = [ 40 anyio 41 ]; 42 43 optional-dependencies = { 44 daphne = [ daphne ]; 45 examples = [ 46 aiosqlite 47 fastapi 48 sqlalchemy 49 starlette 50 uvicorn 51 ] 52 ++ sqlalchemy.optional-dependencies.asyncio; 53 granian = [ granian ]; 54 uvicorn = [ uvicorn ]; 55 }; 56 57 nativeCheckInputs = [ 58 asgi-lifespan 59 async-timeout 60 fastapi 61 httpx 62 portend 63 psutil 64 pytest-asyncio 65 pytestCheckHook 66 tenacity 67 testcontainers 68 uvicorn 69 ]; 70 71 pythonImportsCheck = [ "sse_starlette" ]; 72 73 disabledTests = [ 74 # AssertionError 75 "test_stop_server_with_many_consumers" 76 # require docker 77 "test_sse_server_termination" 78 ]; 79 80 __darwinAllowLocalNetworking = true; 81 82 meta = { 83 description = "Server Sent Events for Starlette and FastAPI"; 84 homepage = "https://github.com/sysid/sse-starlette"; 85 changelog = "https://github.com/sysid/sse-starlette/blob/${src.tag}/CHANGELOG.md"; 86 license = lib.licenses.bsd3; 87 maintainers = with lib.maintainers; [ fab ]; 88 }; 89}