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>
>
>

Reply via email to