Skip to content

Fix the python_requires version specifier #7

Description

@hansingt

Currently, the project uses ~= 2.7, ~=3.2 as constraint on the python versions supported.

Where the ~= determines a "compatible release" (https://peps.python.org/pep-0440/#compatible-release) and is equivalent to >=N.M, <N+1.

According to PEP 440 this is an invalid specifier:

A version specifier consists of a series of version clauses, separated by commas. For example:

~= 0.9, >= 1.0, != 1.3.4.*, < 2.0
[...]
The comma (“,”) is equivalent to a logical and operator: a candidate version must match all given version clauses in order to match the specifier as a whole.

Especially, the last sentence is important. The comma is an and.

Thus, in fact, there can be no version matching >=2.7 and <3 and >=3.2 and <4.

This especially causes problems when using poetry as build system and trying to install simpleTALSix. Currently, it is not possible, because poetry tries to evaluate the python version constraint.

A correct constraint to express compatibility with Python 2.7 and 3.2+ would be: >=2.7, !=3.0.*, !=3.1.*, <4.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions