From a5792a35882c4740a3aa9021a4d9cff551daec7e Mon Sep 17 00:00:00 2001 From: Suleiman Latrsh Date: Tue, 25 Aug 2026 11:09:34 -0400 Subject: [PATCH 1/2] Deprecate in favor of shopifyapp Set Development Status classifier to '7 - Inactive' and update the README notice to a clear deprecation. Use shopifyapp, which supports the latest Shopify platform features. Assisted-By: devx/76ce673e-0c1d-4481-a139-0485281bc265 --- README.md | 3 ++- setup.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b91703c..13c542a4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -**Note:** We've released a new experimental package for Python. Please read [rethinking our support for PHP & Python packages](https://community.shopify.dev/t/rethinking-support-for-php-python-packages/28325). The new Python package supports the latest Shopify platform features and we'd love your feedback. Please see [shopifyapp](https://pypi.org/project/shopifyapp/) to get started. +> [!WARNING] +> **This package is deprecated and no longer maintained.** Use [`shopifyapp`](https://pypi.org/project/shopifyapp/) instead. It supports the latest Shopify platform features. For background, see [rethinking our support for PHP & Python packages](https://community.shopify.dev/t/rethinking-support-for-php-python-packages/28325). # Shopify API diff --git a/setup.py b/setup.py index eb23ab08..983db6ad 100755 --- a/setup.py +++ b/setup.py @@ -34,7 +34,7 @@ ], platforms="Any", classifiers=[ - "Development Status :: 5 - Production/Stable", + "Development Status :: 7 - Inactive", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", From 1e773eef712698809ddcdb6b59726f837d0b5092 Mon Sep 17 00:00:00 2001 From: Suleiman Latrsh Date: Tue, 25 Aug 2026 11:55:06 -0400 Subject: [PATCH 2/2] Address review: reach PyPI + existing users, add CHANGELOG - setup.py: add the deprecation notice to LONG_DESCRIPTION so it shows on PyPI (the page is built from this string, not README). - shopify/__init__.py: emit a DeprecationWarning on import so existing users get a signal (Python has no Composer-style abandoned flag). - CHANGELOG: note the deprecation under Unreleased (ships in the release that activates the classifier). - README: state that the package keeps working but gets no new features/security fixes, and link the migration guide. Assisted-By: devx/76ce673e-0c1d-4481-a139-0485281bc265 --- CHANGELOG | 1 + README.md | 2 +- setup.py | 7 +++++++ shopify/__init__.py | 9 +++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index e9910c2e..959c5015 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ == Unreleased +- **Deprecated:** This package is no longer maintained. Use [`shopifyapp`](https://pypi.org/project/shopifyapp/) instead, which supports the latest Shopify platform features. The `Development Status` classifier is now `7 - Inactive`, the PyPI description and README carry a deprecation notice, and importing the package emits a `DeprecationWarning`. Existing users can keep using it, but no new features or security fixes are planned. See the [shopify-app-python README](https://github.com/Shopify/shopify-app-python#readme) to upgrade. - Remove requirement to provide scopes to Permission URL, as it should be omitted if defined with the TOML file. == Version 12.7.0 diff --git a/README.md b/README.md index 13c542a4..e77c7ed3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ > [!WARNING] -> **This package is deprecated and no longer maintained.** Use [`shopifyapp`](https://pypi.org/project/shopifyapp/) instead. It supports the latest Shopify platform features. For background, see [rethinking our support for PHP & Python packages](https://community.shopify.dev/t/rethinking-support-for-php-python-packages/28325). +> **This package is deprecated and no longer maintained.** Use [`shopifyapp`](https://pypi.org/project/shopifyapp/) instead, which supports the latest Shopify platform features. It will keep working for existing users, but no new features or security fixes are planned. See the [`shopify-app-python` README](https://github.com/Shopify/shopify-app-python#readme) to upgrade. For background, see [rethinking our support for PHP & Python packages](https://community.shopify.dev/t/rethinking-support-for-php-python-packages/28325). # Shopify API diff --git a/setup.py b/setup.py index 983db6ad..798a1867 100755 --- a/setup.py +++ b/setup.py @@ -4,6 +4,13 @@ exec(open("shopify/version.py").read()) DESCRIPTION = "Shopify API for Python" LONG_DESCRIPTION = """\ +DEPRECATED: This package is no longer maintained. Use the shopifyapp +package (https://pypi.org/project/shopifyapp/) instead, which supports the +latest Shopify platform features. See the shopify-app-python README for how +to upgrade: https://github.com/Shopify/shopify-app-python#readme. This +package will keep working for existing users but will not receive new +features or security fixes. + The ShopifyAPI library allows python developers to programmatically access the admin section of stores using an ActiveResource like interface similar the ruby Shopify API gem. The library makes HTTP diff --git a/shopify/__init__.py b/shopify/__init__.py index d3f53de9..e0c1143a 100644 --- a/shopify/__init__.py +++ b/shopify/__init__.py @@ -1,3 +1,5 @@ +import warnings + from shopify.version import VERSION from shopify.session import Session, ValidationException from shopify.resources import * @@ -5,3 +7,10 @@ from shopify.api_version import * from shopify.api_access import * from shopify.collection import PaginatedIterator + +warnings.warn( + "ShopifyAPI is deprecated and no longer maintained. Use the 'shopifyapp' " + "package instead: https://pypi.org/project/shopifyapp/", + DeprecationWarning, + stacklevel=2, +)