1{ lib
2, fetchFromGitHub
3, pythonOlder
4, buildPythonPackage
5, python
6, hatchling
7, django
8, jinja2
9, sqlparse
10, html5lib
11}:
12
13buildPythonPackage rec {
14 pname = "django-debug-toolbar";
15 version = "4.2";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "jazzband";
22 repo = pname;
23 rev = "refs/tags/${version}";
24 hash = "sha256-hPO2q3V69kpyahav4cgUHz/3WLxXnZYCyWGetyNS+2Q=";
25 };
26
27 nativeBuildInputs = [
28 hatchling
29 ];
30
31 propagatedBuildInputs = [
32 django
33 jinja2
34 sqlparse
35 ];
36
37 DB_BACKEND = "sqlite3";
38 DB_NAME = ":memory:";
39 TEST_ARGS = "tests";
40 DJANGO_SETTINGS_MODULE = "tests.settings";
41
42 nativeCheckInputs = [
43 html5lib
44 ];
45
46 checkPhase = ''
47 runHook preCheck
48 ${python.interpreter} -m django test ${TEST_ARGS}
49 runHook postCheck
50 '';
51
52 pythonImportsCheck = [
53 "debug_toolbar"
54 ];
55
56 meta = with lib; {
57 description = "Configurable set of panels that display debug information about the current request/response";
58 homepage = "https://github.com/jazzband/django-debug-toolbar";
59 changelog = "https://django-debug-toolbar.readthedocs.io/en/latest/changes.html";
60 license = licenses.bsd3;
61 maintainers = with maintainers; [ yuu ];
62 };
63}