diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 5936691dc..aab90cfd9 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -15,6 +15,16 @@ Contribute * Send a pull request with your changes. * Provide a translation using Transifex_. +Local installation +------------------ + +Install the development dependencies, which also installs the package in editable mode +for local development and additional development tools. + +.. code-block:: console + + pip install -r requirements_dev.txt + Running tests ------------- This project aims for full code-coverage, this means that your code should be diff --git a/docs/requirements.rst b/docs/requirements.rst index 99b5d56ba..505688df7 100644 --- a/docs/requirements.rst +++ b/docs/requirements.rst @@ -3,11 +3,12 @@ Requirements Django ------ -Supported Django versions are supported. Currently this list includes Django 3.2, 4.0, 4.1, and 4.2. +Supported Django versions are supported. Currently this list includes Django 3.2, 4.0, +4.1, 4.2 and 5.0. Python ------ -The following Python versions are supported: 3.8, 3.9, 3.10 and 3.11 with a +The following Python versions are supported: 3.8, 3.9, 3.10, 3.11 and 3.12 with a limit to what Django itself supports. As support for older Django versions is dropped, the minimum version might be raised. See also `What Python version can I use with Django?`_. diff --git a/requirements_dev.txt b/requirements_dev.txt index 5227a338b..b0ed90ea9 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,11 +1,6 @@ # The app itself --e . - -# Additional runtime dependencies - -twilio -phonenumberslite +-e .[call,sms,webauthn,yubikey,phonenumberslite,tests,linting] # Example app @@ -13,18 +8,6 @@ django-debug-toolbar django-bootstrap-form django-user-sessions -# Example app (WebAuthn) - -webauthn~=2.0.0 - -# Testing - -coverage -flake8 -tox -isort -freezegun - # Documentation Sphinx diff --git a/setup.py b/setup.py index 183ca6a8b..0c6b66581 100644 --- a/setup.py +++ b/setup.py @@ -25,6 +25,16 @@ 'yubikey': ['django-otp-yubikey'], 'phonenumbers': ['phonenumbers>=7.0.9,<8.99'], 'phonenumberslite': ['phonenumberslite>=7.0.9,<8.99'], + # used internally for local development & CI + 'tests': [ + 'coverage', + 'freezegun', + 'tox', + ], + 'linting': [ + 'flake8<=6.99', + 'isort<=5.99', + ], }, include_package_data=True, classifiers=[ diff --git a/tox.ini b/tox.ini index bcb2cf503..4469108ed 100644 --- a/tox.ini +++ b/tox.ini @@ -47,12 +47,9 @@ deps = dj42: Django<5.0 dj50: Django<5.1 djmain: https://github.com/django/django/archive/main.tar.gz - yubikey: django-otp-yubikey - webauthn: webauthn>=2.0,<2.99 webauthn: -rrequirements_e2e.txt - coverage - freezegun extras = + tests call phonenumberslite yubikey: yubikey @@ -65,10 +62,10 @@ commands = [testenv:flake8] basepython = python3 -deps = flake8<=6.99 +extras = linting commands = flake8 example tests two_factor [testenv:isort] basepython = python3 -deps = isort<=5.99 -commands = isort -rc -c --diff example tests two_factor +extras = linting +commands = isort -c --diff example tests two_factor