From 109c92f3e593457bd9c75481115eb8e207ecd2d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Ruiz?= Date: Fri, 21 Feb 2025 10:49:31 +0100 Subject: [PATCH 1/5] Remove vcrpy pinning --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index 6622cf42..06032721 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,5 +1,5 @@ mock -vcrpy<6 # https://github.com/kevin1024/vcrpy/issues/885 +vcrpy pytest pytest-cov responses From d019db5a2f424c7b111499c3409891afe63a1d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Ruiz?= Date: Fri, 21 Feb 2025 11:24:34 +0100 Subject: [PATCH 2/5] Pin vcrpy version for pypi implementations --- .python-version | 1 + requirements-test.txt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .python-version diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..cc1923a4 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.8 diff --git a/requirements-test.txt b/requirements-test.txt index 06032721..f4e7ca3b 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,5 +1,6 @@ mock -vcrpy +vcrpy; implementation_name != 'pypy' +vcrpy < 6; implementation_name == 'pypy' pytest pytest-cov responses From e65af2022447af103a3a3aad84e5a26b7e100fd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Ruiz?= Date: Fri, 21 Feb 2025 11:36:01 +0100 Subject: [PATCH 3/5] Pin urllib3 version to avoid issues with pypy --- requirements-test.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-test.txt b/requirements-test.txt index f4e7ca3b..e39f19fc 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,4 +1,5 @@ mock +urllib3==1.26.20; implementation_name == 'pypy' vcrpy; implementation_name != 'pypy' vcrpy < 6; implementation_name == 'pypy' pytest From 364ee66b627f439f44eaf4f01ecbc855d33282e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Chaves?= Date: Fri, 3 Oct 2025 14:44:07 +0200 Subject: [PATCH 4/5] Remove 3.8, add 3.13, disable the PyPy CI --- .github/workflows/main.yml | 19 ++++++++++--------- .python-version | 4 +++- README.rst | 9 ++------- docs/quickstart.rst | 2 +- requirements-base.txt | 3 --- requirements-docs.txt | 3 --- requirements-pypy.txt | 3 --- requirements-test.txt | 7 ------- requirements.txt | 2 -- setup.py | 4 ++-- tests/requirements-msgpack.txt | 2 ++ tests/requirements.txt | 5 +++++ tox.ini | 9 ++++----- 13 files changed, 29 insertions(+), 43 deletions(-) delete mode 100644 requirements-base.txt delete mode 100644 requirements-docs.txt delete mode 100644 requirements-pypy.txt delete mode 100644 requirements-test.txt delete mode 100644 requirements.txt create mode 100644 tests/requirements-msgpack.txt create mode 100644 tests/requirements.txt diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ddebc245..f4f2a6c4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,12 +13,6 @@ jobs: fail-fast: false matrix: include: - - python-version: "3.8" - env: - TOXENV: "msgpack" - - python-version: "3.8" - env: - TOXENV: "json" - python-version: "3.9" env: TOXENV: "msgpack" @@ -43,14 +37,21 @@ jobs: - python-version: "3.12" env: TOXENV: "json" - - - python-version: "pypy3.10-v7.3.13" + - python-version: "3.13" env: TOXENV: "msgpack" - - python-version: "pypy3.10-v7.3.13" + - python-version: "3.13" env: TOXENV: "json" + # https://github.com/kevin1024/vcrpy/issues/885 + # - python-version: "pypy3.11-v7.3.20" + # env: + # TOXENV: "msgpack" + # - python-version: "pypy3.11-v7.3.20" + # env: + # TOXENV: "json" + steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} diff --git a/.python-version b/.python-version index cc1923a4..ce04857d 100644 --- a/.python-version +++ b/.python-version @@ -1 +1,3 @@ -3.8 +system +3.8.20 +pypy3.11-7.3.20 diff --git a/README.rst b/README.rst index f3a17ace..c2d58795 100644 --- a/README.rst +++ b/README.rst @@ -14,13 +14,8 @@ Client interface for Scrapinghub API .. image:: https://codecov.io/gh/scrapinghub/python-scrapinghub/branch/master/graph/badge.svg :target: https://app.codecov.io/gh/scrapinghub/python-scrapinghub -The ``scrapinghub`` is a Python library for communicating with the `Scrapinghub API`_. - - -Requirements -============ - -* Python 2.7 or Python 3.5+ +The ``scrapinghub`` is a Python 3.9+ library for communicating with the +`Scrapinghub API`_. Installation diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 1ea79912..45f9807e 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -4,7 +4,7 @@ Quickstart Requirements ------------ -* Python 2.7 or above +* Python 3.8+ Installation diff --git a/requirements-base.txt b/requirements-base.txt deleted file mode 100644 index 8f7f75ea..00000000 --- a/requirements-base.txt +++ /dev/null @@ -1,3 +0,0 @@ -requests>=1.0 -retrying>=1.3.3 -six>=1.10.0 diff --git a/requirements-docs.txt b/requirements-docs.txt deleted file mode 100644 index 8284e0b7..00000000 --- a/requirements-docs.txt +++ /dev/null @@ -1,3 +0,0 @@ --r requirements.txt -sphinx==1.5.3 -sphinx_rtd_theme==0.2.4 diff --git a/requirements-pypy.txt b/requirements-pypy.txt deleted file mode 100644 index 7acc876b..00000000 --- a/requirements-pypy.txt +++ /dev/null @@ -1,3 +0,0 @@ --r requirements-base.txt - -msgpack-pypy>=0.0.2 diff --git a/requirements-test.txt b/requirements-test.txt deleted file mode 100644 index e39f19fc..00000000 --- a/requirements-test.txt +++ /dev/null @@ -1,7 +0,0 @@ -mock -urllib3==1.26.20; implementation_name == 'pypy' -vcrpy; implementation_name != 'pypy' -vcrpy < 6; implementation_name == 'pypy' -pytest -pytest-cov -responses diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 38eb3875..00000000 --- a/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ --r requirements-base.txt -msgpack>=1.0.0 diff --git a/setup.py b/setup.py index ae5ce0e8..51ee111b 100644 --- a/setup.py +++ b/setup.py @@ -28,17 +28,17 @@ package_data={'scrapinghub': ['VERSION']}, install_requires=['requests>=1.0', 'retrying>=1.3.3', 'six>=1.10.0'], extras_require={'msgpack': mpack_required}, - python_requires='>=3.8', + python_requires='>=3.9', classifiers=[ 'Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.8', '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', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Internet :: WWW/HTTP', diff --git a/tests/requirements-msgpack.txt b/tests/requirements-msgpack.txt new file mode 100644 index 00000000..3a9b0fab --- /dev/null +++ b/tests/requirements-msgpack.txt @@ -0,0 +1,2 @@ +msgpack>=1.0.0; implementation_name != 'pypy' +msgpack-pypy>=0.0.2; implementation_name == 'pypy' diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 00000000..06032721 --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,5 @@ +mock +vcrpy +pytest +pytest-cov +responses diff --git a/tox.ini b/tox.ini index d13e85d9..6498dd88 100644 --- a/tox.ini +++ b/tox.ini @@ -4,14 +4,13 @@ # and then run "tox" from this directory. [tox] -envlist = py{py3,38,39,310,311,312}-{json,msgpack} +# pypy3 excluded due to https://github.com/kevin1024/vcrpy/issues/885 +envlist = py{39,310,311,312}-{json,msgpack} [testenv] deps = - -r{toxinidir}/requirements-base.txt - -r{toxinidir}/requirements-test.txt - msgpack: -r{toxinidir}/requirements.txt - pypy-msgpack: -r{toxinidir}/requirements-pypy.txt + -r tests/requirements.txt + msgpack: -r tests/requirements-msgpack.txt commands = py.test --cov=scrapinghub --cov-report=xml {posargs: scrapinghub tests} [testenv:docs] From 3823652353ed5354c5563c99cb8be2d4959eccfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Chaves?= Date: Fri, 3 Oct 2025 14:45:01 +0200 Subject: [PATCH 5/5] Remove pyenv config file --- .gitignore | 1 + .python-version | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 .python-version diff --git a/.gitignore b/.gitignore index 82b21c48..94851609 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ docs/_build pytestdebug.log .idea coverage.xml +.python-version diff --git a/.python-version b/.python-version deleted file mode 100644 index ce04857d..00000000 --- a/.python-version +++ /dev/null @@ -1,3 +0,0 @@ -system -3.8.20 -pypy3.11-7.3.20