git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #143112 from mweinelt/django-things
commitc619cf79ace9e6c7a2ec095cbaae37a99b7ffa1b authorMartin Weinelt <mweinelt@users.noreply.github.com> dateTue 2 Nov 2021, 18:43 (5 years ago) parentdb5bae2aacee08
18 files changed+583−53
pkgs/development/python-modules/django-filter/default.nix+13−3 pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix+55 pkgs/development/python-modules/django-js-asset/default.nix+40 pkgs/development/python-modules/django-mptt/default.nix+42 pkgs/development/python-modules/django-prometheus/default.nix+52 pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch+38 pkgs/development/python-modules/django-redis/default.nix+50 pkgs/development/python-modules/django-rq/default.nix+43 pkgs/development/python-modules/django-tables2/default.nix+46 pkgs/development/python-modules/django_taggit/default.nix → pkgs/development/python-modules/django-taggit/default.nix+18−9 pkgs/development/python-modules/django-timezone-field/default.nix+62 pkgs/development/python-modules/django_redis/default.nix−35 pkgs/development/python-modules/graphene-django/default.nix+65 pkgs/development/python-modules/markdown-include/default.nix+33 pkgs/development/python-modules/python-redis-lock/default.nix+2−2 pkgs/development/python-modules/svgwrite/default.nix+2−2 pkgs/top-level/python-aliases.nix+2 pkgs/top-level/python-packages.nix+20−2
pkgs/development/python-modules/django-filter/default.nix+13−3
@@ -7,18 +7,28 @@
77
88buildPythonPackage rec {
99 pname = "django-filter";
10− version = "2.4.0";
10+ version = "21.1";
1111
1212 src = fetchPypi {
1313 inherit pname version;
14− sha256 = "84e9d5bb93f237e451db814ed422a3a625751cbc9968b484ecc74964a8696b06";
14+ sha256 = "sha256-YyolH6jxqttLjM7/kyu1L+L4Jt19/n8+rEDlxGPWg24=";
1515 };
1616
1717 propagatedBuildInputs = [ django ];
1818
19+ pythonImportsCheck = [
20+ "django_filters"
21+ ];
22+
1923 # Tests fail (needs the 'crispy_forms' module not packaged on nixos)
2024 doCheck = false;
21− checkInputs = [ djangorestframework django mock ];
25+
26+ checkInputs = [
27+ djangorestframework
28+ django
29+ mock
30+ ];
31+
2232 checkPhase = ''
2333 runHook preCheck
2434 ${python.interpreter} runtests.py tests
pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nixnew file+55
@@ -0,0 +1,55 @@
1+{ lib
2+, buildPythonPackage
3+, pythonOlder
4+, fetchFromGitHub
5+, poetry-core
6+, django
7+, django-debug-toolbar
8+, graphene-django
9+, python
10+}:
11+
12+buildPythonPackage rec {
13+ pname = "django-graphiql-debug-toolbar";
14+ version = "0.2.0";
15+ format = "pyproject";
16+ disabled = pythonOlder "3.6";
17+
18+ src = fetchFromGitHub {
19+ owner = "flavors";
20+ repo = pname;
21+ rev = version;
22+ sha256 = "0fikr7xl786jqfkjdifymqpqnxy4qj8g3nlkgfm24wwq0za719dw";
23+ };
24+
25+ nativeBuildInputs = [
26+ poetry-core
27+ ];
28+
29+ propagatedBuildInputs = [
30+ django
31+ django-debug-toolbar
32+ graphene-django
33+ ];
34+
35+ pythonImportsCheck = [
36+ "graphiql_debug_toolbar"
37+ ];
38+
39+ DB_BACKEND = "sqlite";
40+ DB_NAME = ":memory:";
41+ DJANGO_SETTINGS_MODULE = "tests.settings";
42+
43+ checkPhase = ''
44+ runHook preCheck
45+ ${python.interpreter} -m django test tests
46+ runHook postCheck
47+ '';
48+
49+ meta = with lib; {
50+ description = "Django Debug Toolbar for GraphiQL IDE";
51+ homepage = "https://github.com/flavors/django-graphiql-debug-toolbar";
52+ license = licenses.mit;
53+ maintainers = with maintainers; [ hexa ];
54+ };
55+}
pkgs/development/python-modules/django-js-asset/default.nixnew file+40
@@ -0,0 +1,40 @@
1+{ lib
2+, buildPythonPackage
3+, fetchFromGitHub
4+, django
5+, python
6+}:
7+
8+buildPythonPackage rec {
9+ pname = "django-js-asset";
10+ version = "unstable-2021-06-07";
11+ format = "setuptools";
12+
13+ src = fetchFromGitHub {
14+ owner = "matthiask";
15+ repo = pname;
16+ rev = "a186aa0b5721ca95da6cc032a2fb780a152f581b";
17+ sha256 = "141zxng0wwxalsi905cs8pdppy3ad717y3g4fkdxw4n3pd0fjp8r";
18+ };
19+
20+ propagatedBuildInputs = [
21+ django
22+ ];
23+
24+ pythonImportsCheck = [
25+ "js_asset"
26+ ];
27+
28+ checkPhase = ''
29+ runHook preCheck
30+ ${python.interpreter} tests/manage.py test testapp
31+ runHook postCheck
32+ '';
33+
34+ meta = with lib; {
35+ description = "Script tag with additional attributes for django.forms.Media";
36+ homepage = "https://github.com/matthiask/django-js-asset";
37+ maintainers = with maintainers; [ hexa ];
38+ license = with licenses; [ bsd3 ];
39+ };
40+}
pkgs/development/python-modules/django-mptt/default.nixnew file+42
@@ -0,0 +1,42 @@
1+{ lib
2+, buildPythonPackage
3+, fetchFromGitHub
4+, django
5+, django-js-asset
6+, python
7+}:
8+
9+buildPythonPackage rec {
10+ pname = "django-mptt";
11+ version = "0.13.4";
12+ format = "setuptools";
13+
14+ src = fetchFromGitHub {
15+ owner = pname;
16+ repo = pname;
17+ rev = version;
18+ sha256 = "12y3chxhqxk2yxin055f0f45nabj0s8hil12hw0lwzlbax6k9ss6";
19+ };
20+
21+ propagatedBuildInputs = [
22+ django
23+ django-js-asset
24+ ];
25+
26+ pythonImportsCheck = [
27+ "mptt"
28+ ];
29+
30+ checkPhase = ''
31+ runHook preCheck
32+ ${python.interpreter} tests/manage.py test
33+ runHook postCheck
34+ '';
35+
36+ meta = with lib; {
37+ description = "Utilities for implementing a modified pre-order traversal tree in Django";
38+ homepage = "https://github.com/django-mptt/django-mptt";
39+ maintainers = with maintainers; [ hexa ];
40+ license = with licenses; [ mit ];
41+ };
42+}
pkgs/development/python-modules/django-prometheus/default.nixnew file+52
@@ -0,0 +1,52 @@
1+{ lib
2+, buildPythonPackage
3+, pythonOlder
4+, fetchFromGitHub
5+, prometheus-client
6+, psycopg2
7+, pytest-django
8+, pytestCheckHook
9+}:
10+
11+buildPythonPackage rec {
12+ pname = "django-prometheus";
13+ version = "2.1.0";
14+ format = "setuptools";
15+ disabled = pythonOlder "3.6";
16+
17+ src = fetchFromGitHub {
18+ owner = "korfuri";
19+ repo = pname;
20+ rev = version;
21+ sha256 = "1y1cmycc545xrys41jk8kia36hwnkwhkw26mlpfdjgb63vq30x1d";
22+ };
23+
24+ patches = [
25+ ./drop-untestable-database-backends.patch
26+ ];
27+
28+ postPatch = ''
29+ substituteInPlace setup.py \
30+ --replace '"pytest-runner"' ""
31+ '';
32+
33+ propagatedBuildInputs = [
34+ prometheus-client
35+ ];
36+
37+ pythonImportsCheck = [
38+ "django_prometheus"
39+ ];
40+
41+ checkInputs = [
42+ pytest-django
43+ pytestCheckHook
44+ ];
45+
46+ meta = with lib; {
47+ description = "Django middlewares to monitor your application with Prometheus.io";
48+ homepage = "https://github.com/korfuri/django-prometheus";
49+ license = licenses.asl20;
50+ maintainers = with maintainers; [ hexa ];
51+ };
52+}
pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patchnew file+38
@@ -0,0 +1,38 @@
1+diff --git a/django_prometheus/tests/end2end/testapp/settings.py b/django_prometheus/tests/end2end/testapp/settings.py
2+index 0630721..bd2190a 100644
3+--- a/django_prometheus/tests/end2end/testapp/settings.py
4++++ b/django_prometheus/tests/end2end/testapp/settings.py
5+@@ -53,33 +53,6 @@ DATABASES = {
6+ "ENGINE": "django_prometheus.db.backends.sqlite3",
7+ "NAME": "db.sqlite3",
8+ },
9+- # Comment this to not test django_prometheus.db.backends.postgres.
10+- "postgresql": {
11+- "ENGINE": "django_prometheus.db.backends.postgresql",
12+- "NAME": "postgres",
13+- "USER": "postgres",
14+- "PASSWORD": "",
15+- "HOST": "localhost",
16+- "PORT": "5432",
17+- },
18+- # Comment this to not test django_prometheus.db.backends.postgis.
19+- "postgis": {
20+- "ENGINE": "django_prometheus.db.backends.postgis",
21+- "NAME": "postgis",
22+- "USER": "postgres",
23+- "PASSWORD": "",
24+- "HOST": "localhost",
25+- "PORT": "5432",
26+- },
27+- # Comment this to not test django_prometheus.db.backends.mysql.
28+- "mysql": {
29+- "ENGINE": "django_prometheus.db.backends.mysql",
30+- "NAME": "django_prometheus_1",
31+- "USER": "travis",
32+- "PASSWORD": "",
33+- "HOST": "localhost",
34+- "PORT": "3306",
35+- },
36+ # The following databases are used by test_db.py only
37+ "test_db_1": {
38+ "ENGINE": "django_prometheus.db.backends.sqlite3",
pkgs/development/python-modules/django-redis/default.nixnew file+50
@@ -0,0 +1,50 @@
1+{ lib
2+, fetchFromGitHub
3+, pythonOlder
4+, buildPythonPackage
5+, django
6+, redis
7+, pytestCheckHook
8+}:
9+
10+buildPythonPackage rec {
11+ pname = "django-redis";
12+ version = "5.0.0";
13+ format = "setuptools";
14+ disabled = pythonOlder "3.6";
15+
16+ src = fetchFromGitHub {
17+ owner = "jazzband";
18+ repo = "django-redis";
19+ rev = version;
20+ sha256 = "1np10hfyg4aamlz7vav9fy80gynb1lhl2drqkbckr3gg1gbz6crj";
21+ };
22+
23+ postPatch = ''
24+ sed -i '/-cov/d' setup.cfg
25+ '';
26+
27+ propagatedBuildInputs = [
28+ django
29+ redis
30+ ];
31+
32+ pythonImportsCheck = [
33+ "django_redis"
34+ ];
35+
36+ checkInputs = [
37+ pytestCheckHook
38+ ];
39+
40+ disabledTestPaths = [
41+ "tests/test_backend.py" # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured.
42+ ];
43+
44+ meta = with lib; {
45+ description = "Full featured redis cache backend for Django";
46+ homepage = "https://github.com/jazzband/django-redis";
47+ license = licenses.bsd3;
48+ maintainers = with maintainers; [ hexa ];
49+ };
50+}
pkgs/development/python-modules/django-rq/default.nixnew file+43
@@ -0,0 +1,43 @@
1+{ lib
2+, buildPythonPackage
3+, isPy27
4+, fetchFromGitHub
5+, django
6+, redis
7+, rq
8+, sentry-sdk
9+}:
10+
11+buildPythonPackage rec {
12+ pname = "django-rq";
13+ version = "2.4.1";
14+ format = "setuptools";
15+ disabled = isPy27;
16+
17+ src = fetchFromGitHub {
18+ owner = "rq";
19+ repo = pname;
20+ rev = "v${version}";
21+ sha256 = "1dy3mhj60xlqy7f65zh80sqn6qywsp697r6yy3jcl5wmwizzhybr";
22+ };
23+
24+ propagatedBuildInputs = [
25+ django
26+ redis
27+ rq
28+ sentry-sdk
29+ ];
30+
31+ pythonImportsCheck = [
32+ "django_rq"
33+ ];
34+
35+ doCheck = false; # require redis-server
36+
37+ meta = with lib; {
38+ description = "Simple app that provides django integration for RQ (Redis Queue)";
39+ homepage = "https://github.com/rq/django-rq";
40+ license = licenses.mit;
41+ maintainers = with maintainers; [ hexa ];
42+ };
43+}
pkgs/development/python-modules/django-tables2/default.nixnew file+46
@@ -0,0 +1,46 @@
1+{ lib
2+, buildPythonPackage
3+, pythonOlder
4+, fetchFromGitHub
5+, django
6+, tablib
7+, django-filter
8+, python
9+}:
10+
11+buildPythonPackage rec {
12+ pname = "django-tables2";
13+ version = "2.4.1";
14+ format = "setuptools";
15+ disabled = pythonOlder "3.6";
16+
17+ src = fetchFromGitHub {
18+ owner = "jieter";
19+ repo = pname;
20+ rev = "v${version}";
21+ sha256 = "04vvgf18diwp0mgp14b71a0dxhgrcslv1ljybi300gvzvzjnp3qv";
22+ };
23+
24+ propagatedBuildInputs = [
25+ django
26+ tablib
27+ ];
28+
29+ pythonImportsCheck = [
30+ # Requested setting DJANGO_TABLES2_TEMPLATE, but settings are not configured.
31+ ];
32+
33+ doCheck = false; # needs django-boostrap{3,4} packages
34+
35+ # Leave this in! Discovering how to run tests is annoying in Django apps
36+ checkPhase = ''
37+ ${python.interpreter} example/manage.py test
38+ '';
39+
40+ meta = with lib; {
41+ description = "Django app for creating HTML tables";
42+ homepage = "https://github.com/jieter/django-tables2";
43+ license = licenses.bsd2;
44+ maintainers = with maintainers; [ hexa ];
45+ };
46+}
pkgs/development/python-modules/django_taggit/default.nix → pkgs/development/python-modules/django-taggit/default.nixrenamed+18−9
@@ -1,28 +1,37 @@
11{ lib
22, buildPythonPackage
3−, python
4−, fetchPypi
53, pythonOlder
4+, fetchPypi
65, django
76, djangorestframework
87, mock
98, isort
10−, isPy3k
9+, python
1110}:
1211
1312buildPythonPackage rec {
1413 pname = "django-taggit";
1514 version = "1.5.1";
16− disabled = !isPy3k;
15+ format = "setuptools";
16+ disabled = pythonOlder "3.6";
1717
1818 src = fetchPypi {
1919 inherit pname version;
2020 sha256 = "e5bb62891f458d55332e36a32e19c08d20142c43f74bc5656c803f8af25c084a";
2121 };
2222
23− propagatedBuildInputs = [ isort django djangorestframework ];
23+ propagatedBuildInputs = [
24+ django
25+ ];
26+
27+ pythonImportsCheck = [
28+ "taggit"
29+ ];
30+
31+ checkInputs = [
32+ djangorestframework
33+ ];
2434
25− checkInputs = [ mock ];
2635 checkPhase = ''
2736 # prove we're running tests against installed package, not build dir
2837 rm -r taggit
@@ -33,9 +42,9 @@ buildPythonPackage rec {
3342 '';
3443
3544 meta = with lib; {
36− description = "django-taggit is a reusable Django application for simple tagging";
37− homepage = "https://github.com/alex/django-taggit/tree/master/";
38− license = licenses.bsd2;
45+ description = "Simple tagging for django";
46+ homepage = "https://github.com/jazzband/django-taggit";
47+ license = licenses.bsd3;
3948 maintainers = with maintainers; [ desiderius ];
4049 };
4150
pkgs/development/python-modules/django-timezone-field/default.nixnew file+62
@@ -0,0 +1,62 @@
1+{ lib
2+, buildPythonPackage
3+, pythonOlder
4+, fetchFromGitHub
5+, poetry-core
6+, django
7+, djangorestframework
8+, pytz
9+, pytest
10+, pytest-lazy-fixture
11+, python
12+}:
13+
14+buildPythonPackage rec {
15+ pname = "django-timezone-field";
16+ version = "4.2.1";
17+ format = "setuptools";
18+ disabled = pythonOlder "3.5";
19+
20+ src = fetchFromGitHub {
21+ owner = "mfogel";
22+ repo = pname;
23+ rev = version;
24+ sha256 = "0swld4168pfhppr9q3i9r062l832cmmx792kkvlcvxfbdhk6qz9h";
25+ };
26+
27+ nativeBuildInputs = [
28+ poetry-core
29+ ];
30+
31+ propagatedBuildInputs = [
32+ django
33+ djangorestframework
34+ pytz
35+ ];
36+
37+ pythonImportsCheck = [
38+ "timezone_field"
39+ ];
40+
41+ # Uses pytest.lazy_fixture directly which is broken in pytest-lazy-fixture
42+ # https://github.com/TvoroG/pytest-lazy-fixture/issues/22
43+ doCheck = false;
44+
45+ DJANGO_SETTINGS_MODULE = "tests.settings";
46+
47+ checkInputs = [
48+ pytest
49+ pytest-lazy-fixture
50+ ];
51+
52+ checkPhase = ''
53+ ${python.interpreter} -m django test
54+ '';
55+
56+ meta = with lib; {
57+ description = "Django app providing database, form and serializer fields for pytz timezone objects";
58+ homepage = "https://github.com/mfogel/django-timezone-field";
59+ license = licenses.bsd2;
60+ maintainers = with maintainers; [ hexa ];
61+ };
62+}
pkgs/development/python-modules/django_redis/default.nixdeleted−35
@@ -1,35 +0,0 @@
1−{ lib
2−, fetchPypi
3−, buildPythonPackage
4−, mock
5−, django
6−, redis
7−, msgpack
8−}:
9−buildPythonPackage rec {
10− pname = "django-redis";
11− version = "5.0.0";
12−
13− src = fetchPypi {
14− inherit pname version;
15− sha256 = "048f665bbe27f8ff2edebae6aa9c534ab137f1e8fa7234147ef470df3f3aa9b8";
16− };
17−
18− propagatedBuildInputs = [
19− django
20− redis
21− msgpack
22− ];
23−
24− # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
25− doCheck = false;
26−
27− pythonImportsCheck = [ "django_redis" ];
28−
29− meta = with lib; {
30− description = "Full featured redis cache backend for Django";
31− homepage = "https://github.com/niwibe/django-redis";
32− license = licenses.bsd3;
33− maintainers = with maintainers; [ ];
34− };
35−}
pkgs/development/python-modules/graphene-django/default.nixnew file+65
@@ -0,0 +1,65 @@
1+{ lib
2+, buildPythonPackage
3+, pythonOlder
4+, fetchFromGitHub
5+
6+, graphene
7+, graphql-core
8+, django
9+, djangorestframework
10+, promise
11+, text-unidecode
12+
13+, django-filter
14+, mock
15+, pytest-django
16+, pytest-random-order
17+, pytestCheckHook
18+}:
19+
20+buildPythonPackage rec {
21+ pname = "graphene-django";
22+ version = "unstable-2021-06-11";
23+ format = "setuptools";
24+ disabled = pythonOlder "3.6";
25+
26+ src = fetchFromGitHub {
27+ owner = "graphql-python";
28+ repo = pname;
29+ rev = "e7f7d8da07ba1020f9916153f17e97b0ec037712";
30+ sha256 = "0b33q1im90ahp3gzy9wx5amfzy6q57ydjpy5rn988gh81hbyqaxv";
31+ };
32+
33+ postPatch = ''
34+ substituteInPlace setup.py \
35+ --replace '"pytest-runner"' ""
36+ '';
37+
38+ propagatedBuildInputs = [
39+ djangorestframework
40+ graphene
41+ graphql-core
42+ django
43+ promise
44+ text-unidecode
45+ ];
46+
47+ preCheck = ''
48+ export DJANGO_SETTINGS_MODULE=examples.django_test_settings
49+ '';
50+
51+ checkInputs = [
52+ django-filter
53+ mock
54+ pytest-django
55+ pytest-random-order
56+ pytestCheckHook
57+ ];
58+
59+ meta = with lib; {
60+ description = "Integrate GraphQL into your Django project";
61+ homepage = "https://github.com/graphql-python/graphene-django";
62+ license = licenses.mit;
63+ maintainers = with maintainers; [ hexa ];
64+ };
65+}
pkgs/development/python-modules/markdown-include/default.nixnew file+33
@@ -0,0 +1,33 @@
1+{ lib
2+, buildPythonPackage
3+, fetchPypi
4+, markdown
5+}:
6+
7+buildPythonPackage rec {
8+ pname = "markdown-include";
9+ version = "0.6.0";
10+ format = "setuptools";
11+
12+ src = fetchPypi {
13+ inherit pname version;
14+ sha256 = "18p4qfhazvskcg6xsdv1np8m1gc1llyabp311xzhqy7p6q76hpbg";
15+ };
16+
17+ propagatedBuildInputs = [
18+ markdown
19+ ];
20+
21+ pythonImportsCheck = [
22+ "markdown_include"
23+ ];
24+
25+ doCheck = false; # no tests
26+
27+ meta = with lib; {
28+ description = "Extension to Python-Markdown which provides an include function";
29+ homepage = "https://github.com/cmacmackin/markdown-include";
30+ license = licenses.gpl3Plus;
31+ maintainers = with maintainers; [ hexa ];
32+ };
33+}
pkgs/development/python-modules/python-redis-lock/default.nix+2−2
@@ -6,7 +6,7 @@
66, pytestCheckHook
77, process-tests
88, pkgs
9−, withDjango ? false, django_redis
9+, withDjango ? false, django-redis
1010}:
1111
1212buildPythonPackage rec {
@@ -20,7 +20,7 @@ buildPythonPackage rec {
2020
2121 propagatedBuildInputs = [
2222 redis
23− ] ++ lib.optional withDjango django_redis;
23+ ] ++ lib.optional withDjango django-redis;
2424
2525 checkInputs = [
2626 pytestCheckHook
pkgs/development/python-modules/svgwrite/default.nix+2−2
@@ -8,13 +8,13 @@
88
99buildPythonPackage rec {
1010 pname = "svgwrite";
11− version = "1.4";
11+ version = "1.4.1";
1212
1313 src = fetchFromGitHub {
1414 owner = "mozman";
1515 repo = "svgwrite";
1616 rev = "v${version}";
17− sha256 = "15xjz5b4dw1sg3a5k4wmzky4h5v1n937id8vl6hha1a2xj42z2s5";
17+ sha256 = "sha256-d//ZUFb5yj51uD1fb6yJJROaQ2MLyfA3Pa84TblqLNk=";
1818 };
1919
2020 # svgwrite requires Python 3.6 or newer
pkgs/top-level/python-aliases.nix+2
@@ -44,6 +44,8 @@ mapAliases ({
4444 diff_cover = diff-cover; # added 2021-07-02
4545 discogs_client = discogs-client; # added 2021-07-02
4646 djangorestframework-jwt = drf-jwt; # added 2021-07-20
47+ django_redis = django-redis; # added 2021-10-11
48+ django_taggit = django-taggit; # added 2021-10-11
4749 dns = dnspython; # added 2017-12-10
4850 dogpile_cache = dogpile-cache; # added 2021-10-28
4951 faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12
pkgs/top-level/python-packages.nix+20−2
@@ -2124,6 +2124,8 @@ in {
21242124
21252125 django-formtools = callPackage ../development/python-modules/django-formtools { };
21262126
2127+ django-graphiql-debug-toolbar = callPackage ../development/python-modules/django-graphiql-debug-toolbar { };
2128+
21272129 django-gravatar2 = callPackage ../development/python-modules/django-gravatar2 { };
21282130
21292131 django_guardian = callPackage ../development/python-modules/django_guardian { };
@@ -2139,6 +2141,8 @@ in {
21392141
21402142 django-jinja = callPackage ../development/python-modules/django-jinja2 { };
21412143
2144+ django-js-asset = callPackage ../development/python-modules/django-js-asset { };
2145+
21422146 django-logentry-admin = callPackage ../development/python-modules/django-logentry-admin { };
21432147
21442148 django-mailman3 = callPackage ../development/python-modules/django-mailman3 { };
@@ -2149,6 +2153,8 @@ in {
21492153
21502154 django-maintenance-mode = callPackage ../development/python-modules/django-maintenance-mode { };
21512155
2156+ django-mptt = callPackage ../development/python-modules/django-mptt { };
2157+
21522158 django_nose = callPackage ../development/python-modules/django_nose { };
21532159
21542160 django-oauth-toolkit = callPackage ../development/python-modules/django-oauth-toolkit { };
@@ -2163,6 +2169,8 @@ in {
21632169
21642170 django-postgresql-netfields = callPackage ../development/python-modules/django-postgresql-netfields { };
21652171
2172+ django-prometheus = callPackage ../development/python-modules/django-prometheus { };
2173+
21662174 django-q = callPackage ../development/python-modules/django-q { };
21672175
21682176 djangoql = callPackage ../development/python-modules/djangoql { };
@@ -2171,10 +2179,12 @@ in {
21712179
21722180 django-raster = callPackage ../development/python-modules/django-raster { };
21732181
2174− django_redis = callPackage ../development/python-modules/django_redis { };
2182+ django-redis = callPackage ../development/python-modules/django-redis { };
21752183
21762184 django-rest-auth = callPackage ../development/python-modules/django-rest-auth { };
21772185
2186+ django-rq = callPackage ../development/python-modules/django-rq { };
2187+
21782188 djangorestframework = callPackage ../development/python-modules/djangorestframework { };
21792189
21802190 djangorestframework-simplejwt = callPackage ../development/python-modules/djangorestframework-simplejwt { };
@@ -2197,9 +2207,13 @@ in {
21972207
21982208 django-storages = callPackage ../development/python-modules/django-storages { };
21992209
2210+ django-tables2 = callPackage ../development/python-modules/django-tables2 { };
2211+
22002212 django_tagging = callPackage ../development/python-modules/django_tagging { };
22012213
2202− django_taggit = callPackage ../development/python-modules/django_taggit { };
2214+ django-taggit = callPackage ../development/python-modules/django-taggit { };
2215+
2216+ django-timezone-field = callPackage ../development/python-modules/django-timezone-field { };
22032217
22042218 django_treebeard = callPackage ../development/python-modules/django_treebeard { };
22052219
@@ -3279,6 +3293,8 @@ in {
32793293
32803294 graphene = callPackage ../development/python-modules/graphene { };
32813295
3296+ graphene-django = callPackage ../development/python-modules/graphene-django { };
3297+
32823298 graphqlclient= callPackage ../development/python-modules/graphqlclient { };
32833299
32843300 graphql-core = callPackage ../development/python-modules/graphql-core { };
@@ -4571,6 +4587,8 @@ in {
45714587
45724588 markdown = callPackage ../development/python-modules/markdown { };
45734589
4590+ markdown-include = callPackage ../development/python-modules/markdown-include { };
4591+
45744592 markdown-it-py = callPackage ../development/python-modules/markdown-it-py { };
45754593
45764594 markdown-macros = callPackage ../development/python-modules/markdown-macros { };