django-bananas 2.4__tar.gz → 3.0__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 (56) hide show
  1. {django_bananas-2.4 → django_bananas-3.0}/MANIFEST.in +1 -1
  2. {django_bananas-2.4/src/django_bananas.egg-info → django_bananas-3.0}/PKG-INFO +10 -13
  3. {django_bananas-2.4 → django_bananas-3.0}/README.rst +5 -7
  4. {django_bananas-2.4 → django_bananas-3.0}/pyproject.toml +1 -1
  5. {django_bananas-2.4 → django_bananas-3.0}/setup.cfg +4 -5
  6. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/__init__.py +1 -1
  7. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/views.py +2 -2
  8. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/query.py +5 -4
  9. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/bananas/css/banansive.css +4 -0
  10. {django_bananas-2.4 → django_bananas-3.0/src/django_bananas.egg-info}/PKG-INFO +10 -13
  11. {django_bananas-2.4 → django_bananas-3.0}/src/django_bananas.egg-info/requires.txt +1 -1
  12. {django_bananas-2.4 → django_bananas-3.0}/AUTHORS +0 -0
  13. {django_bananas-2.4 → django_bananas-3.0}/LICENSE +0 -0
  14. {django_bananas-2.4 → django_bananas-3.0}/setup.py +0 -0
  15. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/__init__.py +0 -0
  16. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/__init__.py +0 -0
  17. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/mixins.py +0 -0
  18. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/permissions.py +0 -0
  19. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/router.py +0 -0
  20. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/schemas/__init__.py +0 -0
  21. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/schemas/base.py +0 -0
  22. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/schemas/decorators.py +0 -0
  23. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/schemas/yasg.py +0 -0
  24. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/serializers.py +0 -0
  25. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/urls.py +0 -0
  26. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/v1_0/__init__.py +0 -0
  27. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/v1_0/urls.py +0 -0
  28. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/api/versioning.py +0 -0
  29. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/extension.py +0 -0
  30. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/admin/i18n.py +0 -0
  31. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/drf/__init__.py +0 -0
  32. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/drf/errors.py +0 -0
  33. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/drf/fencing.py +0 -0
  34. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/drf/utils.py +0 -0
  35. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/environment.py +0 -0
  36. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/lazy.py +0 -0
  37. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/management/__init__.py +0 -0
  38. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/management/commands/__init__.py +0 -0
  39. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/management/commands/show_urls.py +0 -0
  40. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/management/commands/syncpermissions.py +0 -0
  41. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/models.py +0 -0
  42. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/py.typed +0 -0
  43. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/secrets.py +0 -0
  44. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/settings.py +0 -0
  45. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/bananas/css/bananas.css +0 -0
  46. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/bananas/img/django.svg +0 -0
  47. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/bananas/img/search.svg +0 -0
  48. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/bananas/js/bananas.js +0 -0
  49. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/static/admin/css/responsive.css +0 -0
  50. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/templates/admin/base_site.html +0 -0
  51. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/templates/admin/view.html +0 -0
  52. {django_bananas-2.4 → django_bananas-3.0}/src/bananas/url.py +0 -0
  53. {django_bananas-2.4 → django_bananas-3.0}/src/django_bananas.egg-info/SOURCES.txt +0 -0
  54. {django_bananas-2.4 → django_bananas-3.0}/src/django_bananas.egg-info/dependency_links.txt +0 -0
  55. {django_bananas-2.4 → django_bananas-3.0}/src/django_bananas.egg-info/not-zip-safe +0 -0
  56. {django_bananas-2.4 → django_bananas-3.0}/src/django_bananas.egg-info/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  include setup.py README.rst MANIFEST.in LICENSE AUTHORS
2
- exclude tox.ini *.yml *.yaml Makefile Dockerfile .editorconfig
2
+ exclude tox.ini *.yml *.yaml Makefile Dockerfile .editorconfig flake.nix flake.lock .dockerignore
3
3
 
4
4
  recursive-include src/bananas/templates *
5
5
  recursive-include src/bananas/static *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-bananas
3
- Version: 2.4
3
+ Version: 3.0
4
4
  Summary: Django Bananas - Django extensions the monkey way
5
5
  Home-page: https://github.com/5monkeys/django-bananas
6
6
  License: MIT License
@@ -13,22 +13,21 @@ Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
16
17
  Classifier: Framework :: Django
17
- Classifier: Framework :: Django :: 3.2
18
- Classifier: Framework :: Django :: 4.0
19
- Classifier: Framework :: Django :: 4.1
20
18
  Classifier: Framework :: Django :: 4.2
21
19
  Classifier: Framework :: Django :: 5.0
22
20
  Classifier: Framework :: Django :: 5.1
23
21
  Classifier: Framework :: Django :: 5.2
22
+ Classifier: Framework :: Django :: 6.0
24
23
  Classifier: Intended Audience :: Developers
25
24
  Classifier: License :: OSI Approved :: MIT License
26
25
  Classifier: Operating System :: OS Independent
27
26
  Classifier: Framework :: Django
28
- Requires-Python: >=3.6
27
+ Requires-Python: >=3.8
29
28
  Description-Content-Type: text/x-rst; charset=UTF-8
30
29
  License-File: LICENSE
31
- Requires-Dist: Django>=2.2
30
+ Requires-Dist: Django>=4.2
32
31
  Requires-Dist: typing-extensions>=3.7.4.3
33
32
  Provides-Extra: drf
34
33
  Requires-Dist: djangorestframework>=3.10; extra == "drf"
@@ -81,13 +80,11 @@ with the ``drf`` extra to keep those in sync:
81
80
 
82
81
  Currently tested only for
83
82
 
84
- - Django 3.2 under Python 3.8-3.10
85
- - Django 4.0 under Python 3.8-3.10
86
- - Django 4.1 under Python 3.8-3.13
87
- - Django 4.2 under Python 3.8-3.13
83
+ - Django 4.2 under Python 3.8-3.12
88
84
  - Django 5.0 under Python 3.10-3.13
89
85
  - Django 5.1 under Python 3.10-3.13
90
- - Django 5.2 under Python 3.10-3.13
86
+ - Django 5.2 under Python 3.10-3.14
87
+ - Django 6.0 under Python 3.12-3.14
91
88
 
92
89
  Pull requests welcome!
93
90
 
@@ -578,12 +575,12 @@ Testing and development requirements can be installed using package extras
578
575
  ``drf`` extra when installing ``dev``.
579
576
 
580
577
  To get started, setup a virtualenv and then install test requirements and run
581
- tests and checks on Python 3.9/Django 3.1 with:
578
+ tests and typehints on Python 3.14/Django 6.0 with:
582
579
 
583
580
  .. code-block:: bash
584
581
 
585
582
  python3 -m pip install -e .[test]
586
- TOXENV=py39-django31,checks python3 -m tox
583
+ TOXENV=py314-django60,type-check python3 -m tox
587
584
 
588
585
  You can install development requirements into your virtualenv. Linting and
589
586
  formatting uses pre-commit which you could also install on a system level.
@@ -32,13 +32,11 @@ with the ``drf`` extra to keep those in sync:
32
32
 
33
33
  Currently tested only for
34
34
 
35
- - Django 3.2 under Python 3.8-3.10
36
- - Django 4.0 under Python 3.8-3.10
37
- - Django 4.1 under Python 3.8-3.13
38
- - Django 4.2 under Python 3.8-3.13
35
+ - Django 4.2 under Python 3.8-3.12
39
36
  - Django 5.0 under Python 3.10-3.13
40
37
  - Django 5.1 under Python 3.10-3.13
41
- - Django 5.2 under Python 3.10-3.13
38
+ - Django 5.2 under Python 3.10-3.14
39
+ - Django 6.0 under Python 3.12-3.14
42
40
 
43
41
  Pull requests welcome!
44
42
 
@@ -529,12 +527,12 @@ Testing and development requirements can be installed using package extras
529
527
  ``drf`` extra when installing ``dev``.
530
528
 
531
529
  To get started, setup a virtualenv and then install test requirements and run
532
- tests and checks on Python 3.9/Django 3.1 with:
530
+ tests and typehints on Python 3.14/Django 6.0 with:
533
531
 
534
532
  .. code-block:: bash
535
533
 
536
534
  python3 -m pip install -e .[test]
537
- TOXENV=py39-django31,checks python3 -m tox
535
+ TOXENV=py314-django60,type-check python3 -m tox
538
536
 
539
537
  You can install development requirements into your virtualenv. Linting and
540
538
  formatting uses pre-commit which you could also install on a system level.
@@ -55,7 +55,7 @@ exclude_lines = [
55
55
  ]
56
56
 
57
57
  [tool.mypy]
58
- python_version = "3.8"
58
+ python_version = "3.10"
59
59
  show_error_codes = true
60
60
  pretty = true
61
61
  files = ["src", "tests", "setup.py"]
@@ -15,14 +15,13 @@ classifiers =
15
15
  Programming Language :: Python :: 3.11
16
16
  Programming Language :: Python :: 3.12
17
17
  Programming Language :: Python :: 3.13
18
+ Programming Language :: Python :: 3.14
18
19
  Framework :: Django
19
- Framework :: Django :: 3.2
20
- Framework :: Django :: 4.0
21
- Framework :: Django :: 4.1
22
20
  Framework :: Django :: 4.2
23
21
  Framework :: Django :: 5.0
24
22
  Framework :: Django :: 5.1
25
23
  Framework :: Django :: 5.2
24
+ Framework :: Django :: 6.0
26
25
  Intended Audience :: Developers
27
26
  License :: OSI Approved :: MIT License
28
27
  Operating System :: OS Independent
@@ -34,7 +33,7 @@ license_file = LICENSE
34
33
  packages = find:
35
34
  package_dir =
36
35
  =src
37
- python_requires = >=3.6
36
+ python_requires = >=3.8
38
37
  include_package_data = True
39
38
  exclude =
40
39
  tests
@@ -42,7 +41,7 @@ exclude =
42
41
  example
43
42
  zip_safe = False
44
43
  install_requires =
45
- Django>=2.2
44
+ Django>=4.2
46
45
  typing-extensions>=3.7.4.3
47
46
 
48
47
  [options.packages.find]
@@ -1,4 +1,4 @@
1
- VERSION = (2, 4, 0, "final", 0)
1
+ VERSION = (3, 0, 0, "final", 0)
2
2
 
3
3
 
4
4
  def get_version() -> str:
@@ -53,7 +53,7 @@ class LoginAPI(BananasAdminAPI):
53
53
  login_form = AuthenticationForm(request, data=request.data)
54
54
 
55
55
  if not login_form.is_valid():
56
- raise serializers.ValidationError(login_form.errors)
56
+ raise serializers.ValidationError(login_form.errors) # type: ignore[arg-type]
57
57
 
58
58
  auth_login(request, login_form.get_user())
59
59
 
@@ -111,7 +111,7 @@ class ChangePasswordAPI(BananasAdminAPI):
111
111
  password_form = PasswordChangeForm(request.user, data=request.data)
112
112
 
113
113
  if not password_form.is_valid():
114
- raise serializers.ValidationError(password_form.errors)
114
+ raise serializers.ValidationError(password_form.errors) # type: ignore[arg-type]
115
115
 
116
116
  password_form.save()
117
117
  update_session_auth_hash(request, password_form.user)
@@ -11,6 +11,7 @@ from typing import (
11
11
  Type,
12
12
  TypeVar,
13
13
  Union,
14
+ cast,
14
15
  )
15
16
 
16
17
  from django.db.models import Model
@@ -66,7 +67,7 @@ _MT_co = TypeVar("_MT_co", bound=Model, covariant=True)
66
67
  class IsQuerySet(Protocol[_MT_co]):
67
68
  def values(
68
69
  self, *fields: Union[str, Combinable], **expressions: Any
69
- ) -> "_QuerySet[_MT_co, ModelDict]": ...
70
+ ) -> "_QuerySet[_MT_co, dict[str, Any]]": ...
70
71
 
71
72
 
72
73
  class ModelDictQuerySetMixin:
@@ -76,8 +77,8 @@ class ModelDictQuerySetMixin:
76
77
  if named_fields:
77
78
  fields += tuple(named_fields.values())
78
79
 
79
- clone = self.values(*fields)
80
- clone._iterable_class = ModelDictIterable
80
+ clone = cast("_QuerySet[_MT_co, ModelDict]", self.values(*fields))
81
+ clone._iterable_class = ModelDictIterable # type: ignore[assignment]
81
82
 
82
83
  # QuerySet._hints is a dict object used by db router
83
84
  # to aid deciding which db should get a request. Currently
@@ -85,7 +86,7 @@ class ModelDictQuerySetMixin:
85
86
  # fine to set a custom key on this dict as it's a guaranteed
86
87
  # way that it'll be returned with the QuerySet instance
87
88
  # while leaving the queryset intact
88
- clone._add_hints(**{"_named_fields": named_fields})
89
+ clone._add_hints(**{"_named_fields": named_fields}) # type: ignore[attr-defined]
89
90
 
90
91
  return clone
91
92
 
@@ -56,6 +56,10 @@ body:not(.popup) #header #object-tools {
56
56
  text-indent: -20000px;
57
57
  }
58
58
 
59
+ #changelist .changelist-form-container:has(#changelist-filter) > div {
60
+ max-width: 100%;
61
+ }
62
+
59
63
  #header #changelist-search input[type="submit"]:hover {
60
64
  background-image: url(../../img/search.svg), linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
61
65
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-bananas
3
- Version: 2.4
3
+ Version: 3.0
4
4
  Summary: Django Bananas - Django extensions the monkey way
5
5
  Home-page: https://github.com/5monkeys/django-bananas
6
6
  License: MIT License
@@ -13,22 +13,21 @@ Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
16
17
  Classifier: Framework :: Django
17
- Classifier: Framework :: Django :: 3.2
18
- Classifier: Framework :: Django :: 4.0
19
- Classifier: Framework :: Django :: 4.1
20
18
  Classifier: Framework :: Django :: 4.2
21
19
  Classifier: Framework :: Django :: 5.0
22
20
  Classifier: Framework :: Django :: 5.1
23
21
  Classifier: Framework :: Django :: 5.2
22
+ Classifier: Framework :: Django :: 6.0
24
23
  Classifier: Intended Audience :: Developers
25
24
  Classifier: License :: OSI Approved :: MIT License
26
25
  Classifier: Operating System :: OS Independent
27
26
  Classifier: Framework :: Django
28
- Requires-Python: >=3.6
27
+ Requires-Python: >=3.8
29
28
  Description-Content-Type: text/x-rst; charset=UTF-8
30
29
  License-File: LICENSE
31
- Requires-Dist: Django>=2.2
30
+ Requires-Dist: Django>=4.2
32
31
  Requires-Dist: typing-extensions>=3.7.4.3
33
32
  Provides-Extra: drf
34
33
  Requires-Dist: djangorestframework>=3.10; extra == "drf"
@@ -81,13 +80,11 @@ with the ``drf`` extra to keep those in sync:
81
80
 
82
81
  Currently tested only for
83
82
 
84
- - Django 3.2 under Python 3.8-3.10
85
- - Django 4.0 under Python 3.8-3.10
86
- - Django 4.1 under Python 3.8-3.13
87
- - Django 4.2 under Python 3.8-3.13
83
+ - Django 4.2 under Python 3.8-3.12
88
84
  - Django 5.0 under Python 3.10-3.13
89
85
  - Django 5.1 under Python 3.10-3.13
90
- - Django 5.2 under Python 3.10-3.13
86
+ - Django 5.2 under Python 3.10-3.14
87
+ - Django 6.0 under Python 3.12-3.14
91
88
 
92
89
  Pull requests welcome!
93
90
 
@@ -578,12 +575,12 @@ Testing and development requirements can be installed using package extras
578
575
  ``drf`` extra when installing ``dev``.
579
576
 
580
577
  To get started, setup a virtualenv and then install test requirements and run
581
- tests and checks on Python 3.9/Django 3.1 with:
578
+ tests and typehints on Python 3.14/Django 6.0 with:
582
579
 
583
580
  .. code-block:: bash
584
581
 
585
582
  python3 -m pip install -e .[test]
586
- TOXENV=py39-django31,checks python3 -m tox
583
+ TOXENV=py314-django60,type-check python3 -m tox
587
584
 
588
585
  You can install development requirements into your virtualenv. Linting and
589
586
  formatting uses pre-commit which you could also install on a system level.
@@ -1,4 +1,4 @@
1
- Django>=2.2
1
+ Django>=4.2
2
2
  typing-extensions>=3.7.4.3
3
3
 
4
4
  [dev]
File without changes
File without changes
File without changes