Update to and document why minimum requirement is Python 3.8
Python 3.8 is included in Ubuntu 20.04 LTS so should be supported on a wide variety of machines (including clusters) in the next few years. It seems like a good idea to make this our minimum version soon, especially with recent changes that use features from it (see below). Currently most of us have been developing with 3.7. This is apparently getting withdrawn from the LIGO cluster soon.
Current features of 3.8 that are used in the code:
- Needed to enforce positional-only args in
- Any others?
!37 (merged) (not yet merged) also uses a package added in 3.9, (Actually, the parts used from
importlib.resources, but there is an official PyPI package that adds this to earlier versions so we can add that as a dependency.
importlib.resources are available since 3.7.
importlib_resourcesdependency which polyfills Python 3.9's
importlib.resourcespackage, now used to parse the config file distributed with the Finesse sdist/bdist packages
- Update conda environment YAML file
- Add documentation somewhere (main docs? readme file?) explaining why this is required (request from Jan Just to help out sysadmins wondering why)