Merge pull request #143112 from mweinelt/django-things

This commit is contained in:
Martin Weinelt 2021-11-02 18:43:34 +01:00 committed by GitHub
commit c619cf79ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 583 additions and 53 deletions

View File

@ -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

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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",

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};

View File

@ -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 ];
};
}

View File

@ -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; [ ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 { };