1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 gunicorn,
6 hatchling,
7 httpx,
8 pytestCheckHook,
9 trustme,
10 uvicorn,
11}:
12
13buildPythonPackage rec {
14 pname = "uvicorn-worker";
15 version = "0.3.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "Kludex";
20 repo = "uvicorn-worker";
21 tag = version;
22 hash = "sha256-a5L4H1Bym5Dx9/pGL/Vz6ZO699t/1Wmc1ExIb0t/ISc=";
23 };
24
25 build-system = [ hatchling ];
26
27 dependencies = [
28 gunicorn
29 uvicorn
30 ];
31
32 nativeCheckInputs = [
33 gunicorn
34 httpx
35 pytestCheckHook
36 trustme
37 ];
38
39 preCheck = ''
40 export PATH="$PATH:$out/bin";
41 '';
42
43 pythonImportsCheck = [ "uvicorn_worker" ];
44
45 meta = {
46 description = "Uvicorn worker for Gunicorn";
47 homepage = "https://github.com/Kludex/uvicorn-worker";
48 changelog = "https://github.com/Kludex/uvicorn-worker/releases/tag/${src.tag}";
49 license = lib.licenses.bsd3;
50 maintainers = with lib.maintainers; [ fab ];
51 };
52}