Dropping support for Python 3.7
Python 3.7 has reached EOL June 27 2023.
As this PR shows, dropping Python 3.7 doesn't bring as much as dropping 3.6 did tooling-wise, and 3.8 will syntax wise. But it brings a nice improvement to dealing with DLL location and PATH issues.
- os.add_dll_directory can now be used unconditionally. No more
PATHenvironment variable shenanigans! - The last version of https://pypi.org/project/pypiwin32/ is 223.
pywin32==223supported up to Python 3.7 at most. Leavingpypiwin32behind for good.
Also of interest:
- New positional-only syntax. (which is the reason mypy 1.5 decided to drop 3.7). But pywin32 doesn't even use the old syntax (
def foo(__bar):...) - Self-documenting f-strings. I wouldn't do that in this PR, and I'd want to keep reducing the mix of f-string, printf-style and format calls first.
- https://docs.python.org/3/whatsnew/3.8.html#pep-587-python-initialization-configuration (I'm not a C-Python programmer, no idea if any of these would be useful for pywin32)
I understand if you'd like to have one more release (307) supporting Python 3.7 before dropping it.
Conceptually this is fine, but if there's nothing which requires this it would be ideal if I could make another final release supporting 2.7 given it went EOL after the most recent pywin32 release.
Setting as draft until the next release. Speaking of which, I should build up a changelog of all the recent cleanup and fixes.