I believe that change was introduced with https://github.com/linkml/prefixmaps/pull/55, and specifically python = "^3.9" was to support sphinx = "^7.2.6". But given that sphinx is a development dependency, I'm not sure it's a good idea to be so aggressive about its version specification, especially when it influences the the minimum Python version.
I don't believe there's anything in the runtime code or dependencies of this package that preclude it from running on Python 3.8. And yet: https://github.com/linkml/prefixmaps/blob/0bc0d5fe22e589914f27e5fb557b558945e5653f/pyproject.toml#L27
I believe that change was introduced with https://github.com/linkml/prefixmaps/pull/55, and specifically
python = "^3.9"
was to supportsphinx = "^7.2.6"
. But given that sphinx is a development dependency, I'm not sure it's a good idea to be so aggressive about its version specification, especially when it influences the the minimum Python version.