diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml
index 6d2c2a0e..cdec3e9b 100644
--- a/.github/sync-repo-settings.yaml
+++ b/.github/sync-repo-settings.yaml
@@ -15,11 +15,14 @@ branchProtectionRules:
- 'unit_grpc_gcp-3.8'
- 'unit_grpc_gcp-3.9'
- 'unit_grpc_gcp-3.10'
+ - 'unit_grpc_gcp-3.11'
- 'unit-3.7'
- 'unit-3.8'
- 'unit-3.9'
- 'unit-3.10'
+ - 'unit-3.11'
- 'unit_wo_grpc-3.10'
+ - 'unit_wo_grpc-3.11'
- 'cover'
- 'docs'
- 'docfx'
diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml
index cd1d4d60..0d7789b6 100644
--- a/.github/workflows/unittest.yml
+++ b/.github/workflows/unittest.yml
@@ -17,6 +17,7 @@ jobs:
- "3.8"
- "3.9"
- "3.10"
+ - "3.11"
exclude:
- option: "_wo_grpc"
python: 3.7
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index dddeddb9..13d7a516 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -21,7 +21,7 @@ In order to add a feature:
documentation.
- The feature must work fully on the following CPython versions:
- 3.7, 3.8, 3.9, and 3.10 on both UNIX and Windows.
+ 3.7, 3.8, 3.9, 3.10, and 3.11 on both UNIX and Windows.
- The feature must not add unnecessary dependencies (where
"unnecessary" is of course subjective, but new dependencies should
@@ -71,7 +71,7 @@ We use `nox `__ to instrument our tests.
- To run a single unit test::
- $ nox -s unit-3.10 -- -k
+ $ nox -s unit-3.11 -- -k
.. note::
@@ -201,11 +201,13 @@ We support:
- `Python 3.8`_
- `Python 3.9`_
- `Python 3.10`_
+- `Python 3.11`_
.. _Python 3.7: https://docs.python.org/3.7/
.. _Python 3.8: https://docs.python.org/3.8/
.. _Python 3.9: https://docs.python.org/3.9/
.. _Python 3.10: https://docs.python.org/3.10/
+.. _Python 3.11: https://docs.python.org/3.11/
Supported versions can be found in our ``noxfile.py`` `config`_.
diff --git a/noxfile.py b/noxfile.py
index 21f0f7b2..9bc2d967 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -113,7 +113,7 @@ def default(session, install_grpc=True):
pytest_args = [
"python",
"-m",
- "py.test",
+ "pytest",
*(
# Helpful for running a single test or testfile.
session.posargs
@@ -146,13 +146,13 @@ def default(session, install_grpc=True):
session.run(*pytest_args)
-@nox.session(python=["3.7", "3.8", "3.9", "3.10"])
+@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"])
def unit(session):
"""Run the unit test suite."""
default(session)
-@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"])
+@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"])
def unit_grpc_gcp(session):
"""Run the unit test suite with grpcio-gcp installed."""
constraints_path = str(
@@ -166,7 +166,7 @@ def unit_grpc_gcp(session):
default(session)
-@nox.session(python=["3.8", "3.10"])
+@nox.session(python=["3.8", "3.10", "3.11"])
def unit_wo_grpc(session):
"""Run the unit test suite w/o grpcio installed"""
default(session, install_grpc=False)
diff --git a/setup.py b/setup.py
index 6accc5b7..6050e5c5 100644
--- a/setup.py
+++ b/setup.py
@@ -35,7 +35,12 @@
"requests >= 2.18.0, < 3.0.0dev",
]
extras = {
- "grpc": ["grpcio >= 1.33.2, < 2.0dev", "grpcio-status >= 1.33.2, < 2.0dev"],
+ "grpc": [
+ "grpcio >= 1.33.2, < 2.0dev",
+ "grpcio >= 1.49.1, < 2.0dev; python_version>='3.11'",
+ "grpcio-status >= 1.33.2, < 2.0dev",
+ "grpcio-status >= 1.49.1, < 2.0dev; python_version>='3.11'",
+ ],
"grpcgcp": "grpcio-gcp >= 0.2.2, < 1.0dev",
"grpcio-gcp": "grpcio-gcp >= 0.2.2, < 1.0dev",
}
@@ -86,6 +91,7 @@
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
"Operating System :: OS Independent",
"Topic :: Internet",
],