Skip to content
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
This repository was archived by the owner on Oct 6, 2026. It is now read-only.

Shopify Python API and Future GraphQL-Only Support #761

Closed as not planned
Closed as not planned

Description

@NavidBecause

Description

Shopify has announced plans to deprecate the REST API in favor of GraphQL-only support. However, the shopify_python_api package still heavily relies on REST under the hood, even when using the shopify.GraphQL client.

As Shopify transitions to a GraphQL only approach, I'm wondering

  • Will the Shopify Python API be updated to fully support GraphQL-only workflows?
  • Are there plans to remove REST dependencies and provide an optimized GraphQL client?
  • Should developers continue using this package for GraphQL, or should we start migrating to custom GraphQL clients?
  • If an official GraphQL-first version is planned, is there an ETA or roadmap?

Any insights into future plans and recommendations would be greatly appreciated. Thank you so much! 🙏

Activity

  1. rafalpietrzakio commented on Feb 13, 2025

    @rafalpietrzakio

    Bump! I see that REST will (might) be abandoned around April. This plugin supports some GraphQL queries (GraphQL.execute(query)) so it's possible to switch and consume GraphQL here as well

  2. rjh336 commented on Mar 4, 2025

    @rjh336

    Hey @sle-c @Arkham - do you know the answers to the above? I think it will be important to add clarity about which parts of this package will be inoperable due to the REST API decommissioning next month

  3. github-actions commented on May 4, 2025

    @github-actions

    This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.

  4. sdobbelaere commented on May 5, 2025

    @sdobbelaere

    bump

  5. github-actions commented on Jul 5, 2025

    @github-actions

    This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.

  6. AMontagu commented on Jul 5, 2025

    @AMontagu

    bump

  7. cjauvin commented on Aug 11, 2025

    @cjauvin

    As a Python developer new to Shopify, I am confused by this situation. What is the status of this library, in relation to GraphQL and REST support's future?

  8. AMontagu commented on Aug 13, 2025

    @AMontagu

    I am not a maintener of this project. But the experience we get is the following:

    • The futur of shopify is full graphql.
    • This lib already support the possibility of execute graphql query
    • As REST and graphql are fundamentaly different the current lib interface may not be logic anymore.

    My reco is go forward and start making yor own graphql query with the client already existing in this lib and use LLM engine of you choices with the shopify doc as MCP or context to help you with that

  9. cjauvin commented on Aug 13, 2025

    @cjauvin

    I switched to the gql python library. IMO this library (shopify API) should have a clear warning in the README, to better explain the situation (what is there currently is not explicit enough). I imagine that it could be even possible to create yet another library that would wrap GraphQL, to offer a higher-level interface, as this one is doing? But I repeat: having this library be a high-level wrapper around a deprecated API, as well as a sub-interface to GraphQL, is too confusing.

  10. tulayha commented on Aug 30, 2025

    @tulayha

    For anyone following this discussion: I ran into the same limitation (this package being REST-heavy with incomplete GraphQL support) and built a separate helper library focused purely on GraphQL.

    Repo: https://github.com/tulayha/shopify-gql-helper-py
    PyPI: https://pypi.org/project/shopify-gql-helper/

    It’s a lightweight GraphQL-first client.

    Current features:

    • Pagination handling
    • Throttling
    • Shared sessions per store (tested in ETL scripts with parallel per-store calls holding up well)

    Planned (contributions welcome):

    • Bulk import
    • Nested resource-level iteration

    Sharing here in case it’s useful until/if this package officially shifts to GraphQL.

    Note: this is read-only/ETL-focused right now; haven't tested out mutations and they may throw errors.

  11. NavidBecause commented on Sep 2, 2025

    @NavidBecause
    Author

    I wonder if we can create our own Shopify GraphQL SDK with full docs and make it really good and easy

  12. cjauvin commented on Sep 3, 2025

    @cjauvin

    Not sure exactly what you have in mind by "GraphQL SDK". For my part, what I have in mind is this: a higher-level, object-oriented wrapper around a lower-level GQL-based (or any other GraphQL client library for Python) implementation, which would allow to manipulate dataclasses like Products, Orders, and such without thinking at all in terms of GraphQL primitives. A little bit like what this current library was doing, for the REST interface. But, to be honest, I'm not even sure it would make sense (or be worth the effort), as one could argue that GraphQL, in itself, is already a high enough level of abstraction, and that providing another one on top of it would not be really necessary.

  13. Krrish1999 commented on Sep 4, 2025

    @Krrish1999

    Hey saw your issue, I'm building a tool that auto-fixes these errors by scanning solved cases from top Shopify devs.
    If I solved this for you right now, would you pay $7 to never see this error again?
    (Reply YES/NO - takes 10 sec. If YES, I'll fix your error free as a test.)

  14. NavidBecause commented on Oct 1, 2025

    @NavidBecause
    Author

    Not sure exactly what you have in mind by "GraphQL SDK". For my part, what I have in mind is this: a higher-level, object-oriented wrapper around a lower-level GQL-based (or any other GraphQL client library for Python) implementation, which would allow to manipulate dataclasses like Products, Orders, and such without thinking at all in terms of GraphQL primitives. A little bit like what this current library was doing, for the REST interface. But, to be honest, I'm not even sure it would make sense (or be worth the effort), as one could argue that GraphQL, in itself, is already a high enough level of abstraction, and that providing another one on top of it would not be really necessary.

    I agree, that's just stacking more complexity and making it harder to understand and maintain. I'd recommend something like making a Shopify Python SDK that uses GraphQL under the hood with type safety, pydantic models, and lots of documentation that makes it easy to use in a nice object oriented way. Essentially, what this was trying to do with REST but with GraphQL only, but much nicer, with better exceptions, and easier to use. We could also give the ability for the user to write their own custom GraphQL if they need something more optimized than what the SDK already has

    However, what I'm thinking might be a big project and not sure if volunteer open-source developers should be building this since it is a paid service

  15. github-actions commented on Dec 1, 2025

    @github-actions

    This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.

  16. NavidBecause commented on Dec 1, 2025

    @NavidBecause
    Author

    bump

  17. github-actions commented on Jan 31, 2026

    @github-actions

    This issue is stale because it has been open for 60 days with no activity. It will be closed if no further action occurs in 14 days.

  18. github-actions commented on Feb 14, 2026

    @github-actions

    We are closing this issue because it has been inactive for a few months.
    This probably means that it is not reproducible or it has been fixed in a newer version.
    If it’s an enhancement and hasn’t been taken on since it was submitted, then it seems other issues have taken priority.

    If you still encounter this issue with the latest stable version, please reopen using the issue template. You can also contribute directly by submitting a pull request– see the CONTRIBUTING.md file for guidelines

    Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions