From 87be180fe34833f48c8166ed6d1b4ea04d356ceb Mon Sep 17 00:00:00 2001 From: Lahiru Maramba Date: Fri, 6 Nov 2026 20:09:56 +0000 Subject: [PATCH] chore(deps): upgrade dependencies after dropping Python 3.9. Upgrade runtime and development dependencies to their latest stable releases now that Python 3.9 and PyPy 3.9 are dropped, and replace the legacy PyPy cryptography upper-bound cap with cryptography >= 50.0.2. Also configure asyncio_default_fixture_loop_scope for pytest-asyncio 1.x and fix a redundant self-comparison caught by pylint 4.x in test_tenant_mgt.py. --- integration/test_tenant_mgt.py | 12 ++++++------ requirements.txt | 26 +++++++++++++------------- setup.cfg | 1 + setup.py | 12 ++++++------ 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/integration/test_tenant_mgt.py b/integration/test_tenant_mgt.py index f0bad58b2..d8051a0d8 100644 --- a/integration/test_tenant_mgt.py +++ b/integration/test_tenant_mgt.py @@ -80,14 +80,14 @@ def test_update_tenant(): tenant = tenant_mgt.create_tenant( display_name='py-update-test', allow_password_sign_up=True, enable_email_link_sign_in=True) try: - tenant = tenant_mgt.update_tenant( + updated_tenant = tenant_mgt.update_tenant( tenant.tenant_id, display_name='updated-py-tenant', allow_password_sign_up=False, enable_email_link_sign_in=False) - assert isinstance(tenant, tenant_mgt.Tenant) - assert tenant.tenant_id == tenant.tenant_id - assert tenant.display_name == 'updated-py-tenant' - assert tenant.allow_password_sign_up is False - assert tenant.enable_email_link_sign_in is False + assert isinstance(updated_tenant, tenant_mgt.Tenant) + assert updated_tenant.tenant_id == tenant.tenant_id + assert updated_tenant.display_name == 'updated-py-tenant' + assert updated_tenant.allow_password_sign_up is False + assert updated_tenant.enable_email_link_sign_in is False finally: tenant_mgt.delete_tenant(tenant.tenant_id) diff --git a/requirements.txt b/requirements.txt index 7790c0c59..96fab9141 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,16 +1,16 @@ -astroid == 3.3.11 -pylint == 3.3.9 -pytest >= 8.4.2 -pytest-cov >= 2.4.0 +astroid == 4.3.4 +pylint == 4.1.3 +pytest >= 9.2.0 +pytest-cov >= 7.1.0 pytest-localserver >= 0.10.0 -pytest-asyncio >= 0.26.0 -pytest-mock >= 3.15.1 +pytest-asyncio >= 1.4.1 +pytest-mock >= 3.17.0 respx == 0.23.1 -cachecontrol >= 0.14.3 -google-api-core[grpc] >= 2.25.1, < 3.0.0dev; platform.python_implementation != 'PyPy' -google-cloud-firestore >= 2.27.0; platform.python_implementation != 'PyPy' -google-cloud-storage >= 3.1.1 -pyjwt[crypto] >= 2.12.1 -cryptography < 44.0.0; platform.python_implementation == 'PyPy' and python_version < '3.11' -httpx[http2] == 0.28.1 \ No newline at end of file +cachecontrol >= 0.14.4 +google-api-core[grpc] >= 2.44.0, < 3.0.0dev; platform.python_implementation != 'PyPy' +google-cloud-firestore >= 2.34.1; platform.python_implementation != 'PyPy' +google-cloud-storage >= 3.17.1 +pyjwt[crypto] >= 2.15.1 +cryptography >= 50.0.2 +httpx[http2] == 0.28.1 diff --git a/setup.cfg b/setup.cfg index 4c6cf8d8f..833ab7836 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,4 @@ [tool:pytest] testpaths = tests +asyncio_default_fixture_loop_scope = function asyncio_default_test_loop_scope = class diff --git a/setup.py b/setup.py index da6502823..ee5f2ef8b 100644 --- a/setup.py +++ b/setup.py @@ -37,12 +37,12 @@ long_description = ('The Firebase Admin Python SDK enables server-side (backend) Python developers ' 'to integrate Firebase into their services and applications.') install_requires = [ - 'cachecontrol>=0.14.3', - 'google-api-core[grpc] >= 2.25.1, < 3.0.0dev; platform.python_implementation != "PyPy"', - 'google-cloud-firestore>=2.21.0; platform.python_implementation != "PyPy"', - 'google-cloud-storage>=3.1.1', - 'pyjwt[crypto] >= 2.10.1', - 'cryptography < 44.0.0; platform.python_implementation == "PyPy" and python_version < "3.11"', + 'cachecontrol>=0.14.4', + 'google-api-core[grpc] >= 2.44.0, < 3.0.0dev; platform.python_implementation != "PyPy"', + 'google-cloud-firestore>=2.34.1; platform.python_implementation != "PyPy"', + 'google-cloud-storage>=3.17.1', + 'pyjwt[crypto] >= 2.15.1', + 'cryptography >= 50.0.2', 'httpx[http2] == 0.28.1', ]