Subject: [bug#63657] [PATCH] gnu: python-py3status: Update to 3.50, compatible with Python 3.10.

From: Ivan Vilata i Balaguer <[email-masked]>
Date: Fri, 26 May 2023 14:29:31 +0200

Ivan Vilata i Balaguer (2023-05-23 09:49:29 +0200) wrote:

> This avoids "ImportError: cannot import name 'Iterable' from 'collections'"
> from py3status version < 3.25.
> 
> * gnu/packages/python-xyz.scm (python-py3status): Update to 3.50.

To add some context to this patch, the issue is with the main package program
crashing with current Python 3.10 on execution (building doesn't fail):

```
$ guix shell -CW which procps python-py3status
user@computer /tmp [env]$ guix describe
  guix 14c0380
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 14c03807ba4bc81d42cf869f5b827f7da54ff843
user@computer /tmp [env]$ py3status
Traceback (most recent call last):
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/bin/.py3status-real", line 13, in <module>
    sys.exit(main())
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/lib/python3.10/site-packages/py3status/__init__.py", line 34, in main
    from py3status.core import Py3statusWrapper
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/lib/python3.10/site-packages/py3status/core.py", line 22, in <module>
    from py3status.i3status import I3status
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/lib/python3.10/site-packages/py3status/i3status.py", line 14, in <module>
    from py3status.py3 import Py3
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/lib/python3.10/site-packages/py3status/py3.py", line 19, in <module>
    from py3status.storage import Storage
  File "/gnu/store/73w4jp96ib943bzxc3g4wg1ja8xdg7ha-python-py3status-3.21/lib/python3.10/site-packages/py3status/storage.py", line 5, in <module>
    from collections import Iterable, Mapping
ImportError: cannot import name 'Iterable' from 'collections' (/gnu/store/dy3xh053ahkhrp2jamggq8cpsyvp8mg0-python-3.10.7/lib/python3.10/collections/__init__.py)
```

Newer versions use `from collections.abc`.

Cheers,

-- 
Ivan Vilata i Balaguer -- https://elvil.net/