at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # Build system 7 setuptools, 8 9 # Dependencies 10 pyyaml, 11 12 # Test dependencies 13 pytestCheckHook, 14 15 sanic-testing, 16 attrs, 17 coverage, 18 msgspec, 19 pydantic, 20 pytest, 21 pytest-cov-stub, 22 pytest-asyncio, 23 tox, 24 jinja2, 25}: 26 27buildPythonPackage rec { 28 pname = "sanic-ext"; 29 version = "24.12.0"; 30 pyproject = true; 31 32 src = fetchFromGitHub { 33 owner = "sanic-org"; 34 repo = "sanic-ext"; 35 tag = "v${version}"; 36 hash = "sha256-H1tqiPQ4SwlNGj7GtB2h7noZpU+gbGXIbmRK1TSSqVA="; 37 }; 38 39 build-system = [ setuptools ]; 40 41 dependencies = [ 42 pyyaml 43 ]; 44 45 nativeCheckInputs = [ 46 pytestCheckHook 47 48 sanic-testing 49 attrs 50 coverage 51 msgspec 52 pydantic 53 pytest 54 pytest-cov-stub 55 pytest-asyncio 56 tox 57 jinja2 58 ]; 59 60 disabledTests = [ 61 "test_models[FooPydanticDataclass]" # KeyError: 'paths' 62 "test_pydantic_base_model[AlertResponsePydanticBaseModel-True]" # AssertionError: assert 'AlertPydanticBaseModel' in {'AlertResponsePydanticBaseModel': ... } 63 "test_pydantic_base_model[AlertResponsePydanticDataclass-True]" # AssertionError: assert 'AlertPydanticDataclass' in {'AlertResponsePydanticDataclass': ... } 64 ]; 65 66 pythonImportsCheck = [ "sanic_ext" ]; 67 68 meta = { 69 description = "Common, officially supported extension plugins for the Sanic web server framework"; 70 homepage = "https://github.com/sanic-org/sanic-ext/"; 71 changelog = "https://github.com/sanic-org/sanic-ext/releases/tag/${src.tag}"; 72 license = lib.licenses.mit; 73 maintainers = with lib.maintainers; [ p0lyw0lf ]; 74 }; 75}