On Tue, May 20, 2025 at 5:26 AM Markus Armbruster <arm...@redhat.com> wrote:
> John Snow <js...@redhat.com> writes: > > > This patch changes type hints that have built-in equivalents as of > > Python 3.9. The versions we currently use, imported from the typing > > module, have been deprecated since 3.9 and may be removed at any time - > > though to my knowledge, they are not scheduled for removal in 3.14. > > > > The type hints to update are: > > > > typing.Dict => dict > > typing.List => list > > typing.Tuple => tuple > > typing.Set => set > > typing.Type => type > > > > I performed this change the dumb way (I couldn't work out for the life > > of me how to beg ls-files to exclude subprojects and empty directories, > > desipte it having an option which claims to do precisely that. Suggest a > > nicer way to do this if you'd like.) > > > > git ls-files | grep -v 'roms/' | grep -v 'subprojects/' | grep -v > 'tests/lcitool/libvirt-ci' | xargs sed -i -e 's/Dict\[/dict\[/g' > > git ls-files | grep -v 'roms/' | grep -v 'subprojects/' | grep -v > 'tests/lcitool/libvirt-ci' | xargs sed -i -e 's/List\[/list\[/g' > > git ls-files | grep -v 'roms/' | grep -v 'subprojects/' | grep -v > 'tests/lcitool/libvirt-ci' | xargs sed -i -e 's/Tuple\[/tuple\[/g' > > git ls-files | grep -v 'roms/' | grep -v 'subprojects/' | grep -v > 'tests/lcitool/libvirt-ci' | xargs sed -i -e 's/Set\[/set\[/g' > > git ls-files | grep -v 'roms/' | grep -v 'subprojects/' | grep -v > 'tests/lcitool/libvirt-ci' | xargs sed -i -e 's/Type\[/type\[/g' > > > > I then used "git add -p" and excluded changes by hand that weren't > > appropriate. I then reviewed all of the changed files by hand to review > > the imports and update them accordingly. > > > > Signed-off-by: John Snow <js...@redhat.com> > > I'd expect to catch mistakes in the manual parts. I gave scripts/qapi/ > an eye-over anyway, and it looks good to me. > I've prepared an alternate series that's vastly more automated, using "pyupgrade", "autoflake", and isort. As a downside it touches a lot more than just the type hints, removing other outdated pythonisms. As an upside it's way, way less manual. > > Acked-by: Markus Armbruster <arm...@redhat.com> > >