diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bec772a7..55d63877 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,23 +17,23 @@ jobs: fail-fast: false matrix: include: - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x0 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x1 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x3 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x4 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x5 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x6 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-scrapy-2x7 - - python-version: '3.9' + - python-version: '3.10' toxenv: min-extra - - python-version: '3.9' + - python-version: '3.10' toxenv: min-provider - python-version: '3.10' toxenv: min-x402 diff --git a/docs/setup.rst b/docs/setup.rst index 99d73ee5..ae05da47 100644 --- a/docs/setup.rst +++ b/docs/setup.rst @@ -18,14 +18,12 @@ You need at least: - A :ref:`Zyte API ` subscription (there’s a :ref:`free trial `). -- Python 3.9+ +- Python 3.10+ - Scrapy 2.0.1+ :doc:`scrapy-poet ` integration requires Scrapy 2.6+. -:ref:`x402 support ` requires Python 3.10+. - .. _install: @@ -38,14 +36,13 @@ For a basic installation: pip install scrapy-zyte-api -For :ref:`scrapy-poet integration `: +For :ref:`scrapy-poet integration `, install the ``provider`` extra: .. code-block:: shell pip install scrapy-zyte-api[provider] -For :ref:`x402 support `, make sure you have Python 3.10+ and install -the ``x402`` extra: +For :ref:`x402 support `, install the ``x402`` extra: .. code-block:: shell diff --git a/pyproject.toml b/pyproject.toml index 6ffa3b38..3ef90178 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,13 +16,12 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", ] -requires-python = ">=3.9" +requires-python = ">=3.10" # Sync with [pinned] @ tox.ini dependencies = [ "packaging>=20.0", diff --git a/tox.ini b/tox.ini index 255be21e..aaeedf25 100644 --- a/tox.ini +++ b/tox.ini @@ -71,35 +71,35 @@ deps = # Earliest supported Scrapy version. [testenv:min-scrapy-2x0] -basepython=python3.9 +basepython=python3.10 deps = {[min-pre-scrapy-2x5]deps} scrapy==2.0.1 # Scrapy version introducing Response.ip_address. [testenv:min-scrapy-2x1] -basepython=python3.9 +basepython=python3.10 deps = {[min-pre-scrapy-2x5]deps} scrapy==2.1.0 # Latest Scrapy version since 2.0.1 not requiring to install the reactor early. [testenv:min-scrapy-2x3] -basepython=python3.9 +basepython=python3.10 deps = {[min-pre-scrapy-2x5]deps} scrapy==2.3.0 # First Scrapy version requiring to install the reactor early. [testenv:min-scrapy-2x4] -basepython=python3.9 +basepython=python3.10 deps = {[min-pre-scrapy-2x5]deps} scrapy==2.4.0 # Scrapy version introducing Response.protocol. [testenv:min-scrapy-2x5] -basepython=python3.9 +basepython=python3.10 deps = {[min]deps} scrapy==2.5.0 @@ -108,7 +108,7 @@ deps = # First Scrapy version since 2.4.0 where installing the reactor earlier is not # necessary. [testenv:min-scrapy-2x6] -basepython=python3.9 +basepython=python3.10 deps = {[min]deps} scrapy==2.6.0 @@ -116,21 +116,21 @@ deps = # First Scrapy version with centralizing request fingerprinting support. [testenv:min-scrapy-2x7] -basepython=python3.9 +basepython=python3.10 deps = {[min]deps} scrapy==2.7.0 zyte-api==0.6.0 [testenv:min-extra] -basepython=python3.9 +basepython=python3.10 deps = {[testenv:min-scrapy-2x0]deps} scrapy-crawlera==1.1.0 scrapy-zyte-smartproxy==2.0.0 [testenv:min-provider] -basepython=python3.9 +basepython=python3.10 extras = provider deps = # scrapy-poet >= 0.4.0 depends on scrapy >= 2.6.0