Skip to content

0.1.15 broken with default pip install: gql 4.0 changed Client.execute_async signature #191

@AristotleFund

Description

@AristotleFund

Issue

A clean pip install monarchmoney on a fresh venv resolves gql to the 4.x line, which breaks monarchmoney 0.1.15 at runtime. The library was written against gql 3.x and uses the pre-4.0 Client.execute_async signature; gql 4.0 changed that signature, so any actual API call fails after a successful import and login.

Repro

python -m venv venv
source venv/bin/activate
pip install monarchmoney
# pip resolves gql to 4.x

Then run any minimal script that calls mm.get_accounts() after login — it fails inside gql_call on the transport execute path.

Workaround

Pin gql<4.0 in the venv:

pip install "gql<4.0"

This resolves to gql==3.5.3 + graphql-core==3.2.6 and the library works as documented (verified with get_accounts() returning live data).

Suggested Fix

Either:

  1. Short term — add gql<4.0 as an explicit constraint in setup.py / pyproject.toml so default installs don't silently break.
  2. Longer term — update gql_call and any other call sites for the gql 4.x async transport API.

Environment

  • Library: monarchmoney==0.1.15
  • Broken: gql>=4.0
  • Working pin: gql==3.5.3, graphql-core==3.2.6
  • Python: 3.12
  • OS: Ubuntu 24.04 (WSL2)
  • Date: April 2026

Combined with #184 (api domain change), these two pins together get 0.1.15 working end-to-end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions