Repository: ethereum/web3.py

Issue:
Support rlp==0.4.7
* Version: 3.7.2
* Python: 2.7
* OS: osx

### What was wrong?
https://github.com/ethereum/pydevp2p requires `rlp==0.4.7` ([here](https://github.com/ethereum/pydevp2p/blob/develop/requirements.txt#L11)), but `web3.py` requires `rlp>=0.4.6,<0.4.7`. This causes headaches when a project requires both packages as well as `rlp` independently.

I've created a repo with updated requirements here: https://github.com/karlfloersch/web3.py, but I haven't verified that everything is working properly.

#### Cute Animal Picture

![Cute animal picture](http://cdn.9appsdownloading.com/group1/M01/E8/54/pYYBAFbW5uiAUpNuAACUkuW7ZCQ868.png)
Thank you!



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@
     "pylru>=1.0.9",
     "pysha3>=0.3",
     "requests>=2.12.4",
-    "rlp>=0.4.6,<0.4.7",
+    "rlp>=0.4.7",
 ]
 
 if sys.platform == 'win32':
@@ -37,8 +37,7 @@
     include_package_data=True,
     install_requires=install_requires,
     extras_require={
-        'Tester': ["eth-testrpc>=1.1.0"],
-        'tester': ["eth-testrpc>=1.1.0"],
+        'tester': ["eth-testrpc>=1.2.0"],
         'gevent': [
             "gevent>=1.1.1,<1.2.0",
             "geventhttpclient>=1.3.1",
diff --git a/web3/providers/manager.py b/web3/providers/manager.py
--- a/web3/providers/manager.py
+++ b/web3/providers/manager.py
@@ -1,17 +1,18 @@
-import uuid
-import json
 import collections
+import json
+import uuid
+import warnings
 
 import rlp
 
 from eth_utils import (
+    decode_hex,
+    encode_hex,
     force_text,
-    to_normalized_address,
-    is_string,
     is_dict,
-    encode_hex,
-    decode_hex,
+    is_string,
     keccak,
+    to_normalized_address,
 )
 
 from web3.utils.encoding import (
@@ -82,6 +83,10 @@ def receive_async(self, request_id, *args, **kwargs):
 
 class ManagerWrapper(object):
     def __init__(self, wrapped_manager):
+        warnings.warn(DeprecationWarning(
+            "ManagerWrapper has been deprecated and will be removed from"
+            "web3.py in subsequen releases."
+        ))
         self.wrapped_manager = wrapped_manager
 
     @property
@@ -223,6 +228,10 @@ def request_blocking(self, method, params):
 
 class DelegatedSigningManager(BaseSendRawTransactionMixin):
     def __init__(self, *args, **kwargs):
+        warnings.warn(DeprecationWarning(
+            "DelegatedSigningManager has been deprecated and will be removed from"
+            "web3.py in subsequen releases."
+        ))
         self.signing_manager = kwargs.pop('signing_manager')
         super(DelegatedSigningManager, self).__init__(*args, **kwargs)
 
@@ -255,6 +264,10 @@ def get_transaction_signature(self, transaction):
 
 class PrivateKeySigningManager(BaseSendRawTransactionMixin):
     def __init__(self, *args, **kwargs):
+        warnings.warn(DeprecationWarning(
+            "PrivateKeySigningManager has been deprecated and will be removed from"
+            "web3.py in subsequen releases."
+        ))
         if not is_bitcoin_available():
             raise ImportError(
                 "In order to use the `PrivateKeySigningManager` the "


Test patch: