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.

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