Without timeouts set, a plugin install/update fetch against a stalled server hangs indefinitely (read stall) or freezes for ~2 minutes (dead connect). It was verified empirically.
So I suggest to add 2 defaults configurable using env vars:
PICARD_GIT_CONNECT_TIMEOUT= 30
PICARD_GIT_TIMEOUT = 60
https://www.pygit2.org/settings.html#pygit2.Settings.server_connect_timeout
https://www.pygit2.org/settings.html#pygit2.Settings.server_timeout