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:
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:
- Short term — add
gql<4.0 as an explicit constraint in setup.py / pyproject.toml so default installs don't silently break.
- 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.
Issue
A clean
pip install monarchmoneyon a fresh venv resolvesgqlto the 4.x line, which breaksmonarchmoney0.1.15 at runtime. The library was written against gql 3.x and uses the pre-4.0Client.execute_asyncsignature; gql 4.0 changed that signature, so any actual API call fails after a successful import and login.Repro
Then run any minimal script that calls
mm.get_accounts()after login — it fails insidegql_callon the transport execute path.Workaround
Pin
gql<4.0in the venv:pip install "gql<4.0"This resolves to
gql==3.5.3+graphql-core==3.2.6and the library works as documented (verified withget_accounts()returning live data).Suggested Fix
Either:
gql<4.0as an explicit constraint insetup.py/pyproject.tomlso default installs don't silently break.gql_calland any other call sites for the gql 4.x async transport API.Environment
monarchmoney==0.1.15gql>=4.0gql==3.5.3,graphql-core==3.2.6Combined with #184 (api domain change), these two pins together get 0.1.15 working end-to-end.