summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyramid/compat.py6
-rw-r--r--pyramid/static.py7
-rw-r--r--pyramid/traversal.py3
-rw-r--r--pyramid/url.py3
-rw-r--r--setup.py4
5 files changed, 15 insertions, 8 deletions
diff --git a/pyramid/compat.py b/pyramid/compat.py
index 8c8645460..8a1e89909 100644
--- a/pyramid/compat.py
+++ b/pyramid/compat.py
@@ -17,6 +17,12 @@ try:
except ImportError: # pragma: no cover
import pickle
+try:
+ from functools import lru_cache
+
+except ImportError:
+ from repoze.lru import lru_cache
+
# PY3 is left as bw-compat but PY2 should be used for most checks.
PY2 = sys.version_info[0] == 2
PY3 = sys.version_info[0] == 3
diff --git a/pyramid/static.py b/pyramid/static.py
index a8088129e..70fdf877b 100644
--- a/pyramid/static.py
+++ b/pyramid/static.py
@@ -17,14 +17,15 @@ from pkg_resources import (
resource_isdir,
)
-from repoze.lru import lru_cache
-
from pyramid.asset import (
abspath_from_asset_spec,
resolve_asset_spec,
)
-from pyramid.compat import text_
+from pyramid.compat import (
+ lru_cache,
+ text_,
+)
from pyramid.httpexceptions import (
HTTPNotFound,
diff --git a/pyramid/traversal.py b/pyramid/traversal.py
index 641445067..d8f4690fd 100644
--- a/pyramid/traversal.py
+++ b/pyramid/traversal.py
@@ -1,8 +1,6 @@
from zope.interface import implementer
from zope.interface.interfaces import IInterface
-from repoze.lru import lru_cache
-
from pyramid.interfaces import (
IResourceURL,
IRequestFactory,
@@ -20,6 +18,7 @@ from pyramid.compat import (
is_nonstr_iter,
decode_path_info,
unquote_bytes_to_wsgi,
+ lru_cache,
)
from pyramid.encode import url_quote
diff --git a/pyramid/url.py b/pyramid/url.py
index 2e964dc7e..917a3c675 100644
--- a/pyramid/url.py
+++ b/pyramid/url.py
@@ -2,8 +2,6 @@
import os
-from repoze.lru import lru_cache
-
from pyramid.interfaces import (
IResourceURL,
IRoutesMapper,
@@ -12,6 +10,7 @@ from pyramid.interfaces import (
from pyramid.compat import (
bytes_,
+ lru_cache,
string_types,
)
from pyramid.encode import (
diff --git a/setup.py b/setup.py
index 2af0535c3..3a7f7e161 100644
--- a/setup.py
+++ b/setup.py
@@ -12,6 +12,8 @@
#
##############################################################################
+import sys
+
from setuptools import setup, find_packages
def readfile(name):
@@ -24,7 +26,6 @@ CHANGES = readfile('CHANGES.txt')
install_requires = [
'setuptools',
'WebOb >= 1.7.0rc2', # Response.has_body
- 'repoze.lru >= 0.4', # py3 compat
'zope.interface >= 3.8.0', # has zope.interface.registry
'zope.deprecation >= 3.5.0', # py3 compat
'venusian >= 1.0a3', # ``ignore``
@@ -87,6 +88,7 @@ setup(name='pyramid',
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
install_requires=install_requires,
extras_require={
+ ':python_version<"3.2"': ['repoze.lru >= 0.4'],
'testing': testing_extras,
'docs': docs_extras,
},