During development of Pylint, we encountered interesting problem related to non-dependency that may break pylint package.
Case is following:
python-futurehad a conflicting alias toconfigparserpackage. Quoting official docs:This release removes the configparser package as an alias for ConfigParser on Py2 to improve compatibility with Lukasz Langa’s backported configparser package. Previously python-future and the configparser backport clashed, causing various compatibility issues. (Issues #118, #181)
python-futureitself is not a dependency of Pylint
What would be a standard way to enforce if python-future is present, force it to 0.16 or later limitation? I want to avoid defining dependency as future>=0.16 - by doing this I'd force users to install package that they don't need and won't use in a general case.