Skip to content

Commit 1d4bb0d

Browse files
authored
New release 1.15.0 (#274)
1 parent 26c9aaa commit 1d4bb0d

28 files changed

+1120
-871
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ venv/
1515
.pytest_cache/
1616
.tool-versions
1717
pytest-coverage.txt
18-
coverage.xml
18+
coverage.xml
19+
.vscode/

README.md

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# django-braces
22

3-
Mixins for Django's class-based views.
3+
`django-braces` provides useful Mixins for Django's class-based views.
4+
Most of these mixins replicate the behavior of Django's function-based view
5+
decorators. Others solve common headaches with working with class-based views.
6+
You can read more in [the documentation](https://django-braces.readthedocs.io/en/latest/index.html).
47

58
![Build](https://github.com/brack3t/django-braces/actions/workflows/ci.yml/badge.svg?branch=main)
69
[![PyPI version](https://badge.fury.io/py/django-braces.svg)](http://badge.fury.io/py/django-braces)
710
[![codecov](https://codecov.io/gh/brack3t/django-braces/branch/main/graph/badge.svg?token=aBhzbsyyTi)](https://codecov.io/gh/brack3t/django-braces)
811

9-
## Documentation
12+
## Notes
1013

11-
[Read The Docs](https://django-braces.readthedocs.io/en/latest/index.html)
14+
`django-braces` is stable and time-tested. It does not receive a lot of updates
15+
and is not in active development.
1216

13-
## Installation
14-
15-
Install from PyPI with `pip`:
16-
`pip install django-braces`
17+
`django-braces` also only officially supports Python version that are still
18+
receiving fixes and Django LTS versions. `django-braces` will work with most
19+
modern version of Python and Django, however.
1720

18-
## Building the Docs
21+
## Installation
1922

20-
1. Install docs requirements: `pip install -r requirements-docs.txt`.
21-
2. `cd docs`.
22-
3. `make html`.
23-
4. Open `_build/index.html` in your browser.
23+
Install from PyPI with `pip`: `pip install django-braces`
2424

2525
## Contributing
2626

@@ -30,20 +30,9 @@ Add yourself to `CONTRIBUTORS.txt` if you want.
3030

3131
All development dependencies are available in `requirements.txt` file.
3232

33-
To run the test suite, please install `tox` and as many Python interpreters as you'd
34-
like to test against. Currently we test against 2.7, 3.6, 3.7, and 3.8. We recommend
35-
using `asdf` to install various Python versions.
36-
37-
Once `tox` and Python(s) are installed, you can execute the entire suite by running
38-
just the `tox` command.
33+
To run the test suite, please install `pytest` and run `pytest` at the root
34+
of the repository.
3935

4036
## Change Log
4137

4238
[Changelog on Read The Docs](https://django-braces.readthedocs.io/en/latest/changelog.html)
43-
44-
## Supported Django Versions
45-
46-
Our policy is that `django-braces` officially supports, and is tested on, all versions
47-
that Django [officially supports](https://www.djangoproject.com/download/#supported-versions).
48-
You are free to use `django-braces` with any version of Django you wish (so long as it has
49-
class-based views) but no support will be promised.

braces/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
:license: BSD 3-clause. See LICENSE for more details
99
"""
1010

11-
__title__ = 'braces'
12-
__version__ = '1.14.0'
13-
__author__ = 'Kenneth Love and Chris Jones'
14-
__license__ = 'BSD 3-clause'
15-
__copyright__ = 'Copyright 2013 Kenneth Love and Chris Jones'
11+
__title__ = "braces"
12+
__version__ = "1.15.0"
13+
__author__ = "Kenneth Love and Chris Jones"
14+
__license__ = "BSD 3-clause"
15+
__copyright__ = "Copyright 2013 Kenneth Love and Chris Jones"

braces/forms.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ class UserKwargModelFormMixin(object):
77
expecting these kwargs to be passed in, so they must be popped off before
88
anything else is done.
99
"""
10+
1011
def __init__(self, *args, **kwargs):
1112
self.user = kwargs.pop("user", None) # Pop the user off the
12-
# passed in kwargs.
13+
# passed in kwargs.
1314
super(UserKwargModelFormMixin, self).__init__(*args, **kwargs)

braces/views/__init__.py

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
SuperuserRequiredMixin,
99
UserPassesTestMixin,
1010
SSLRequiredMixin,
11-
RecentLoginRequiredMixin
11+
RecentLoginRequiredMixin,
1212
)
1313
from ._ajax import (
1414
AjaxResponseMixin,
1515
JSONRequestResponseMixin,
1616
JSONResponseMixin,
17-
JsonRequestResponseMixin
17+
JsonRequestResponseMixin,
1818
)
1919
from ._forms import (
2020
CsrfExemptMixin,
@@ -30,42 +30,42 @@
3030
CanonicalSlugDetailMixin,
3131
SetHeadlineMixin,
3232
StaticContextMixin,
33-
HeaderMixin
33+
HeaderMixin,
3434
)
3535
from ._queries import (
3636
OrderableListMixin,
3737
PrefetchRelatedMixin,
38-
SelectRelatedMixin
38+
SelectRelatedMixin,
3939
)
4040

4141
__all__ = [
42-
'AjaxResponseMixin',
43-
'AllVerbsMixin',
44-
'AnonymousRequiredMixin',
45-
'CanonicalSlugDetailMixin',
46-
'CsrfExemptMixin',
47-
'FormInvalidMessageMixin',
48-
'FormMessagesMixin',
49-
'FormValidMessageMixin',
50-
'GroupRequiredMixin',
51-
'HeaderMixin',
52-
'JSONRequestResponseMixin',
53-
'JsonRequestResponseMixin',
54-
'JSONResponseMixin',
55-
'LoginRequiredMixin',
56-
'MessageMixin',
57-
'MultiplePermissionsRequiredMixin',
58-
'OrderableListMixin',
59-
'PermissionRequiredMixin',
60-
'PrefetchRelatedMixin',
61-
'SelectRelatedMixin',
62-
'SetHeadlineMixin',
63-
'StaffuserRequiredMixin',
64-
'StaticContextMixin',
65-
'SuccessURLRedirectListMixin',
66-
'SuperuserRequiredMixin',
67-
'UserFormKwargsMixin',
68-
'UserPassesTestMixin',
69-
'SSLRequiredMixin',
70-
'RecentLoginRequiredMixin'
42+
"AjaxResponseMixin",
43+
"AllVerbsMixin",
44+
"AnonymousRequiredMixin",
45+
"CanonicalSlugDetailMixin",
46+
"CsrfExemptMixin",
47+
"FormInvalidMessageMixin",
48+
"FormMessagesMixin",
49+
"FormValidMessageMixin",
50+
"GroupRequiredMixin",
51+
"HeaderMixin",
52+
"JSONRequestResponseMixin",
53+
"JsonRequestResponseMixin",
54+
"JSONResponseMixin",
55+
"LoginRequiredMixin",
56+
"MessageMixin",
57+
"MultiplePermissionsRequiredMixin",
58+
"OrderableListMixin",
59+
"PermissionRequiredMixin",
60+
"PrefetchRelatedMixin",
61+
"SelectRelatedMixin",
62+
"SetHeadlineMixin",
63+
"StaffuserRequiredMixin",
64+
"StaticContextMixin",
65+
"SuccessURLRedirectListMixin",
66+
"SuperuserRequiredMixin",
67+
"UserFormKwargsMixin",
68+
"UserPassesTestMixin",
69+
"SSLRequiredMixin",
70+
"RecentLoginRequiredMixin",
7171
]

0 commit comments

Comments
 (0)