Merge "Add optional-requirements.txt"

This commit is contained in:
Jenkins
2014-02-04 20:52:46 +00:00
committed by Gerrit Code Review
4 changed files with 51 additions and 7 deletions

View File

@@ -11,10 +11,28 @@ Join us
- http://launchpad.net/taskflow
Help
----
Testing and requirements
------------------------
**Tox.ini**
### Requirements
Because TaskFlow has many optional (pluggable) parts like persistence
backends and engines, we decided to split our requirements into two
parts:
- things that are absolutely required by TaskFlow (you can't use
TaskFlow without them) are put to `requirements.txt`;
- things that are required by some optional part of TaskFlow (you
can use TaskFlow without them) are put to `optional-requirements.txt`;
if you want to use the feature in question, you should add that
requirements to your project or environment;
- as usual, things that required only for running tests are put
to `test-requirements.txt`.
### Tox.ini
Our tox.ini describes several test environments that allow to test
TaskFlow with different python versions and sets of requirements
installed.
To generate tox.ini, use the `toxgen.py` script by first installing
[toxgen](https://pypi.python.org/pypi/toxgen/) and then provide that script

22
optional-requirements.txt Normal file
View File

@@ -0,0 +1,22 @@
# This file lists dependencies that are used by different
# pluggable (optional) parts of TaskFlow, like engines
# or persistence backends. They are not strictly required
# by TaskFlow (you can use TaskFlow without them), but
# so they don't go to requirements.txt.
# Database (sqlalchemy) persistence:
SQLAlchemy<=0.7.99,<=0.9.99
alembic>=0.4.1
# Database (sqlalchemy) persistence with MySQL:
pyMySQL
MySQL-python
# Database (sqlalchemy) persistence with PostgreSQL:
psycopg2
# ZooKeeper backends
kazoo>=1.3.1
# Eventlet may be used with parallel engine
eventlet>=0.13.0

View File

@@ -34,7 +34,7 @@ commands = pylint
[testenv:cover]
basepython = python2.7
deps = {[testenv:py27-sa9-mysql-ev]deps}
deps = {[testenv:py27]deps}
commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:venv]
@@ -52,7 +52,9 @@ deps = {[testenv:py26-sa7-mysql-ev]deps}
[testenv:py27]
basepython = python2.7
deps = {[testenv:py27-sa9-mysql-ev]deps}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/optional-requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py33]
basepython = python3.3

View File

@@ -65,7 +65,7 @@ commands = pylint
[testenv:cover]
basepython = python2.7
deps = {[testenv:py27-sa9-mysql-ev]deps}
deps = {[testenv:py27]deps}
commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:venv]
@@ -81,7 +81,9 @@ deps = {[testenv:py26-sa7-mysql-ev]deps}
[testenv:py27]
basepython = python2.7
deps = {[testenv:py27-sa9-mysql-ev]deps}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/optional-requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py33]
basepython = python3.3