Skip to content

“Annotation” feature drops compatibility with Python 3.6 #42

@latk

Description

@latk

Recently, the following line was added to autoprogram.py:

from __future__ import annotations

However, the annotations feature was only added in Python 3.7 per PEP 563. This breaks autoprogram on Python 3.6, which still has upstream support until the end of the year.

We encountered this problem on our CI builds for the gcovr project, which we run on 3.6 to ensure compatibility. I note that autoprogram uses 3.7 as the oldest version.

What is the intention here?

  • Does autoprogram intend to support all Python versions with upstream support? If so, how can the annotations feature be made unnecessary? The annotations feature is not necessary for type annotations, but merely changes the evaluation order in order to directly support forward references.
  • Or will autoprogram as a developer-focused tool only target more recent Python versions, and explicitly drop support for 3.6? If so, please mention this in the changelog.

In any case, it may be time to update the classifiers in setup.py – they claim support for Python 3.3 and Stackless Python, both of which seem like untested claims :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions