drf-react-by-schema 0.27.2__tar.gz → 0.27.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. drf_react_by_schema-0.27.4/MANIFEST.in +6 -0
  2. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/PKG-INFO +47 -3
  3. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/README.rst +39 -0
  4. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/auth.py +1 -2
  5. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/text.py +6 -7
  6. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/metadata.py +0 -1
  7. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/patches/drf_serializers.py +16 -2
  8. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/serializers.py +3 -3
  9. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/utils.py +1 -1
  10. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema.egg-info/PKG-INFO +47 -3
  11. drf_react_by_schema-0.27.4/drf_react_by_schema.egg-info/requires.txt +16 -0
  12. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/setup.cfg +28 -9
  13. drf_react_by_schema-0.27.2/MANIFEST.in +0 -4
  14. drf_react_by_schema-0.27.2/drf_react_by_schema.egg-info/requires.txt +0 -10
  15. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/LICENSE +0 -0
  16. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/__init__.py +0 -0
  17. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/admin.py +0 -0
  18. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/apps.py +0 -0
  19. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/autocomplete_serializers.py +0 -0
  20. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/autocomplete_viewsets.py +0 -0
  21. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/__init__.py +0 -0
  22. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/array.py +0 -0
  23. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/boolean.py +0 -0
  24. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/date.py +0 -0
  25. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/file.py +0 -0
  26. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/geometry.py +0 -0
  27. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/number.py +0 -0
  28. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/relational.py +0 -0
  29. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/fields/serializers.py +0 -0
  30. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/filters.py +0 -0
  31. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/management/__init__.py +0 -0
  32. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/management/commands/__init__.py +0 -0
  33. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/management/commands/sync_react.py +0 -0
  34. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/migrations/__init__.py +0 -0
  35. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/mixins.py +0 -0
  36. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/models.py +0 -0
  37. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/pagination.py +0 -0
  38. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/patches/__init__.py +0 -0
  39. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/renderers.py +0 -0
  40. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/schema_bundle.py +0 -0
  41. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/tests.py +0 -0
  42. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/typescript_generator.py +0 -0
  43. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/urls.py +0 -0
  44. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/utils_cache.py +0 -0
  45. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/views.py +0 -0
  46. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema/viewsets.py +0 -0
  47. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema.egg-info/SOURCES.txt +0 -0
  48. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema.egg-info/dependency_links.txt +0 -0
  49. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/drf_react_by_schema.egg-info/top_level.txt +0 -0
  50. {drf_react_by_schema-0.27.2 → drf_react_by_schema-0.27.4}/setup.py +0 -0
@@ -0,0 +1,6 @@
1
+ include LICENSE
2
+ include README.rst
3
+ recursive-include polls/templates *
4
+ recursive-include docs *
5
+ # The tests/ project is dev-only; keep it out of the published sdist.
6
+ prune tests
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: drf_react_by_schema
3
- Version: 0.27.2
3
+ Version: 0.27.4
4
4
  Summary: A Django app to easily integrate with React from models.
5
5
  Home-page: https://gitlab.com/eita/drf-react-by-schema/drf-react-by-schema-django
6
6
  Author: Cooperativa EITA
@@ -9,20 +9,25 @@ License: GNU General Public License version 3
9
9
  Classifier: Environment :: Web Environment
10
10
  Classifier: Framework :: Django
11
11
  Classifier: Framework :: Django :: 3.2
12
+ Classifier: Framework :: Django :: 4.2
13
+ Classifier: Framework :: Django :: 5.0
14
+ Classifier: Framework :: Django :: 5.1
15
+ Classifier: Framework :: Django :: 5.2
12
16
  Classifier: Intended Audience :: Developers
13
17
  Classifier: License :: OSI Approved :: BSD License
14
18
  Classifier: Operating System :: OS Independent
15
19
  Classifier: Programming Language :: Python
16
20
  Classifier: Programming Language :: Python :: 3
17
21
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Classifier: Programming Language :: Python :: 3.9
19
22
  Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
20
24
  Classifier: Programming Language :: Python :: 3.12
21
25
  Classifier: Programming Language :: Python :: 3.13
22
26
  Classifier: Topic :: Internet :: WWW/HTTP
23
27
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
24
- Requires-Python: >=3.9
28
+ Requires-Python: >=3.10
25
29
  Provides-Extra: redis
30
+ Provides-Extra: test
26
31
  License-File: LICENSE
27
32
 
28
33
  .. image:: https://gitlab.com/eita/drf-react-by-schema/drf-react-by-schema-django/-/raw/master/banner_drf-react-by-schema_django_1280x500.png
@@ -71,6 +76,45 @@ Pre-requisites
71
76
  * djangorestframework-simplejwt
72
77
  * django-filter
73
78
 
79
+ Compatibility
80
+ -------------
81
+ This package supports **Django 3.2 through 5.2** and **Python 3.10+** from a
82
+ single release line. The supported combinations are exercised in CI (see
83
+ ``.gitlab-ci.yml`` / ``tox.ini``).
84
+
85
+ .. list-table::
86
+ :header-rows: 1
87
+
88
+ * - Django
89
+ - Python
90
+ - Notes
91
+ * - 3.2
92
+ - 3.10
93
+ - End of upstream life. Pin ``drf-excel<2.6`` (see below).
94
+ * - 4.2
95
+ - 3.10 - 3.12
96
+ - LTS
97
+ * - 5.0
98
+ - 3.10 - 3.12
99
+ -
100
+ * - 5.1
101
+ - 3.10 - 3.13
102
+ -
103
+ * - 5.2
104
+ - 3.10 - 3.13
105
+ -
106
+
107
+ .. note::
108
+
109
+ **Django 3.2 consumers** must additionally pin ``drf-excel<2.6``.
110
+ ``drf-excel`` 2.6 dropped Django 3.2 support and requires Python >=3.10, and
111
+ because ``drf-excel`` does not declare a Django constraint, pip would
112
+ otherwise install it on Django 3.2. Django 4.2-5.2 can use the latest
113
+ ``drf-excel`` without a cap::
114
+
115
+ drf-react-by-schema
116
+ drf-excel<2.6
117
+
74
118
  Optional Dependencies
75
119
  ---------------------
76
120
  For enhanced caching capabilities in the automatically generated viewsets, you can install optional dependencies:
@@ -44,6 +44,45 @@ Pre-requisites
44
44
  * djangorestframework-simplejwt
45
45
  * django-filter
46
46
 
47
+ Compatibility
48
+ -------------
49
+ This package supports **Django 3.2 through 5.2** and **Python 3.10+** from a
50
+ single release line. The supported combinations are exercised in CI (see
51
+ ``.gitlab-ci.yml`` / ``tox.ini``).
52
+
53
+ .. list-table::
54
+ :header-rows: 1
55
+
56
+ * - Django
57
+ - Python
58
+ - Notes
59
+ * - 3.2
60
+ - 3.10
61
+ - End of upstream life. Pin ``drf-excel<2.6`` (see below).
62
+ * - 4.2
63
+ - 3.10 - 3.12
64
+ - LTS
65
+ * - 5.0
66
+ - 3.10 - 3.12
67
+ -
68
+ * - 5.1
69
+ - 3.10 - 3.13
70
+ -
71
+ * - 5.2
72
+ - 3.10 - 3.13
73
+ -
74
+
75
+ .. note::
76
+
77
+ **Django 3.2 consumers** must additionally pin ``drf-excel<2.6``.
78
+ ``drf-excel`` 2.6 dropped Django 3.2 support and requires Python >=3.10, and
79
+ because ``drf-excel`` does not declare a Django constraint, pip would
80
+ otherwise install it on Django 3.2. Django 4.2-5.2 can use the latest
81
+ ``drf-excel`` without a cap::
82
+
83
+ drf-react-by-schema
84
+ drf-excel<2.6
85
+
47
86
  Optional Dependencies
48
87
  ---------------------
49
88
  For enhanced caching capabilities in the automatically generated viewsets, you can install optional dependencies:
@@ -12,8 +12,6 @@ from django.utils.encoding import force_bytes
12
12
  from django.utils.http import urlsafe_base64_encode
13
13
 
14
14
 
15
- UserModel = get_user_model()
16
-
17
15
  DEFAULT_RESET_CONFIRM_PATH = "/password-reset/confirm/"
18
16
 
19
17
 
@@ -43,6 +41,7 @@ def request_password_reset(request, email):
43
41
  that accounts with an unusable password — e.g. freshly invited users — can
44
42
  still receive a link to set their password.
45
43
  """
44
+ UserModel = get_user_model()
46
45
  user = UserModel._default_manager.filter(email__iexact=email).first()
47
46
  if user is None:
48
47
  return False
@@ -18,13 +18,6 @@ class CharField(models.CharField):
18
18
  description=None,
19
19
  **kwargs,
20
20
  ):
21
- super().__init__(*args, **kwargs)
22
- if description is not None:
23
- self.description = description
24
- self.pattern_format = pattern_format
25
- self.ui_required = ui_required
26
- self.conditional_visible = conditional_visible
27
-
28
21
  pattern_format__str = get_pattern_format(pattern_format)
29
22
 
30
23
  if pattern_format__str:
@@ -32,6 +25,12 @@ class CharField(models.CharField):
32
25
 
33
26
  super().__init__(*args, **kwargs)
34
27
 
28
+ if description is not None:
29
+ self.description = description
30
+ self.pattern_format = pattern_format
31
+ self.ui_required = ui_required
32
+ self.conditional_visible = conditional_visible
33
+
35
34
  if pattern_format__str:
36
35
  self.validators.append(
37
36
  RegexValidator(
@@ -1,6 +1,5 @@
1
1
  import inspect
2
2
  from django.db import models
3
- from django.forms.models import model_to_dict
4
3
  from rest_framework import serializers
5
4
  from rest_framework.metadata import BaseMetadata, SimpleMetadata
6
5
  from rest_framework.fields import CurrentUserDefault
@@ -42,10 +42,24 @@ def _enhanced_file_representation(self, value):
42
42
  return None
43
43
 
44
44
 
45
+ # Originals captured before patching: a bare ``super()`` is invalid in a
46
+ # module-level function (RuntimeError: __class__ cell not found). ImageField
47
+ # defines its own to_internal_value (image validation on top of FileField), so
48
+ # each class keeps its own captured original.
49
+ _ORIGINAL_FILE_TO_INTERNAL = FileField.to_internal_value
50
+ _ORIGINAL_IMAGE_TO_INTERNAL = ImageField.to_internal_value
51
+
52
+
45
53
  def _enhanced_file_internal_value(self, data):
46
54
  if isinstance(data, UploadedFile):
47
55
  return data
48
- return super().to_internal_value(data)
56
+ return _ORIGINAL_FILE_TO_INTERNAL(self, data)
57
+
58
+
59
+ def _enhanced_image_internal_value(self, data):
60
+ if isinstance(data, UploadedFile):
61
+ return data
62
+ return _ORIGINAL_IMAGE_TO_INTERNAL(self, data)
49
63
 
50
64
 
51
65
  def patch_drf_fields():
@@ -53,5 +67,5 @@ def patch_drf_fields():
53
67
  FileField.to_representation = _enhanced_file_representation
54
68
  FileField.to_internal_value = _enhanced_file_internal_value
55
69
  ImageField.to_representation = _enhanced_file_representation
56
- ImageField.to_internal_value = _enhanced_file_internal_value
70
+ ImageField.to_internal_value = _enhanced_image_internal_value
57
71
  FileField.to_representation._patched = True
@@ -13,8 +13,6 @@ from django.db import models
13
13
  from . import settings, autocomplete_serializers
14
14
  from .utils import update_related_fields
15
15
 
16
- UserModel = get_user_model()
17
-
18
16
 
19
17
  class MyAccountSerializer(drf_serializers.ModelSerializer):
20
18
  """Serializer for the current authenticated user.
@@ -58,6 +56,7 @@ class PasswordResetRequestSerializer(drf_serializers.Serializer):
58
56
  email = drf_serializers.EmailField()
59
57
 
60
58
  def validate(self, attrs):
59
+ UserModel = get_user_model()
61
60
  user = UserModel._default_manager.filter(email__iexact=attrs["email"]).first()
62
61
  # Deliberately never error here: hosts respond generically regardless.
63
62
  attrs["user"] = user
@@ -75,6 +74,7 @@ class PasswordResetTokenSerializer(drf_serializers.Serializer):
75
74
  token = drf_serializers.CharField()
76
75
 
77
76
  def validate(self, attrs):
77
+ UserModel = get_user_model()
78
78
  try:
79
79
  uid = int(force_str(urlsafe_base64_decode(attrs["uid"])))
80
80
  except (TypeError, ValueError, OverflowError):
@@ -126,7 +126,7 @@ class PasswordResetUserSerializer(drf_serializers.ModelSerializer):
126
126
  has_usable_password = drf_serializers.SerializerMethodField()
127
127
 
128
128
  class Meta:
129
- model = UserModel
129
+ model = get_user_model()
130
130
  fields = ["id", "username", "first_name", "last_name", "has_usable_password"]
131
131
 
132
132
  def get_has_usable_password(self, obj):
@@ -124,7 +124,7 @@ def update_related_fields(instance, request_data, update_related, model_fields):
124
124
 
125
125
  only_add_existing = request_data.pop("onlyAddExisting", None)
126
126
  if only_add_existing:
127
- for field in self.model_fields:
127
+ for field in model_fields:
128
128
  if getattr(field, "name", None) != only_add_existing["key"]:
129
129
  continue
130
130
  obj_to_add = field.related_model.objects.get(pk=only_add_existing["value"])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: drf-react-by-schema
3
- Version: 0.27.2
3
+ Version: 0.27.4
4
4
  Summary: A Django app to easily integrate with React from models.
5
5
  Home-page: https://gitlab.com/eita/drf-react-by-schema/drf-react-by-schema-django
6
6
  Author: Cooperativa EITA
@@ -9,20 +9,25 @@ License: GNU General Public License version 3
9
9
  Classifier: Environment :: Web Environment
10
10
  Classifier: Framework :: Django
11
11
  Classifier: Framework :: Django :: 3.2
12
+ Classifier: Framework :: Django :: 4.2
13
+ Classifier: Framework :: Django :: 5.0
14
+ Classifier: Framework :: Django :: 5.1
15
+ Classifier: Framework :: Django :: 5.2
12
16
  Classifier: Intended Audience :: Developers
13
17
  Classifier: License :: OSI Approved :: BSD License
14
18
  Classifier: Operating System :: OS Independent
15
19
  Classifier: Programming Language :: Python
16
20
  Classifier: Programming Language :: Python :: 3
17
21
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Classifier: Programming Language :: Python :: 3.9
19
22
  Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
20
24
  Classifier: Programming Language :: Python :: 3.12
21
25
  Classifier: Programming Language :: Python :: 3.13
22
26
  Classifier: Topic :: Internet :: WWW/HTTP
23
27
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
24
- Requires-Python: >=3.9
28
+ Requires-Python: >=3.10
25
29
  Provides-Extra: redis
30
+ Provides-Extra: test
26
31
  License-File: LICENSE
27
32
 
28
33
  .. image:: https://gitlab.com/eita/drf-react-by-schema/drf-react-by-schema-django/-/raw/master/banner_drf-react-by-schema_django_1280x500.png
@@ -71,6 +76,45 @@ Pre-requisites
71
76
  * djangorestframework-simplejwt
72
77
  * django-filter
73
78
 
79
+ Compatibility
80
+ -------------
81
+ This package supports **Django 3.2 through 5.2** and **Python 3.10+** from a
82
+ single release line. The supported combinations are exercised in CI (see
83
+ ``.gitlab-ci.yml`` / ``tox.ini``).
84
+
85
+ .. list-table::
86
+ :header-rows: 1
87
+
88
+ * - Django
89
+ - Python
90
+ - Notes
91
+ * - 3.2
92
+ - 3.10
93
+ - End of upstream life. Pin ``drf-excel<2.6`` (see below).
94
+ * - 4.2
95
+ - 3.10 - 3.12
96
+ - LTS
97
+ * - 5.0
98
+ - 3.10 - 3.12
99
+ -
100
+ * - 5.1
101
+ - 3.10 - 3.13
102
+ -
103
+ * - 5.2
104
+ - 3.10 - 3.13
105
+ -
106
+
107
+ .. note::
108
+
109
+ **Django 3.2 consumers** must additionally pin ``drf-excel<2.6``.
110
+ ``drf-excel`` 2.6 dropped Django 3.2 support and requires Python >=3.10, and
111
+ because ``drf-excel`` does not declare a Django constraint, pip would
112
+ otherwise install it on Django 3.2. Django 4.2-5.2 can use the latest
113
+ ``drf-excel`` without a cap::
114
+
115
+ drf-react-by-schema
116
+ drf-excel<2.6
117
+
74
118
  Optional Dependencies
75
119
  ---------------------
76
120
  For enhanced caching capabilities in the automatically generated viewsets, you can install optional dependencies:
@@ -0,0 +1,16 @@
1
+ Django>=3.2
2
+ django-cors-headers>=4.3.0
3
+ django-filter>=23.5
4
+ djangorestframework-simplejwt>=5.3.0
5
+ djangorestframework>=3.15.1
6
+ drf-excel>=2.5.0
7
+ drf-nested-routers>=0.94.0
8
+
9
+ [redis]
10
+ django-redis>=5.2.0
11
+ redis>=4.5.5
12
+
13
+ [test]
14
+ psycopg2-binary>=2.9.10
15
+ pytest
16
+ pytest-django
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = drf_react_by_schema
3
- version = 0.27.2
3
+ version = 0.27.4
4
4
  description = A Django app to easily integrate with React from models.
5
5
  long_description = file: README.rst
6
6
  url = https://gitlab.com/eita/drf-react-by-schema/drf-react-by-schema-django
@@ -11,14 +11,18 @@ classifiers =
11
11
  Environment :: Web Environment
12
12
  Framework :: Django
13
13
  Framework :: Django :: 3.2
14
+ Framework :: Django :: 4.2
15
+ Framework :: Django :: 5.0
16
+ Framework :: Django :: 5.1
17
+ Framework :: Django :: 5.2
14
18
  Intended Audience :: Developers
15
19
  License :: OSI Approved :: BSD License
16
20
  Operating System :: OS Independent
17
21
  Programming Language :: Python
18
22
  Programming Language :: Python :: 3
19
23
  Programming Language :: Python :: 3 :: Only
20
- Programming Language :: Python :: 3.9
21
24
  Programming Language :: Python :: 3.10
25
+ Programming Language :: Python :: 3.11
22
26
  Programming Language :: Python :: 3.12
23
27
  Programming Language :: Python :: 3.13
24
28
  Topic :: Internet :: WWW/HTTP
@@ -27,19 +31,34 @@ classifiers =
27
31
  [options]
28
32
  include_package_data = true
29
33
  packages = find:
30
- python_requires = >=3.9
34
+ python_requires = >=3.10
31
35
  install_requires =
32
- djangorestframework>=3.14.0
33
- djangorestframework-simplejwt>=5.2.2
34
- drf-nested-routers>=0.93.4
35
- django-filter>=23.2
36
- django-cors-headers>=4.0.0
37
- drf-excel>=2.4.0
36
+ Django>=3.2
37
+ djangorestframework>=3.15.1
38
+ djangorestframework-simplejwt>=5.3.0
39
+ drf-nested-routers>=0.94.0
40
+ django-filter>=23.5
41
+ django-cors-headers>=4.3.0
42
+ drf-excel>=2.5.0
43
+
44
+ [options.packages.find]
45
+ exclude =
46
+ tests
47
+ tests.*
38
48
 
39
49
  [options.extras_require]
40
50
  redis =
41
51
  redis>=4.5.5
42
52
  django-redis>=5.2.0
53
+ test =
54
+ pytest
55
+ pytest-django
56
+ psycopg2-binary>=2.9.10
57
+
58
+ [tool:pytest]
59
+ DJANGO_SETTINGS_MODULE = tests.settings
60
+ python_files = tests.py test_*.py *_tests.py
61
+ testpaths = drf_react_by_schema/tests.py tests
43
62
 
44
63
  [egg_info]
45
64
  tag_build =
@@ -1,4 +0,0 @@
1
- include LICENSE
2
- include README.rst
3
- recursive-include polls/templates *
4
- recursive-include docs *
@@ -1,10 +0,0 @@
1
- django-cors-headers>=4.0.0
2
- django-filter>=23.2
3
- djangorestframework-simplejwt>=5.2.2
4
- djangorestframework>=3.14.0
5
- drf-excel>=2.4.0
6
- drf-nested-routers>=0.93.4
7
-
8
- [redis]
9
- django-redis>=5.2.0
10
- redis>=4.5.5