Skip to content

Commit b2725af

Browse files
committed
chore(deps): Bump minimum supported Python version to 3.9 and add 3.13 to CIs
1 parent b57af18 commit b2725af

File tree

9 files changed

+15
-21
lines changed

9 files changed

+15
-21
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
fail-fast: false
1010
matrix:
11-
python: ['3.8', '3.9', '3.10', '3.11', '3.12', 'pypy3.9']
11+
python: ['3.9', '3.10', '3.11', '3.12', '3.13', 'pypy3.9']
1212

1313
steps:
1414
- uses: actions/checkout@v4
@@ -35,10 +35,10 @@ jobs:
3535
runs-on: ubuntu-latest
3636
steps:
3737
- uses: actions/checkout@v4
38-
- name: Set up Python 3.8
38+
- name: Set up Python 3.9
3939
uses: actions/setup-python@v5
4040
with:
41-
python-version: 3.8
41+
python-version: 3.9
4242
- name: Install dependencies
4343
run: |
4444
python -m pip install --upgrade pip

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- name: Set up Python
3737
uses: actions/setup-python@v5
3838
with:
39-
python-version: 3.8
39+
python-version: 3.9
4040

4141
- name: Install dependencies
4242
run: |

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
- name: Set up Python
4848
uses: actions/setup-python@v5
4949
with:
50-
python-version: 3.8
50+
python-version: 3.9
5151

5252
- name: Install dependencies
5353
run: |

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ information on using pull requests.
8585

8686
### Initial Setup
8787

88-
You need Python 3.8+ to build and test the code in this repo.
88+
You need Python 3.9+ to build and test the code in this repo.
8989

9090
We recommend using [pip](https://pypi.python.org/pypi/pip) for installing the necessary tools and
9191
project dependencies. Most recent versions of Python ship with pip. If your development environment

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ requests, code review feedback, and also pull requests.
4343

4444
## Supported Python Versions
4545

46-
We currently support Python 3.7+. However, Python 3.7 and Python 3.8 support is deprecated,
47-
and developers are strongly advised to use Python 3.9 or higher. Firebase
46+
We currently support Python 3.9+. However, Python 3.9 support is deprecated,
47+
and developers are strongly advised to use Python 3.10 or higher. Firebase
4848
Admin Python SDK is also tested on PyPy and
4949
[Google App Engine](https://cloud.google.com/appengine/) environments.
5050

integration/conftest.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import json
1717

1818
import pytest
19-
from pytest_asyncio import is_async_test
2019

2120
import firebase_admin
2221
from firebase_admin import credentials
@@ -71,9 +70,3 @@ def api_key(request):
7170
'command-line option.')
7271
with open(path) as keyfile:
7372
return keyfile.read().strip()
74-
75-
def pytest_collection_modifyitems(items):
76-
pytest_asyncio_tests = (item for item in items if is_async_test(item))
77-
session_scope_marker = pytest.mark.asyncio(loop_scope="session")
78-
for async_test in pytest_asyncio_tests:
79-
async_test.add_marker(session_scope_marker, append=False)

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
astroid == 2.3.3
22
pylint == 2.3.1
3-
pytest >= 6.2.0
3+
pytest >= 8.2.2
44
pytest-cov >= 2.4.0
55
pytest-localserver >= 0.4.1
6-
pytest-asyncio >= 0.16.0
6+
pytest-asyncio >= 0.26.0
77
pytest-mock >= 3.6.1
88
respx == 0.22.0
99

setup.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
[tool:pytest]
22
testpaths = tests
3+
asyncio_default_test_loop_scope = session
4+
asyncio_default_fixture_loop_scope = None

setup.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
(major, minor) = (sys.version_info.major, sys.version_info.minor)
2525
if major != 3 or minor < 7:
26-
print('firebase_admin requires python >= 3.7', file=sys.stderr)
26+
print('firebase_admin requires python >= 3.9', file=sys.stderr)
2727
sys.exit(1)
2828

2929
# Read in the package metadata per recommendations from:
@@ -60,18 +60,17 @@
6060
keywords='firebase cloud development',
6161
install_requires=install_requires,
6262
packages=['firebase_admin'],
63-
python_requires='>=3.7',
63+
python_requires='>=3.9',
6464
classifiers=[
6565
'Development Status :: 5 - Production/Stable',
6666
'Intended Audience :: Developers',
6767
'Topic :: Software Development :: Build Tools',
6868
'Programming Language :: Python :: 3',
69-
'Programming Language :: Python :: 3.7',
70-
'Programming Language :: Python :: 3.8',
7169
'Programming Language :: Python :: 3.9',
7270
'Programming Language :: Python :: 3.10',
7371
'Programming Language :: Python :: 3.11',
7472
'Programming Language :: Python :: 3.12',
73+
'Programming Language :: Python :: 3.13',
7574
'License :: OSI Approved :: Apache Software License',
7675
],
7776
)

0 commit comments

Comments
 (0)