mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-11 04:07:39 +03:00
Merge pull request #2568 from tomchristie/requirements-refactor
Requirements refactor.
This commit is contained in:
commit
466bbbb308
|
@ -166,6 +166,16 @@ When a translator has finished translating their work needs to be downloaded fro
|
|||
|
||||
---
|
||||
|
||||
## Project requirements
|
||||
|
||||
All our test requirements are pinned to exact versions, in order to ensure that our test runs are reproducible. We maintain the requirements in the `requirements` directory. The requirements files are referenced from the `tox.ini` configuration file, ensuring we have a single source of truth for package versions used in testing.
|
||||
|
||||
You can check if there are any packages available at a newer version, by using the `pip-review` tool.
|
||||
|
||||
Package upgrades should generally be treated as isolated pull requests. Also note that the `pip-dump` command does not work gracefully with our requirements layout style, so any edits should be made manually.
|
||||
|
||||
---
|
||||
|
||||
## Project ownership
|
||||
|
||||
The PyPI package is owned by `@tomchristie`. As a backup `@j4mie` also has ownership of the package.
|
||||
|
|
|
@ -1,21 +1,13 @@
|
|||
# Minimum Django version
|
||||
Django>=1.4.11
|
||||
# The base set of requirements for REST framework is actually
|
||||
# just Django, but for the purposes of development and testing
|
||||
# there are a number of packages that it is useful to install.
|
||||
|
||||
# Test requirements
|
||||
pytest-django==2.8.0
|
||||
pytest==2.6.4
|
||||
pytest-cov==1.6
|
||||
flake8==2.2.2
|
||||
# Laying these out as seperate requirements files, allows us to
|
||||
# only included the relevent sets when running tox, and ensures
|
||||
# we are only ever declaring out dependancies in one place.
|
||||
|
||||
# Optional packages
|
||||
markdown>=2.1.0
|
||||
django-guardian==1.2.4
|
||||
django-filter>=0.9.2
|
||||
|
||||
# wheel for PyPI installs
|
||||
wheel==0.24.0
|
||||
# twine for secured PyPI uploads
|
||||
twine==1.4.0
|
||||
|
||||
# MkDocs for documentation previews/deploys
|
||||
mkdocs==0.11.1
|
||||
-r requirements/requirements-optionals.txt
|
||||
-r requirements/requirements-testing.txt
|
||||
-r requirements/requirements-documentation.txt
|
||||
-r requirements/requirements-codestyle.txt
|
||||
-r requirements/requirements-packaging.txt
|
||||
|
|
3
requirements/requirements-codestyle.txt
Normal file
3
requirements/requirements-codestyle.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
# PEP8 code linting, which we run on all commits.
|
||||
flake8==2.3.0
|
||||
pep8==1.6.2
|
2
requirements/requirements-documentation.txt
Normal file
2
requirements/requirements-documentation.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
# MkDocs to build our documentation.
|
||||
mkdocs==0.11.1
|
4
requirements/requirements-optionals.txt
Normal file
4
requirements/requirements-optionals.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Optional packages which may be used with REST framework.
|
||||
markdown==2.5.2
|
||||
django-guardian==1.2.5
|
||||
django-filter==0.9.2
|
11
requirements/requirements-packaging.txt
Normal file
11
requirements/requirements-packaging.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Wheel for PyPI installs.
|
||||
wheel==0.24.0
|
||||
|
||||
# Twine for secured PyPI uploads.
|
||||
twine==1.4.0
|
||||
|
||||
# Transifex client for managing translation resources.
|
||||
transifex-client==0.10
|
||||
|
||||
# The pip-review tool for checking package upgrades.
|
||||
pip-tools==0.3.5
|
3
requirements/requirements-testing.txt
Normal file
3
requirements/requirements-testing.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
# PyTest for running the tests.
|
||||
pytest==2.6.4
|
||||
pytest-django==2.8.0
|
13
tox.ini
13
tox.ini
|
@ -15,18 +15,17 @@ deps =
|
|||
django16: Django==1.6.3 # Should track minimum supported
|
||||
django17: Django==1.7.2 # Should track maximum supported
|
||||
django18alpha: https://www.djangoproject.com/download/1.8a1/tarball/
|
||||
django-guardian==1.2.4
|
||||
pytest-django==2.8.0
|
||||
django-filter==0.9.2
|
||||
markdown>=2.1.0
|
||||
-rrequirements/requirements-testing.txt
|
||||
-rrequirements/requirements-optionals.txt
|
||||
|
||||
[testenv:py27-flake8]
|
||||
deps =
|
||||
pytest==2.6.4
|
||||
flake8==2.2.2
|
||||
-rrequirements/requirements-testing.txt
|
||||
-rrequirements/requirements-codestyle.txt
|
||||
commands = ./runtests.py --lintonly
|
||||
|
||||
[testenv:py27-docs]
|
||||
deps =
|
||||
mkdocs>=0.11.1
|
||||
-rrequirements/requirements-testing.txt
|
||||
-rrequirements/requirements-documentation.txt
|
||||
commands = mkdocs build
|
||||
|
|
Loading…
Reference in New Issue
Block a user