Browse Source

Merge pull request #8178 from mgorny/cached-prop-dep

Use built-in functools.cached_property when possible
Anca Iordache 4 years ago
parent
commit
981b0cd641
3 changed files with 7 additions and 3 deletions
  1. 5 1
      compose/config/config.py
  2. 1 1
      requirements.txt
  3. 1 1
      setup.py

+ 5 - 1
compose/config/config.py

@@ -10,7 +10,11 @@ from operator import attrgetter
 from operator import itemgetter
 from operator import itemgetter
 
 
 import yaml
 import yaml
-from cached_property import cached_property
+
+try:
+    from functools import cached_property
+except ImportError:
+    from cached_property import cached_property
 
 
 from . import types
 from . import types
 from ..const import COMPOSE_SPEC as VERSION
 from ..const import COMPOSE_SPEC as VERSION

+ 1 - 1
requirements.txt

@@ -1,5 +1,5 @@
 backports.shutil_get_terminal_size==1.0.0
 backports.shutil_get_terminal_size==1.0.0
-cached-property==1.5.1
+cached-property==1.5.1; python_version < '3.8'
 certifi==2020.6.20
 certifi==2020.6.20
 chardet==3.0.4
 chardet==3.0.4
 colorama==0.4.3; sys_platform == 'win32'
 colorama==0.4.3; sys_platform == 'win32'

+ 1 - 1
setup.py

@@ -25,7 +25,6 @@ def find_version(*file_paths):
 
 
 
 
 install_requires = [
 install_requires = [
-    'cached-property >= 1.2.0, < 2',
     'docopt >= 0.6.1, < 1',
     'docopt >= 0.6.1, < 1',
     'PyYAML >= 3.10, < 6',
     'PyYAML >= 3.10, < 6',
     'requests >= 2.20.0, < 3',
     'requests >= 2.20.0, < 3',
@@ -50,6 +49,7 @@ if sys.version_info[:2] < (3, 4):
 
 
 extras_require = {
 extras_require = {
     ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'],
     ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'],
+    ':python_version < "3.8"': ['cached-property >= 1.2.0, < 2'],
     ':sys_platform == "win32"': ['colorama >= 0.4, < 1'],
     ':sys_platform == "win32"': ['colorama >= 0.4, < 1'],
     'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'],
     'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'],
     'tests': tests_require,
     'tests': tests_require,