Fresh install fails to run on Fedora 30 (but I'm guessing something changed in httpx)

Ran pip3 install -U google-music-scripts --user
Then gsm --help

Traceback (most recent call last):
  File "/home/luser/.local/bin/gms", line 6, in <module>
    from google_music_scripts.cli import run
  File "/home/luser/.local/lib/python3.7/site-packages/google_music_scripts/cli.py", line 26, in <module>
    from .commands import (
  File "/home/luser/.local/lib/python3.7/site-packages/google_music_scripts/commands.py", line 3, in <module>
    import google_music
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/__init__.py", line 2, in <module>
    from .api import *
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/api.py", line 6, in <module>
    from .clients import MobileClient, MusicManager
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/__init__.py", line 1, in <module>
    from .mobileclient import *
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/mobileclient.py", line 18, in <module>
    from .base import GoogleMusicClient
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/base.py", line 8, in <module>
    from httpx.middleware.basic_auth import BasicAuthMiddleware as HTTPBasicAuth
ModuleNotFoundError: No module named 'httpx.middleware.basic_auth'; 'httpx.middleware' is not a package

Checking under httpx (version 0.9.3) I see middleware.py but a grep for BasicAuthMiddleware turns up nothing.

I’d be willing to fix this but since I know nothing about that package I’m hoping you know what to change

Yeah, they changed a lot. I have been busy, but you can just pip install httpx==0.7.8 to get it working.

Sadly that only helped a little
$ gms quota
Went to the URL, granted permission, pasted the code then I get this traceback

[2019-12-30 22:12:56] Logging in to Music Manager
Traceback (most recent call last):
  File "/home/luser/.local/bin/gms", line 10, in <module>
    sys.exit(run())
  File "/home/luser/.local/lib/python3.7/site-packages/google_music_scripts/cli.py", line 618, in run
    args.func(args)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music_scripts/commands.py", line 279, in do_quota
    mm = google_music.musicmanager(args.username, uploader_id=args.uploader_id)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/api.py", line 73, in musicmanager
    return MusicManager(username, uploader_id, token=token)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/musicmanager.py", line 66, in __init__
    self._upauth(uploader_id, uploader_name)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/musicmanager.py", line 72, in _upauth
    self._call(mm_calls.UpAuth, uploader_id, uploader_name)
  File "/home/luser/.local/lib/python3.7/site-packages/tenacity/__init__.py", line 293, in wrapped_f
    return self.call(f, *args, **kw)
  File "/home/luser/.local/lib/python3.7/site-packages/tenacity/__init__.py", line 359, in call
    do = self.iter(retry_state=retry_state)
  File "/home/luser/.local/lib/python3.7/site-packages/tenacity/__init__.py", line 332, in iter
    raise retry_exc.reraise()
  File "/home/luser/.local/lib/python3.7/site-packages/tenacity/__init__.py", line 168, in reraise
    raise self.last_attempt.result()
  File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 428, in result
    return self.__get_result()
  File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/luser/.local/lib/python3.7/site-packages/tenacity/__init__.py", line 362, in call
    result = fn(*args, **kwargs)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music/clients/base.py", line 219, in _call
    return call.parse_response(response.headers, response.content)
  File "/home/luser/.local/lib/python3.7/site-packages/google_music_proto/musicmanager/models.py", line 42, in parse_response
    raise Exception(f"{self.__class__.__name__} call failed: {res_body}")
Exception: UpAuth call failed: response_type: AUTH_RESPONSE
policy {
  pause_uploads: false
  abort: false
14 substitutions on 14 lines                                                                                                                                                             1,1           Top
Exception: UpAuth call failed: response_type: AUTH_RESPONSE
policy {
  pause_uploads: false
  abort: false
  retry_in_minutes: 5
  bandwidth_cap_kbps: 12000
  pause_downloads: false
  download_bandwidth_cap_kbps: 16000
  send_analytics: false
  enable_gapless: true
  enable_m4p: true
}
auth_status: MAX_LIMIT_REACHED
auth_error: false
upauth_response {
  uploader_id: "8C:DC:D4:2E:5D:3D"
}```

You can see the MAX_LIMIT_REACHED as the auth_status. Could probably try to make a special exception for this at some point. But, the message means you have too many devices registered to your Google Music account. Remove at least one and try again.

Ah I was thinking of MAX_LIMIT_REACHED more in terms of failed auth attempts. Cleared out my devices and now I’m up and running. Thanks for the help