We previously decided #896 to drop legacy python support starting in v0.8. One question left open is what the minimum python version we will support is going to be.
For the record, numpy officially lists 3.5, 3.6, and 3.7, having dropped 3.4. Our current test suite does not cover 3.4, and I see no reason to keep it around.
The safest choice is probably 3.5, but I want to make a properly informed decision about this. For the record, here are links to the "what's new" docs for each of the current and forthcoming python3 versions:
The main question, I think, boils down to whether we want to make 3.6 the minimum Advantages to that (relative to 3.5):
asyncio stabilityWhere the async stuff mainly could be beneficial for extending the streaming interface going forward. F-strings are a nice-to-have, but not necessary. Type hints, also, might be nice in some cases, but most of our type requirements have to do with numpy arrays and value checks, so I don't think they can really be enforced syntactically.
As an aside, 3.5 is expected to hit EOL in september 2020. Since I expect 0.8 will probably land just around then --- we usually do point releases at the beginning of summer --- we may want to simply leapfrog up to 3.6+.
Most helpful comment
As an aside, 3.5 is expected to hit EOL in september 2020. Since I expect 0.8 will probably land just around then --- we usually do point releases at the beginning of summer --- we may want to simply leapfrog up to 3.6+.