1{
2 lib,
3 buildPythonPackage,
4 django,
5 fetchFromGitHub,
6 hatchling,
7 oracledb,
8 pytest-mypy-plugins,
9 pytest-xdist,
10 pytestCheckHook,
11 redis,
12 typing-extensions,
13}:
14
15buildPythonPackage rec {
16 pname = "django-stubs-ext";
17 version = "5.2.5";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "typeddjango";
22 repo = "django-stubs";
23 tag = version;
24 hash = "sha256-v+MlMy9XABb9gw3U6Xv+aXXF6AZuvu+OBdU5+8tE9Oo=";
25 };
26
27 postPatch = ''
28 cd ext
29 ln -s ../scripts
30 '';
31
32 build-system = [ hatchling ];
33
34 dependencies = [
35 django
36 typing-extensions
37 ];
38
39 optional-dependencies = {
40 redis = [ redis ];
41 oracle = [ oracledb ];
42 };
43
44 nativeCheckInputs = [
45 pytest-mypy-plugins
46 pytest-xdist
47 pytestCheckHook
48 ];
49
50 disabledTestPaths = [
51 # error: Skipping analyzing "django.db": module is installed, but missing library stubs or py.typed marker [import-untyped] (diff)
52 "tests/typecheck"
53 ];
54
55 # Tests are not shipped with PyPI
56
57 pythonImportsCheck = [ "django_stubs_ext" ];
58
59 meta = with lib; {
60 description = "Extensions and monkey-patching for django-stubs";
61 homepage = "https://github.com/typeddjango/django-stubs";
62 changelog = "https://github.com/typeddjango/django-stubs/releases/tag/${version}";
63 license = licenses.mit;
64 maintainers = with maintainers; [ ];
65 };
66}