python3Packages.drf-flex-fields: init at 1.0.2

Changed files
+83
pkgs
development
python-modules
top-level
+64
pkgs/development/python-modules/drf-flex-fields/default.nix
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
setuptools,
+
appdirs,
+
asgiref,
+
attrs,
+
black,
+
click,
+
django,
+
djangorestframework,
+
entrypoints,
+
flake8,
+
mccabe,
+
mypy,
+
mypy-extensions,
+
pycodestyle,
+
pyflakes,
+
pytz,
+
sqlparse,
+
toml,
+
typing-extensions,
+
+
# tests
+
pytestCheckHook,
+
pytest-django,
+
}:
+
+
buildPythonPackage rec {
+
pname = "drf-flex-fields";
+
version = "1.0.2";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "rsinger86";
+
repo = "drf-flex-fields";
+
tag = version;
+
hash = "sha256-+9ToxCEIDpsA+BK8Uk0VueVjoId41/S93+a716EGvCU=";
+
};
+
+
patches = [ ./django4-compat.patch ];
+
+
build-system = [ setuptools ];
+
+
nativeCheckInputs = [
+
django
+
djangorestframework
+
pytestCheckHook
+
pytest-django
+
];
+
+
preCheck = ''
+
export DJANGO_SETTINGS_MODULE=tests.settings
+
'';
+
+
meta = {
+
changelog = "https://github.com/rsinger86/drf-flex-fields/releases/tag/${src.tag}";
+
description = "Dynamically set fields and expand nested resources in Django REST Framework serializers";
+
homepage = "https://github.com/rsinger86/drf-flex-fields";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ hexa ];
+
};
+
}
+17
pkgs/development/python-modules/drf-flex-fields/django4-compat.patch
···
+
diff --git a/tests/urls.py b/tests/urls.py
+
index 998b0aa..62996c0 100644
+
--- a/tests/urls.py
+
+++ b/tests/urls.py
+
@@ -1,4 +1,5 @@
+
-from django.conf.urls import url, include
+
+from django.conf.urls import include
+
+from django.urls import re_path
+
from rest_framework import routers
+
from tests.testapp.views import PetViewSet, TaggedItemViewSet
+
+
@@ -7,4 +8,4 @@ router = routers.DefaultRouter()
+
router.register(r"pets", PetViewSet, basename="pet")
+
router.register(r"tagged-items", TaggedItemViewSet, basename="tagged-item")
+
+
-urlpatterns = [url(r"^", include(router.urls))]
+
+urlpatterns = [re_path(r"^", include(router.urls))]
+2
pkgs/top-level/python-packages.nix
···
drf-extra-fields = callPackage ../development/python-modules/drf-extra-fields { };
+
drf-flex-fields = callPackage ../development/python-modules/drf-flex-fields { };
+
drf-jwt = callPackage ../development/python-modules/drf-jwt { };
drf-nested-routers = callPackage ../development/python-modules/drf-nested-routers { };