Commit Graph

217 Commits

Author SHA1 Message Date
Bruno Alla
b25028ac8f
Add support for Python 3.13 (#9527)
* Add support for Python 3.13

* Fix extracting tox env with -dev Python versions

* Fix view description inspection in Python 3.13

Python 3.13 introduced docstrings for None: https://github.com/python/cpython/pull/117813

In Python 3.12, this is an empty string:

```
 ➜ python3.12
Python 3.12.6 (main, Sep 10 2024, 19:06:17) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d = None
>>> d.__doc__
>>>
```

In Python 3.13, it's no longer empty:

```
 ➜ python3.13
Python 3.13.0rc2+ (heads/3.13:660baa1, Sep 10 2024, 18:57:50) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d = None
>>> d.__doc__
'The type of the None singleton.'
>>>
```

Adding a check in the inspector that get the view description out the view function docstring to catch this edge case.
2024-09-11 15:39:52 +06:00
Bruno Alla
2ede857de0
Add official support for Django 5.1 (#9514)
* Add official support for Django 5.1

Following the supported Python versions:

https://docs.djangoproject.com/en/stable/faq/install/

* Add tests to cover compat with Django's 5.1 LoginRequiredMiddleware

* First pass to create DRF's LoginRequiredMiddleware

* Attempt to fix the tests

* Revert custom middleware implementation

* Disable LoginRequiredMiddleware on DRF views

* Document how to integrate DRF with LoginRequiredMiddleware

* Move login required tests under a separate test case

* Revert redundant change

* Disable LoginRequiredMiddleware on ViewSets

* Add some integrations tests to cover various view types
2024-09-07 17:21:18 +06:00
Peter Thomassen
82d91a85ff
Fix tox config 2024-04-30 18:28:21 +02:00
Peter Thomassen
1f2daaf53c
Drop support for Django < 4.2 and Python < 3.8
Discussion: https://github.com/encode/django-rest-framework/discussions/8814#discussioncomment-9237791
2024-04-30 18:28:19 +02:00
Rodrigo
d4016d8ec1
Add Django 5.0 support (#9233)
* Update tox.ini

* Update tests for Django 5.0

* Update documentation

* Update setup.py
2024-02-28 11:52:22 +01:00
Asif Saif Uddin
336e7addb6
added python 3.12 to CI (#9157)
* added python 3.12 to CI

* Update tox.ini

* Update tox.ini

* Update tox.ini
2024-02-20 14:12:07 +01:00
Asif Saif Uddin
b60fbf3374
test django 4.2 stable release (#8932) 2023-04-03 22:35:11 +06:00
Asif Saif Uddin
59430111bd
Update tox with django 4.2rc1 (#8920) 2023-03-28 16:08:27 +06:00
Asif Saif Uddin
9882207c16
test django 4.2b1 (#8892) 2023-02-28 22:02:12 +06:00
Asif Saif Uddin
2db0c0bf0a
initial django 4.2a1 testing (#8846)
* initial django 4.2a1 testing

* django 4.2 in classifier
2023-01-19 20:47:50 +06:00
Adam Johnson
59ae95b22f
Upgrade to tox 4 (#8795) 2022-12-08 08:01:07 +00:00
Paolo Melchiorre
2a2b092864
Fix #8751 - Add support to Python 3.11 (#8752) 2022-11-21 11:47:21 +01:00
Tom Christie
f8b3f38b57
Update supported versions for 3.14 release (#8662)
* Update supported versions for 3.14 release

* Fix up test case for Django 3.0
2022-09-21 14:32:02 +01:00
Mariusz Felisiak
333f1ffb94
Confirmed support for Django 4.1. (#8498) 2022-06-06 12:39:06 +01:00
Paolo Melchiorre
773f479719
Python/Django compatibility updates (#8288)
* Update python and django versions in tox.ini

* Update  python requires in setup.py

* Update tox.ini

Co-authored-by: Tom Christie <tom@tomchristie.com>
2021-12-10 15:31:01 +00:00
Tom Christie
16ca0c24d3 Add 3.10 to tox.ini and setup.py 2021-12-10 11:53:48 +00:00
Jet Li
1cb3fa2e81
Test Django 4.0 (#8280)
* Test Django 4.0

Django 4.0 released today.

* Test Django 4.0

* Test Django 4.0

* Test Django 4.0
2021-12-10 09:31:05 +00:00
Asif Saif Uddin
580bf45ccf
test v4 beta 1 (#8222)
* test v4 beta 1

* django 4 rc1
2021-11-22 10:48:58 +00:00
Carlton Gibson
c62e3ca764 Added Django 4.0 to test matrix. 2021-09-23 11:57:03 +02:00
Asif Saif Uddin
88666629a7
stop testing django 3.0 as its EOL (#8136) 2021-08-31 13:56:08 +01:00
Adam Johnson
e92016ac2e
Stop ignoring test outcome for Django 3.2 (#7927) 2021-06-21 11:33:43 +01:00
Adam Johnson
fd017d00f9
Move CI to GitHub Actions (#7903)
* Recreate all the jobs on GitHub Actions
* Upgrade to Ubuntu 20.04
* Upgrade base/docs/dist to Python 3.9
2021-04-06 18:34:18 +01:00
Adam Johnson
aa12a5f967
Lint with pre-commit (#7900)
Following [my comment here](https://github.com/encode/django-rest-framework/pull/7589#issuecomment-813301322) and [Django's own move to pre-commit](https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#pre-commit-checks).

* Add pre-commit config file to run flake8 and isort.
* Add extra "common sense" hooks.
* Run pre-commit on GitHub actions using the [official action](https://github.com/pre-commit/action/). This is a good way to get up-and-running but it would be better if we activated [pre-commit.ci](https://pre-commit.ci/), which is faster and will auto-update the hooks for us going forwards.
* Remove `runtests.py` code for running linting tools.
* Remove `runtests.py --fast` flag, since that would now just run `pytest -q`, which can be done with `runtests.py -q` instead.
* Remove tox configuration and requirements files for linting.
* Update the contributing guide to mention setting up pre-commit.
2021-04-05 12:08:52 +01:00
Carlton Gibson
f070619061
Updated tox/travis to point to Django main branch. (#7827) 2021-03-11 10:26:11 +00:00
Asif Saif Uddin
1ec0f86b58
Dj32 (#7713)
adds django 3.2 line to the build matrix
2021-02-16 13:17:29 +01:00
Adam Johnson
563b043768
Error on deprecation and pending deprecation warnings (#7586)
Erroring on deprecation or pending deprecation warnings means they are caught early. This will avoid the cycle of releasing with 'support for Django X', then chasing all the deprecation warnings one-by-one. Instead, when a new Django version is added to the test matrix, it will fail until all the relevant warnings are fixed. This avoids passing these warnings on to users, some of whom don't upgrade until they are all fixed.
2020-10-10 17:34:00 +01:00
Michael K
ddcd8b539b
Run tests against Python 3.9 (#7517)
3.9.0 final is expected on Monday, 2020-10-05
See https://www.python.org/dev/peps/pep-0596/#schedule

Also mention Django 3.1 compat where missing.
2020-09-08 15:40:21 +01:00
Asif Saif Uddin
acbd9d8222
django 3.1 alpha on matrix (#7334)
* django 3.1 alpha on matrix

* django 3.1 alpha on matrix
2020-05-15 08:40:47 +01:00
Ryan P Kilby
86aa549832
Drop Django 2.1 and below. (#7225) 2020-03-11 14:51:42 +01:00
Asif Saif Uddin
9325c3f654 dj 3.0 (#7070) 2019-12-03 11:13:44 +00:00
Tom Christie
7fbbfe2c60
Django 3 compat (#7058)
* First pass at Django 3.0 compat

* Drop Guardian for 1.11 tests, since we're installing an incompatible version

* Fix ROOT_URLCONF override in test case

* Fix typo

Co-Authored-By: Rémy HUBSCHER <hubscher.remy@gmail.com>

* Linting
2019-11-21 11:55:53 +00:00
Bastien Vallet
64f567a021 Bump CI to Python 3.8 (#7008) 2019-10-22 14:39:01 -07:00
Ryan P Kilby
82c2b5c3e7
Update mkdocs (#6769) 2019-06-30 19:04:36 -07:00
Asif Saif Uddin
50a24d6d7f Drop Python 3.4 support (#6620) 2019-05-06 11:35:58 -07:00
Carlton Gibson
0407a0df8a
Dropped Python 2 compatibility. (#6615)
Thanks to Jon Dufresne (@jdufresne) for review.

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com>
2019-04-30 17:53:44 +02:00
Carlton Gibson
b1122a441a
Update tox to use Django 2.2 final. (#6556) 2019-04-01 16:30:26 +02:00
Asif Saif Uddin
13b9b0fb98 Upgraded to Django 2.2rc1 on Tox (#6544) 2019-03-28 21:19:06 +01:00
Carlton Gibson
606dd49227 Update tox to use Django 2.2b2. 2019-02-14 15:57:20 +01:00
Carlton Gibson
63e352586b
Drop testing Python 3.5 against Django master. (#6431)
Not supported in Django 3.0.
2019-01-31 17:16:43 +01:00
Asif Saif Uddin
2b62941bb4 Added testing against Django 2.2a1. (#6422)
* Added testing against Django 2.2a1.
* Allow failures for Django 2.2
2019-01-31 16:50:36 +01:00
Ryan P Kilby
7f77340b33
Add Python 3.7 support (#6141) 2018-09-10 21:44:23 -07:00
Jon Dufresne
5ad24b0811 Test using Django 2.1 final release (#6109) 2018-08-06 10:06:17 +02:00
Ryan P Kilby
a628a2dbce Drop Django 1.10 support (#5657)
* Remove Django 1.10 from CI

* Remove Django 1.10 compat code
2018-07-06 12:14:31 +02:00
Daniel Hahler
b23cdaff4c tox/pytest: move posargs, use -ra (#6039)
- tox: move {posargs} to the end, so that it can override previous
  entries, e.g. `-ra` when `-rw` was used.
- pytest: add `-ra` to addopts: it is good to see a summary of skipped
  and failed tests at the end.
2018-07-06 10:34:11 +02:00
Ryan P Kilby
1a170438d2 Add "optionals not required" build (#6047) 2018-06-22 10:16:57 +02:00
Asif Saifuddin Auvi
d778c5e51e Update tox to use Django v2.1b1 (#6037) 2018-06-21 09:07:33 +02:00
Steven Loria
cf925caa48 Render markdown readme on PyPI (#6004)
* Render markdown readme on PyPI

PyPI now supports GitHub-flavored Markdown descriptions
(https://blog.thea.codes/github-flavored-markdown-on-pypi/),
so there's no need to convert the README to rst with pypandoc
any more.

* Remove readme checking

Checking markdown descriptions is not necessary.
See https://github.com/pypa/readme_renderer#markdown

* Upgrade twine
2018-06-03 19:21:04 +01:00
Asif Saifuddin Auvi
2634294667 updated tox and travis for django 2.1 alpha1 2018-05-23 16:33:15 +06:00
Daniel Hahler
4527a753cd Move pytest config to setup.cfg (#5979)
Also adds `testspath` to improve test collection performance.
2018-05-08 13:28:16 +01:00
Daniel Hahler
fd4282c7fa pytest: use --strict (#5966)
This causes errors with invalid markers:

> AttributeError: 'skipUnless' not a registered marker

Fixed in https://github.com/encode/django-rest-framework/pull/5965.
2018-05-03 21:43:57 +01:00