It would be fantastic if pywikibot's User had an option to tell whether the block is full or partial. Currently, it just has is_blocked() which is a boolean. Perhaps there should either be more information returned or a new method added for is_partial_block() is something?
A brief example of current behaviour on enwiki, with a partially blocked user.
>>> import pywikibot >>> site = pywikibot.Site() >>> user = pywikibot.User(site, "~2025-39752-31") >>> user User('User:~2025-39752-31') >>> user.is_blocked() True