diff --git a/README.rst b/README.rst index 4e975c3..c8b65d8 100644 --- a/README.rst +++ b/README.rst @@ -544,12 +544,16 @@ Create Scoped Keys (**Deprecated**) '''''''''''''''''' The Python client enables you to create `Scoped Keys <https://keen.io/docs/security/#scoped-key>`_ easily, but Access Keys are better! -If you need to use them anyway, for legacy reasons, here's how: +If you need to use them anyway, here's how: + +:: + + pip install pycryptodome .. code-block:: python from keen.client import KeenClient - from keen import scoped_keys + from keen import scoped_keys # You must have pycryptodome installed! api_key = KEEN_MASTER_KEY diff --git a/keen/scoped_keys.py b/keen/scoped_keys.py index 30794ec..28ea07a 100644 --- a/keen/scoped_keys.py +++ b/keen/scoped_keys.py @@ -2,8 +2,15 @@ import json import os import six -from Crypto.Cipher import AES +try: + from Crypto.Cipher import AES +except ImportError as ie: + ie.args = (ie.args[0] + ' -- Scoped Keys are deprecated in favor' + ' of Access Keys. To use Scoped Keys anyway, run: ' + '`pip install pycryptodome` and try this again.',) + raise ie + from keen import Padding __author__ = 'dkador' diff --git a/requirements.txt b/requirements.txt index 8224fb4..eeb0912 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ -pycryptodome>=3.4 requests>=2.5,<3.0 six~=1.10.0 diff --git a/setup.py b/setup.py index 5b560c9..27afdb3 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ reqs = reqs_file.readlines() reqs_file.close() -tests_require = ['nose', 'mock', 'responses==0.5.1', 'unittest2'] +tests_require = ['nose', 'mock', 'responses==0.5.1', 'unittest2', 'pycryptodome>=3.4'] setup( name="keen",