For subscriptions, you could use graphql-python/gql (https://github.com/graphql-python/gql) as a dependency instead of requests and graphql-core directly and support the websockets transport.
Would love to see a Rust port as a reference for how Rustaceans would achieve comparable functionality, curious what the tradeoffs would be (complexity and LoC).
A good example would be curlie (go frontend for curl - https://github.com/rs/curlie) vs httpie (pure python - https://github.com/httpie/httpie). Originally I used httpie for its easier syntax, but it is very noticeably slower than curlie. I presume this is why they are asking for a rust version.
Another reason is that python is a bit harder to distribute due to the nature of python packaging, where as rust compiles to a single binary.
https://git.sr.ht/~emersion/gqlclient
Which could be used to write a similar program.