python-amcrest icon indicating copy to clipboard operation
python-amcrest copied to clipboard

setting “python_requires” with ">=3.7" is a better way to declare Python compatibility

Open PyVCEchecker opened this issue 3 years ago • 0 comments

Hello!

I noticed that "amcrest" use a Python3-specific syntax rule "f_string", which lead to installation failure of Inject in Python 2. And there is such a declaration.

  classifiers=[
      ...
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        ...
    ]

I guess you want to set python>=3.7. And I think it is a better way to declare Python compatibility by using the keyword argument python_requires

  • Descriptions in python_requires will be reflected in the metadata
  • “pip install” can check such metadata on the fly during distribution selection , and prevent from downloading and installing the incompatible package versions.
  • If the user does not specify any version constraint, pip can automatically choose the latest compatible package version for users.

Way to improve: modify setup() in setup.py, add python_requires keyword argument:

setup(…
     python_requires=">=3.7",
     …)

Thanks for your attention. Best regrads, PyVCEchecker

PyVCEchecker avatar Feb 10 '23 02:02 PyVCEchecker