-
-
Notifications
You must be signed in to change notification settings - Fork 408
Closed
Labels
ThinkingNeeds more braining.Needs more braining.
Description
I propose that we end support for Python 2.7 and Python 3.5.
Python 2.7 is already EOL and the last patch for 3.5 will be released this July (if I interpret the PEP correctly).
According to pypistats.org, the share of py27 is approx. 11% and declining. Py35 has approx. 7%.
Setting py36 as minimum version would allow us to use these features:
These features would in turn allow us to:
- Use f-Strings everywhere. =)
- Make
auto_attribs=Truethe default (and deprecate this kwarg altogether) ([RFC] Inconvenient defaults? #487) - Implement (optional) auto-convertion/-validation based on type annotations (Add function to "instantiate" __annotations__-derived 'attr.ib's. #424, [RFC] Add optional automatic validation and conversion #649)
- Write test with attrs classes that directly use type annotations (auto_attrs) w/o worrying about syntax errors on older versions
- Use inline type annotations and get rid of the pyi files which could increase readability and maintainability of the code.
- Get rid of compatibilty code which would also increase maintainability.
This would require a new major release. The next one will be v20 which is, as chance would have it, a nice round number. ;-)
Metadata
Metadata
Assignees
Labels
ThinkingNeeds more braining.Needs more braining.