Currently aimacode is in Python 3.5, which is now five years old. I propose we upgrade to Python 3.7, which is two years old. (Python 3.8 is 1/2 year old, so I think it is too soon for that.)
The features of 3.6 and 3.7 which we should be using:
f-strings: Most uses of str.format and str % (args,) shoud be replaced with f'...'.
type hints: Technically these were in 3.5, but they were experimental then and are now clearly established. Most functions and methods should declare a return type. Function parameters only need to be declared when it is unclear; often the name of the parameter is already suggestive of the type. Most files will do from typing import ....
dict insertion order: We can rely on the fact that iterating over a dict sees the keys in the order they were inserted.
Currently
aimacode
is in Python 3.5, which is now five years old. I propose we upgrade to Python 3.7, which is two years old. (Python 3.8 is 1/2 year old, so I think it is too soon for that.)The features of 3.6 and 3.7 which we should be using:
str.format
andstr % (args,)
shoud be replaced withf'...'
.from typing import ...
.