diff --git a/__pkginfo__.py b/__pkginfo__.py index e727fad8bd2d3fce0a9ba981ebf14745cbf1aed5..0e06bee5cd9eb7ffbc573d40ed29850c481f594f 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -43,21 +43,21 @@ author_email = "contact@logilab.fr" scripts = [join("bin", "logilab-pytest")] include_dirs = [join("test", "data")] -install_requires = [ - "setuptools", - "mypy-extensions", - "typing_extensions", -] +__depends__ = { + "setuptools": None, + "mypy-extensions": None, + "typing_extensions": None, +} tests_require = [ "pytz", "egenix-mx-base", ] if os.name == "nt": - install_requires.append("colorama") + __depends__["colorama"] = None if sys.version_info < (3, 8): - install_requires.append("importlib_metadata") + __depends__["importlib_metadata"] = None classifiers = [ "Topic :: Utilities", diff --git a/setup.py b/setup.py index fdad0f7b90dd92fbb490517de550958e2adf7068..0fed7467c2157bc47aa1fdc742977298aa52336f 100644 --- a/setup.py +++ b/setup.py @@ -34,6 +34,11 @@ with open(path.join(here, "__pkginfo__.py")) as f: with open(path.join(here, "README.rst"), encoding="utf-8") as f: long_description = f.read() +requires = {} +for entry in ("__depends__",): # "__recommends__"): + requires.update(pkginfo.get(entry, {})) +install_requires = ["{0} {1}".format(d, v and v or "").strip() for d, v in requires.items()] + setup( name=pkginfo["distname"], version=pkginfo["version"], @@ -50,7 +55,7 @@ setup( include_package_data=True, namespace_packages=[pkginfo["subpackage_of"]], python_requires=">=3.6", - install_requires=pkginfo["install_requires"], + install_requires=install_requires, tests_require=pkginfo["tests_require"], scripts=pkginfo["scripts"], )