Merge pull request #2568 from tomchristie/requirements-refactor

Requirements refactor.
This commit is contained in:
Tom Christie 2015-02-17 13:03:56 +00:00
commit 466bbbb308
8 changed files with 50 additions and 26 deletions

View File

@ -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 ## Project ownership
The PyPI package is owned by `@tomchristie`. As a backup `@j4mie` also has ownership of the package. The PyPI package is owned by `@tomchristie`. As a backup `@j4mie` also has ownership of the package.

View File

@ -1,21 +1,13 @@
# Minimum Django version # The base set of requirements for REST framework is actually
Django>=1.4.11 # just Django, but for the purposes of development and testing
# there are a number of packages that it is useful to install.
# Test requirements # Laying these out as seperate requirements files, allows us to
pytest-django==2.8.0 # only included the relevent sets when running tox, and ensures
pytest==2.6.4 # we are only ever declaring out dependancies in one place.
pytest-cov==1.6
flake8==2.2.2
# Optional packages -r requirements/requirements-optionals.txt
markdown>=2.1.0 -r requirements/requirements-testing.txt
django-guardian==1.2.4 -r requirements/requirements-documentation.txt
django-filter>=0.9.2 -r requirements/requirements-codestyle.txt
-r requirements/requirements-packaging.txt
# 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

View File

@ -0,0 +1,3 @@
# PEP8 code linting, which we run on all commits.
flake8==2.3.0
pep8==1.6.2

View File

@ -0,0 +1,2 @@
# MkDocs to build our documentation.
mkdocs==0.11.1

View 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

View 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

View File

@ -0,0 +1,3 @@
# PyTest for running the tests.
pytest==2.6.4
pytest-django==2.8.0

13
tox.ini
View File

@ -15,18 +15,17 @@ deps =
django16: Django==1.6.3 # Should track minimum supported django16: Django==1.6.3 # Should track minimum supported
django17: Django==1.7.2 # Should track maximum supported django17: Django==1.7.2 # Should track maximum supported
django18alpha: https://www.djangoproject.com/download/1.8a1/tarball/ django18alpha: https://www.djangoproject.com/download/1.8a1/tarball/
django-guardian==1.2.4 -rrequirements/requirements-testing.txt
pytest-django==2.8.0 -rrequirements/requirements-optionals.txt
django-filter==0.9.2
markdown>=2.1.0
[testenv:py27-flake8] [testenv:py27-flake8]
deps = deps =
pytest==2.6.4 -rrequirements/requirements-testing.txt
flake8==2.2.2 -rrequirements/requirements-codestyle.txt
commands = ./runtests.py --lintonly commands = ./runtests.py --lintonly
[testenv:py27-docs] [testenv:py27-docs]
deps = deps =
mkdocs>=0.11.1 -rrequirements/requirements-testing.txt
-rrequirements/requirements-documentation.txt
commands = mkdocs build commands = mkdocs build