Skip to content

Commit aa8c06a

Browse files
committed
Split requirements files up following DRF example
Fixes #712 Fixes #635 This way not all dependency need to be installed for the different testing steps.
1 parent 1753fe9 commit aa8c06a

12 files changed

+60
-30
lines changed

Diff for: .pyup.yml

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
search: False
22
requirements:
3-
- requirements-development.txt:
3+
- requirements/requirements-codestyle.txt:
4+
update: all
5+
pin: True
6+
- requirements/requirements-documentation.txt:
7+
update: all
8+
pin: True
9+
- requirements/requirements-optionals.txt:
10+
update: all
11+
pin: True
12+
- requirements/requirements-packaging.txt:
13+
update: all
14+
pin: True
15+
- requirements/requirements-testing.txt:
416
update: all
517
pin: True

Diff for: .travis.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ matrix:
1515

1616
include:
1717
- python: 3.6
18-
env: TOXENV=flake8
18+
env: TOXENV=lint
19+
- python: 3.6
20+
env: TOXENV=docs
1921

2022
- python: 3.5
2123
env: TOXENV=py35-django111-drf310

Diff for: README.rst

+2-3
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,7 @@ installed and activated:
126126

127127
$ git clone https://github.com/django-json-api/django-rest-framework-json-api.git
128128
$ cd django-rest-framework-json-api
129-
$ pip install -r example/requirements.txt
130-
$ pip install -e .
129+
$ pip install -U -e . -r requirements.txt
131130
$ django-admin migrate --settings=example.settings
132131
$ django-admin loaddata drf_example --settings=example.settings
133132
$ django-admin runserver --settings=example.settings
@@ -143,7 +142,7 @@ installed and activated:
143142

144143
::
145144

146-
$ pip install -Ur requirements-development.txt
145+
$ pip install -Ur requirements.txt
147146
$ flake8
148147
$ pytest
149148

Diff for: docs/getting-started.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ From Source
7575
cd django-rest-framework-json-api
7676
python3 -m venv env
7777
source env/bin/activate
78-
pip install -r example/requirements.txt
79-
pip install -e .
78+
pip install -U -e . r requirements.txt
8079
django-admin migrate --settings=example.settings
8180
django-admin loaddata drf_example --settings=example.settings
8281
django-admin runserver --settings=example.settings

Diff for: requirements-development.txt

-16
This file was deleted.

Diff for: requirements.txt

+13-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
1+
# The base set of requirements for Django REST framework JSON API is actually
2+
# fairly small, but for the purposes of development and testing
3+
# there are a number of packages that are useful to install.
4+
5+
# Laying these out as separate requirements files, allows us to
6+
# only included the relevant sets when running tox, and ensures
7+
# we are only ever declaring our dependencies in one place.
8+
9+
-r requirements/requirements-optionals.txt
10+
-r requirements/requirements-testing.txt
11+
-r requirements/requirements-documentation.txt
12+
-r requirements/requirements-codestyle.txt
13+
-r requirements/requirements-packaging.txt

Diff for: requirements/requirements-codestyle.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
flake8==3.7.7
2+
flake8-isort==2.7.0
3+
isort==4.3.21

Diff for: requirements/requirements-documentation.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
recommonmark==0.6.0
2+
Sphinx==2.2.0
3+
sphinx_rtd_theme==0.4.3

Diff for: requirements/requirements-optionals.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
django-filter==2.2.0
2+
django-polymorphic==2.1.2

Diff for: requirements/requirements-packaging.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
twine==2.0.0

Diff for: requirements/requirements-testing.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
django-debug-toolbar==2.0
2+
factory-boy==2.12.0
3+
Faker==2.0.2
4+
pytest==5.2.1
5+
pytest-cov==2.8.1
6+
pytest-django==3.5.1
7+
pytest-factoryboy==2.0.3

Diff for: tox.ini

+12-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
envlist =
33
py{35,36}-django111-drf{310,master},
44
py{35,36,37}-django{21,22}-drf{310,master},
5+
lint,docs
56

67
[testenv]
78
deps =
@@ -10,7 +11,8 @@ deps =
1011
django22: Django>=2.2,<2.3
1112
drf310: djangorestframework>=3.10.2,<3.11
1213
drfmaster: https://github.com/encode/django-rest-framework/archive/master.zip
13-
-rrequirements-development.txt
14+
-rrequirements/requirements-testing.txt
15+
-rrequirements/requirements-optionals.txt
1416

1517
setenv =
1618
PYTHONPATH = {toxinidir}
@@ -19,15 +21,19 @@ setenv =
1921
commands =
2022
pytest --cov --no-cov-on-fail --cov-report xml {posargs}
2123

22-
[testenv:flake8]
24+
[testenv:lint]
2325
basepython = python3.6
2426
deps =
25-
-rrequirements-development.txt
27+
-rrequirements/requirements-codestyle.txt
28+
-rrequirements/requirements-testing.txt
29+
-rrequirements/requirements-optionals.txt
2630
commands = flake8
2731

28-
[testenv:sphinx]
32+
[testenv:docs]
2933
basepython = python3.6
3034
deps =
31-
-rrequirements-development.txt
35+
-rrequirements/requirements-testing.txt
36+
-rrequirements/requirements-optionals.txt
37+
-rrequirements/requirements-documentation.txt
3238
commands =
33-
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
39+
sphinx-build -W -b html -d docs/_build/doctrees docs docs/_build/html

0 commit comments

Comments
 (0)