diff --git a/pkgs/development/python-modules/django-filter/default.nix b/pkgs/development/python-modules/django-filter/default.nix index 00c260946cce..04867adab450 100644 --- a/pkgs/development/python-modules/django-filter/default.nix +++ b/pkgs/development/python-modules/django-filter/default.nix @@ -7,18 +7,28 @@ buildPythonPackage rec { pname = "django-filter"; - version = "2.4.0"; + version = "21.1"; src = fetchPypi { inherit pname version; - sha256 = "84e9d5bb93f237e451db814ed422a3a625751cbc9968b484ecc74964a8696b06"; + sha256 = "sha256-YyolH6jxqttLjM7/kyu1L+L4Jt19/n8+rEDlxGPWg24="; }; propagatedBuildInputs = [ django ]; + pythonImportsCheck = [ + "django_filters" + ]; + # Tests fail (needs the 'crispy_forms' module not packaged on nixos) doCheck = false; - checkInputs = [ djangorestframework django mock ]; + + checkInputs = [ + djangorestframework + django + mock + ]; + checkPhase = '' runHook preCheck ${python.interpreter} runtests.py tests diff --git a/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix b/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix new file mode 100644 index 000000000000..26a82254a7a6 --- /dev/null +++ b/pkgs/development/python-modules/django-graphiql-debug-toolbar/default.nix @@ -0,0 +1,55 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, poetry-core +, django +, django-debug-toolbar +, graphene-django +, python +}: + +buildPythonPackage rec { + pname = "django-graphiql-debug-toolbar"; + version = "0.2.0"; + format = "pyproject"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "flavors"; + repo = pname; + rev = version; + sha256 = "0fikr7xl786jqfkjdifymqpqnxy4qj8g3nlkgfm24wwq0za719dw"; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + django + django-debug-toolbar + graphene-django + ]; + + pythonImportsCheck = [ + "graphiql_debug_toolbar" + ]; + + DB_BACKEND = "sqlite"; + DB_NAME = ":memory:"; + DJANGO_SETTINGS_MODULE = "tests.settings"; + + checkPhase = '' + runHook preCheck + ${python.interpreter} -m django test tests + runHook postCheck + ''; + + meta = with lib; { + description = "Django Debug Toolbar for GraphiQL IDE"; + homepage = "https://github.com/flavors/django-graphiql-debug-toolbar"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django-js-asset/default.nix b/pkgs/development/python-modules/django-js-asset/default.nix new file mode 100644 index 000000000000..e7001d15a9a4 --- /dev/null +++ b/pkgs/development/python-modules/django-js-asset/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, django +, python +}: + +buildPythonPackage rec { + pname = "django-js-asset"; + version = "unstable-2021-06-07"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "matthiask"; + repo = pname; + rev = "a186aa0b5721ca95da6cc032a2fb780a152f581b"; + sha256 = "141zxng0wwxalsi905cs8pdppy3ad717y3g4fkdxw4n3pd0fjp8r"; + }; + + propagatedBuildInputs = [ + django + ]; + + pythonImportsCheck = [ + "js_asset" + ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} tests/manage.py test testapp + runHook postCheck + ''; + + meta = with lib; { + description = "Script tag with additional attributes for django.forms.Media"; + homepage = "https://github.com/matthiask/django-js-asset"; + maintainers = with maintainers; [ hexa ]; + license = with licenses; [ bsd3 ]; + }; +} diff --git a/pkgs/development/python-modules/django-mptt/default.nix b/pkgs/development/python-modules/django-mptt/default.nix new file mode 100644 index 000000000000..53dac2a781f4 --- /dev/null +++ b/pkgs/development/python-modules/django-mptt/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, django +, django-js-asset +, python +}: + +buildPythonPackage rec { + pname = "django-mptt"; + version = "0.13.4"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "12y3chxhqxk2yxin055f0f45nabj0s8hil12hw0lwzlbax6k9ss6"; + }; + + propagatedBuildInputs = [ + django + django-js-asset + ]; + + pythonImportsCheck = [ + "mptt" + ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} tests/manage.py test + runHook postCheck + ''; + + meta = with lib; { + description = "Utilities for implementing a modified pre-order traversal tree in Django"; + homepage = "https://github.com/django-mptt/django-mptt"; + maintainers = with maintainers; [ hexa ]; + license = with licenses; [ mit ]; + }; +} diff --git a/pkgs/development/python-modules/django-prometheus/default.nix b/pkgs/development/python-modules/django-prometheus/default.nix new file mode 100644 index 000000000000..bd97f2a73614 --- /dev/null +++ b/pkgs/development/python-modules/django-prometheus/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, prometheus-client +, psycopg2 +, pytest-django +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "django-prometheus"; + version = "2.1.0"; + format = "setuptools"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "korfuri"; + repo = pname; + rev = version; + sha256 = "1y1cmycc545xrys41jk8kia36hwnkwhkw26mlpfdjgb63vq30x1d"; + }; + + patches = [ + ./drop-untestable-database-backends.patch + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace '"pytest-runner"' "" + ''; + + propagatedBuildInputs = [ + prometheus-client + ]; + + pythonImportsCheck = [ + "django_prometheus" + ]; + + checkInputs = [ + pytest-django + pytestCheckHook + ]; + + meta = with lib; { + description = "Django middlewares to monitor your application with Prometheus.io"; + homepage = "https://github.com/korfuri/django-prometheus"; + license = licenses.asl20; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch b/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch new file mode 100644 index 000000000000..1e9e65060849 --- /dev/null +++ b/pkgs/development/python-modules/django-prometheus/drop-untestable-database-backends.patch @@ -0,0 +1,38 @@ +diff --git a/django_prometheus/tests/end2end/testapp/settings.py b/django_prometheus/tests/end2end/testapp/settings.py +index 0630721..bd2190a 100644 +--- a/django_prometheus/tests/end2end/testapp/settings.py ++++ b/django_prometheus/tests/end2end/testapp/settings.py +@@ -53,33 +53,6 @@ DATABASES = { + "ENGINE": "django_prometheus.db.backends.sqlite3", + "NAME": "db.sqlite3", + }, +- # Comment this to not test django_prometheus.db.backends.postgres. +- "postgresql": { +- "ENGINE": "django_prometheus.db.backends.postgresql", +- "NAME": "postgres", +- "USER": "postgres", +- "PASSWORD": "", +- "HOST": "localhost", +- "PORT": "5432", +- }, +- # Comment this to not test django_prometheus.db.backends.postgis. +- "postgis": { +- "ENGINE": "django_prometheus.db.backends.postgis", +- "NAME": "postgis", +- "USER": "postgres", +- "PASSWORD": "", +- "HOST": "localhost", +- "PORT": "5432", +- }, +- # Comment this to not test django_prometheus.db.backends.mysql. +- "mysql": { +- "ENGINE": "django_prometheus.db.backends.mysql", +- "NAME": "django_prometheus_1", +- "USER": "travis", +- "PASSWORD": "", +- "HOST": "localhost", +- "PORT": "3306", +- }, + # The following databases are used by test_db.py only + "test_db_1": { + "ENGINE": "django_prometheus.db.backends.sqlite3", diff --git a/pkgs/development/python-modules/django-redis/default.nix b/pkgs/development/python-modules/django-redis/default.nix new file mode 100644 index 000000000000..b578a016722b --- /dev/null +++ b/pkgs/development/python-modules/django-redis/default.nix @@ -0,0 +1,50 @@ +{ lib +, fetchFromGitHub +, pythonOlder +, buildPythonPackage +, django +, redis +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "django-redis"; + version = "5.0.0"; + format = "setuptools"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "jazzband"; + repo = "django-redis"; + rev = version; + sha256 = "1np10hfyg4aamlz7vav9fy80gynb1lhl2drqkbckr3gg1gbz6crj"; + }; + + postPatch = '' + sed -i '/-cov/d' setup.cfg + ''; + + propagatedBuildInputs = [ + django + redis + ]; + + pythonImportsCheck = [ + "django_redis" + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + "tests/test_backend.py" # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured. + ]; + + meta = with lib; { + description = "Full featured redis cache backend for Django"; + homepage = "https://github.com/jazzband/django-redis"; + license = licenses.bsd3; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django-rq/default.nix b/pkgs/development/python-modules/django-rq/default.nix new file mode 100644 index 000000000000..18a6808a21ef --- /dev/null +++ b/pkgs/development/python-modules/django-rq/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, isPy27 +, fetchFromGitHub +, django +, redis +, rq +, sentry-sdk +}: + +buildPythonPackage rec { + pname = "django-rq"; + version = "2.4.1"; + format = "setuptools"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "rq"; + repo = pname; + rev = "v${version}"; + sha256 = "1dy3mhj60xlqy7f65zh80sqn6qywsp697r6yy3jcl5wmwizzhybr"; + }; + + propagatedBuildInputs = [ + django + redis + rq + sentry-sdk + ]; + + pythonImportsCheck = [ + "django_rq" + ]; + + doCheck = false; # require redis-server + + meta = with lib; { + description = "Simple app that provides django integration for RQ (Redis Queue)"; + homepage = "https://github.com/rq/django-rq"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django-tables2/default.nix b/pkgs/development/python-modules/django-tables2/default.nix new file mode 100644 index 000000000000..5cd1db3e7194 --- /dev/null +++ b/pkgs/development/python-modules/django-tables2/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, django +, tablib +, django-filter +, python +}: + +buildPythonPackage rec { + pname = "django-tables2"; + version = "2.4.1"; + format = "setuptools"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "jieter"; + repo = pname; + rev = "v${version}"; + sha256 = "04vvgf18diwp0mgp14b71a0dxhgrcslv1ljybi300gvzvzjnp3qv"; + }; + + propagatedBuildInputs = [ + django + tablib + ]; + + pythonImportsCheck = [ + # Requested setting DJANGO_TABLES2_TEMPLATE, but settings are not configured. + ]; + + doCheck = false; # needs django-boostrap{3,4} packages + + # Leave this in! Discovering how to run tests is annoying in Django apps + checkPhase = '' + ${python.interpreter} example/manage.py test + ''; + + meta = with lib; { + description = "Django app for creating HTML tables"; + homepage = "https://github.com/jieter/django-tables2"; + license = licenses.bsd2; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django_taggit/default.nix b/pkgs/development/python-modules/django-taggit/default.nix similarity index 70% rename from pkgs/development/python-modules/django_taggit/default.nix rename to pkgs/development/python-modules/django-taggit/default.nix index 5dcdb67ebae1..e410b72437c0 100644 --- a/pkgs/development/python-modules/django_taggit/default.nix +++ b/pkgs/development/python-modules/django-taggit/default.nix @@ -1,28 +1,37 @@ { lib , buildPythonPackage -, python -, fetchPypi , pythonOlder +, fetchPypi , django , djangorestframework , mock , isort -, isPy3k +, python }: buildPythonPackage rec { pname = "django-taggit"; version = "1.5.1"; - disabled = !isPy3k; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; sha256 = "e5bb62891f458d55332e36a32e19c08d20142c43f74bc5656c803f8af25c084a"; }; - propagatedBuildInputs = [ isort django djangorestframework ]; + propagatedBuildInputs = [ + django + ]; + + pythonImportsCheck = [ + "taggit" + ]; + + checkInputs = [ + djangorestframework + ]; - checkInputs = [ mock ]; checkPhase = '' # prove we're running tests against installed package, not build dir rm -r taggit @@ -33,9 +42,9 @@ buildPythonPackage rec { ''; meta = with lib; { - description = "django-taggit is a reusable Django application for simple tagging"; - homepage = "https://github.com/alex/django-taggit/tree/master/"; - license = licenses.bsd2; + description = "Simple tagging for django"; + homepage = "https://github.com/jazzband/django-taggit"; + license = licenses.bsd3; maintainers = with maintainers; [ desiderius ]; }; diff --git a/pkgs/development/python-modules/django-timezone-field/default.nix b/pkgs/development/python-modules/django-timezone-field/default.nix new file mode 100644 index 000000000000..0bbdac356cd0 --- /dev/null +++ b/pkgs/development/python-modules/django-timezone-field/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, poetry-core +, django +, djangorestframework +, pytz +, pytest +, pytest-lazy-fixture +, python +}: + +buildPythonPackage rec { + pname = "django-timezone-field"; + version = "4.2.1"; + format = "setuptools"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "mfogel"; + repo = pname; + rev = version; + sha256 = "0swld4168pfhppr9q3i9r062l832cmmx792kkvlcvxfbdhk6qz9h"; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + django + djangorestframework + pytz + ]; + + pythonImportsCheck = [ + "timezone_field" + ]; + + # Uses pytest.lazy_fixture directly which is broken in pytest-lazy-fixture + # https://github.com/TvoroG/pytest-lazy-fixture/issues/22 + doCheck = false; + + DJANGO_SETTINGS_MODULE = "tests.settings"; + + checkInputs = [ + pytest + pytest-lazy-fixture + ]; + + checkPhase = '' + ${python.interpreter} -m django test + ''; + + meta = with lib; { + description = "Django app providing database, form and serializer fields for pytz timezone objects"; + homepage = "https://github.com/mfogel/django-timezone-field"; + license = licenses.bsd2; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/django_redis/default.nix b/pkgs/development/python-modules/django_redis/default.nix deleted file mode 100644 index 61101cc8a929..000000000000 --- a/pkgs/development/python-modules/django_redis/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib -, fetchPypi -, buildPythonPackage -, mock -, django -, redis -, msgpack -}: -buildPythonPackage rec { - pname = "django-redis"; - version = "5.0.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "048f665bbe27f8ff2edebae6aa9c534ab137f1e8fa7234147ef470df3f3aa9b8"; - }; - - propagatedBuildInputs = [ - django - redis - msgpack - ]; - - # 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. - doCheck = false; - - pythonImportsCheck = [ "django_redis" ]; - - meta = with lib; { - description = "Full featured redis cache backend for Django"; - homepage = "https://github.com/niwibe/django-redis"; - license = licenses.bsd3; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/development/python-modules/graphene-django/default.nix b/pkgs/development/python-modules/graphene-django/default.nix new file mode 100644 index 000000000000..f736fbe39d85 --- /dev/null +++ b/pkgs/development/python-modules/graphene-django/default.nix @@ -0,0 +1,65 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub + +, graphene +, graphql-core +, django +, djangorestframework +, promise +, text-unidecode + +, django-filter +, mock +, pytest-django +, pytest-random-order +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "graphene-django"; + version = "unstable-2021-06-11"; + format = "setuptools"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "graphql-python"; + repo = pname; + rev = "e7f7d8da07ba1020f9916153f17e97b0ec037712"; + sha256 = "0b33q1im90ahp3gzy9wx5amfzy6q57ydjpy5rn988gh81hbyqaxv"; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace '"pytest-runner"' "" + ''; + + propagatedBuildInputs = [ + djangorestframework + graphene + graphql-core + django + promise + text-unidecode + ]; + + preCheck = '' + export DJANGO_SETTINGS_MODULE=examples.django_test_settings + ''; + + checkInputs = [ + django-filter + mock + pytest-django + pytest-random-order + pytestCheckHook + ]; + + meta = with lib; { + description = "Integrate GraphQL into your Django project"; + homepage = "https://github.com/graphql-python/graphene-django"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/markdown-include/default.nix b/pkgs/development/python-modules/markdown-include/default.nix new file mode 100644 index 000000000000..389c94fb2381 --- /dev/null +++ b/pkgs/development/python-modules/markdown-include/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, markdown +}: + +buildPythonPackage rec { + pname = "markdown-include"; + version = "0.6.0"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "18p4qfhazvskcg6xsdv1np8m1gc1llyabp311xzhqy7p6q76hpbg"; + }; + + propagatedBuildInputs = [ + markdown + ]; + + pythonImportsCheck = [ + "markdown_include" + ]; + + doCheck = false; # no tests + + meta = with lib; { + description = "Extension to Python-Markdown which provides an include function"; + homepage = "https://github.com/cmacmackin/markdown-include"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/python-redis-lock/default.nix b/pkgs/development/python-modules/python-redis-lock/default.nix index bd8933be824c..7671e5a4a9b2 100644 --- a/pkgs/development/python-modules/python-redis-lock/default.nix +++ b/pkgs/development/python-modules/python-redis-lock/default.nix @@ -6,7 +6,7 @@ , pytestCheckHook , process-tests , pkgs -, withDjango ? false, django_redis +, withDjango ? false, django-redis }: buildPythonPackage rec { @@ -20,7 +20,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ redis - ] ++ lib.optional withDjango django_redis; + ] ++ lib.optional withDjango django-redis; checkInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/svgwrite/default.nix b/pkgs/development/python-modules/svgwrite/default.nix index 7799583f8dcf..4d30db35cce0 100644 --- a/pkgs/development/python-modules/svgwrite/default.nix +++ b/pkgs/development/python-modules/svgwrite/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "svgwrite"; - version = "1.4"; + version = "1.4.1"; src = fetchFromGitHub { owner = "mozman"; repo = "svgwrite"; rev = "v${version}"; - sha256 = "15xjz5b4dw1sg3a5k4wmzky4h5v1n937id8vl6hha1a2xj42z2s5"; + sha256 = "sha256-d//ZUFb5yj51uD1fb6yJJROaQ2MLyfA3Pa84TblqLNk="; }; # svgwrite requires Python 3.6 or newer diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 9197d3f0d54c..a6b9ac968431 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -44,6 +44,8 @@ mapAliases ({ diff_cover = diff-cover; # added 2021-07-02 discogs_client = discogs-client; # added 2021-07-02 djangorestframework-jwt = drf-jwt; # added 2021-07-20 + django_redis = django-redis; # added 2021-10-11 + django_taggit = django-taggit; # added 2021-10-11 dns = dnspython; # added 2017-12-10 dogpile_cache = dogpile-cache; # added 2021-10-28 faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f61a92249c0c..f447d82ffdb1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2124,6 +2124,8 @@ in { django-formtools = callPackage ../development/python-modules/django-formtools { }; + django-graphiql-debug-toolbar = callPackage ../development/python-modules/django-graphiql-debug-toolbar { }; + django-gravatar2 = callPackage ../development/python-modules/django-gravatar2 { }; django_guardian = callPackage ../development/python-modules/django_guardian { }; @@ -2139,6 +2141,8 @@ in { django-jinja = callPackage ../development/python-modules/django-jinja2 { }; + django-js-asset = callPackage ../development/python-modules/django-js-asset { }; + django-logentry-admin = callPackage ../development/python-modules/django-logentry-admin { }; django-mailman3 = callPackage ../development/python-modules/django-mailman3 { }; @@ -2149,6 +2153,8 @@ in { django-maintenance-mode = callPackage ../development/python-modules/django-maintenance-mode { }; + django-mptt = callPackage ../development/python-modules/django-mptt { }; + django_nose = callPackage ../development/python-modules/django_nose { }; django-oauth-toolkit = callPackage ../development/python-modules/django-oauth-toolkit { }; @@ -2163,6 +2169,8 @@ in { django-postgresql-netfields = callPackage ../development/python-modules/django-postgresql-netfields { }; + django-prometheus = callPackage ../development/python-modules/django-prometheus { }; + django-q = callPackage ../development/python-modules/django-q { }; djangoql = callPackage ../development/python-modules/djangoql { }; @@ -2171,10 +2179,12 @@ in { django-raster = callPackage ../development/python-modules/django-raster { }; - django_redis = callPackage ../development/python-modules/django_redis { }; + django-redis = callPackage ../development/python-modules/django-redis { }; django-rest-auth = callPackage ../development/python-modules/django-rest-auth { }; + django-rq = callPackage ../development/python-modules/django-rq { }; + djangorestframework = callPackage ../development/python-modules/djangorestframework { }; djangorestframework-simplejwt = callPackage ../development/python-modules/djangorestframework-simplejwt { }; @@ -2197,9 +2207,13 @@ in { django-storages = callPackage ../development/python-modules/django-storages { }; + django-tables2 = callPackage ../development/python-modules/django-tables2 { }; + django_tagging = callPackage ../development/python-modules/django_tagging { }; - django_taggit = callPackage ../development/python-modules/django_taggit { }; + django-taggit = callPackage ../development/python-modules/django-taggit { }; + + django-timezone-field = callPackage ../development/python-modules/django-timezone-field { }; django_treebeard = callPackage ../development/python-modules/django_treebeard { }; @@ -3279,6 +3293,8 @@ in { graphene = callPackage ../development/python-modules/graphene { }; + graphene-django = callPackage ../development/python-modules/graphene-django { }; + graphqlclient= callPackage ../development/python-modules/graphqlclient { }; graphql-core = callPackage ../development/python-modules/graphql-core { }; @@ -4571,6 +4587,8 @@ in { markdown = callPackage ../development/python-modules/markdown { }; + markdown-include = callPackage ../development/python-modules/markdown-include { }; + markdown-it-py = callPackage ../development/python-modules/markdown-it-py { }; markdown-macros = callPackage ../development/python-modules/markdown-macros { };