Move some non pure python requirements (namely lxml and paramiko)
from pip-requires to test-requires.  Document it in README.rst.

Motivations:

- Make this pip-installable with pypy
- Less distribution package requirements (deb/rpm/etc) in case
  a user do not actually need the functionality

Note: while paramiko itself is pure python, it requires pycrypto.
Note: msgpack has pure python fallback implementation.

Separating ryu into smaller packages would be a better alternative.
However, it would involve a lot more work than this workaround.

Signed-off-by: YAMAMOTO Takashi <yamam...@valinux.co.jp>
---
 README.rst          | 15 +++++++++++++++
 tools/pip-requires  |  2 --
 tools/test-requires |  2 ++
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/README.rst b/README.rst
index 9756530..8d522a5 100644
--- a/README.rst
+++ b/README.rst
@@ -33,6 +33,21 @@ After writing your application, just type::
    % ryu-manager yourapp.py
 
 
+Optional Requirements
+=====================
+
+Some functionalities of ryu requires extra packages:
+
+- OF-Config requires lxml
+- NETCONF requires paramiko
+- BGP speaker (net_cntl) requires paramiko
+
+If you want to use the functionalities, please install requirements::
+
+    % pip install lxml
+    % pip install paramiko
+
+
 Support
 =======
 Ryu Official site is `<http://osrg.github.io/ryu/>`_.
diff --git a/tools/pip-requires b/tools/pip-requires
index d06342a..5753ce5 100644
--- a/tools/pip-requires
+++ b/tools/pip-requires
@@ -1,9 +1,7 @@
 eventlet
-lxml  # OF-Config
 msgpack-python>=0.3.0  # RPC library, BGP speaker(net_cntl)
 netaddr
 oslo.config>=1.2.0
-paramiko  # NETCONF, BGP speaker
 routes  # wsgi
 six>=1.4.0
 webob>=1.2  # wsgi
diff --git a/tools/test-requires b/tools/test-requires
index 2ffd739..06b8c54 100644
--- a/tools/test-requires
+++ b/tools/test-requires
@@ -4,3 +4,5 @@ nose
 pep8
 pylint==0.25.0
 xml_compare
+lxml  # OF-Config
+paramiko  # NETCONF, BGP speaker
-- 
2.1.0


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to