From 57cc3c863dd2b10cf4134baf3002b099755e8960 Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Thu, 4 Sep 2025 14:05:49 -0700 Subject: [PATCH 1/6] Drop python 3.9 --- .github/workflows/test.yml | 2 +- docs/changelog.md | 3 +++ noxfile.py | 2 +- pyproject.toml | 2 +- version.txt | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 827ea21..6a4f434 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/docs/changelog.md b/docs/changelog.md index 77f72e6..eee59eb 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,8 @@ # Changelog +## 2.2.0 - 2025-10-01 +- Update supported python versions + ## 2.1.1 - 2025-08-11 - Add py.typed to all top level packages diff --git a/noxfile.py b/noxfile.py index c97f384..9514e76 100644 --- a/noxfile.py +++ b/noxfile.py @@ -21,7 +21,7 @@ ] _DEFAULT_PYTHON = "3.13" -_ALL_PYTHON = ["3.9", "3.10", "3.11", "3.12", "3.13"] +_ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14"] @nox.session(python=_ALL_PYTHON) diff --git a/pyproject.toml b/pyproject.toml index 1b56d80..0799bc1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ ## ########################################################################### [project] name = "planet-auth" -requires-python = ">=3.9" +requires-python = ">=3.10" dynamic = ["version"] # version = "X.X.X" description = "Planet Auth Utility Code" diff --git a/version.txt b/version.txt index 3e3c2f1..ccbccc3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.1.1 +2.2.0 From f54f5d70991e38aad35bbbccb5c3650c59e4cc5d Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Thu, 4 Sep 2025 14:09:23 -0700 Subject: [PATCH 2/6] Add support up through 3.15. --- .github/workflows/test.yml | 2 +- docs/changelog.md | 5 +++-- noxfile.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6a4f434..9f71293 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15'] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/docs/changelog.md b/docs/changelog.md index eee59eb..9108831 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,7 +1,8 @@ # Changelog -## 2.2.0 - 2025-10-01 -- Update supported python versions +## 2.2.0 - 2025-10-02 +- Update supported python versions. + Support for 3.9 dropped. Support for 3.15 added. ## 2.1.1 - 2025-08-11 - Add py.typed to all top level packages diff --git a/noxfile.py b/noxfile.py index 9514e76..74cc822 100644 --- a/noxfile.py +++ b/noxfile.py @@ -21,7 +21,7 @@ ] _DEFAULT_PYTHON = "3.13" -_ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14"] +_ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] @nox.session(python=_ALL_PYTHON) From 8cd813b37d46e3599ed35b89398cf1cfe7e52ffe Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Wed, 1 Oct 2025 12:14:07 -0700 Subject: [PATCH 3/6] update to support through 3.14. Typing fixes for doc linting. --- docs/changelog.md | 2 +- noxfile.py | 2 +- src/planet_auth/logging/auth_logger.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 9108831..23123ef 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,7 +2,7 @@ ## 2.2.0 - 2025-10-02 - Update supported python versions. - Support for 3.9 dropped. Support for 3.15 added. + Support for 3.9 dropped. Support through 3.14 added. ## 2.1.1 - 2025-08-11 - Add py.typed to all top level packages diff --git a/noxfile.py b/noxfile.py index 74cc822..9514e76 100644 --- a/noxfile.py +++ b/noxfile.py @@ -21,7 +21,7 @@ ] _DEFAULT_PYTHON = "3.13" -_ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] +_ALL_PYTHON = ["3.10", "3.11", "3.12", "3.13", "3.14"] @nox.session(python=_ALL_PYTHON) diff --git a/src/planet_auth/logging/auth_logger.py b/src/planet_auth/logging/auth_logger.py index 4107660..2563aa9 100644 --- a/src/planet_auth/logging/auth_logger.py +++ b/src/planet_auth/logging/auth_logger.py @@ -18,7 +18,7 @@ import importlib.metadata from contextlib import suppress -from typing import Dict +from typing import Dict, Optional from .events import AuthEvent from planet_auth.auth_exception import AuthException, InvalidTokenException @@ -234,14 +234,14 @@ def setPyLoggerForAuthLogger(py_logger: logging.Logger): _lib_global_py_logger = py_logger -def setStructuredLogging(nested_key=DEFAULT_NESTED_KEY): +def setStructuredLogging(nested_key: Optional[str] = DEFAULT_NESTED_KEY): """ Configure the library to emit structured log messages. When this mode is set, logs will be emitted specifying information using the logger's `extra` field. Parameters: - nested_key : dict key in which to wrap the library's data logged under + nested_key: dict key in which to wrap the library's data logged under the `extra` field. The default is to include all library logged extra fields encapsulated inside a dictionary with the single key `props`. This default was chosen to comform to the expectations of From 1b9da464dc4ebd2d0286e8f696f970546327767b Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Wed, 1 Oct 2025 12:15:51 -0700 Subject: [PATCH 4/6] drop python 3.15. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9f71293..6a4f434 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - name: Checkout code uses: actions/checkout@v4 From b981809de2d02e40e6a0403660077e57bd2ad8f3 Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Wed, 1 Oct 2025 12:44:53 -0700 Subject: [PATCH 5/6] bump setup tools version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0799bc1..1899c7d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,7 +85,7 @@ internal = [ plauth = "planet_auth_utils.commands.cli.main:cmd_plauth" [build-system] -requires = ["setuptools>=64", "setuptools_scm>=8", "wheel"] +requires = ["setuptools>=80", "setuptools_scm>=8", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools.dynamic] From d17e0d6ed3c0b03e4a6169074c3a095b313d4e81 Mon Sep 17 00:00:00 2001 From: "Carl A. Adams" Date: Wed, 1 Oct 2025 14:28:07 -0700 Subject: [PATCH 6/6] Pull semgrep test dependencies into a different subpackage. It does not seem to install cleanly from pip under python 3.14, and this is breaking unrelated test pipelines. --- noxfile.py | 2 +- pyproject.toml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/noxfile.py b/noxfile.py index 9514e76..49b7c24 100644 --- a/noxfile.py +++ b/noxfile.py @@ -40,7 +40,7 @@ def pytest(session): @nox.session(python=_DEFAULT_PYTHON) def semgrep_src(session): """Scan the code for security problems with semgrep""" - session.install("-e", ".[test]") + session.install("-e", ".[testsecurity]") # session.run("semgrep", "scan", "--strict", "--verbose", "--error", "--junit-xml", "--junit-xml-output=semgrep-src.xml", "src") session.run("semgrep", "scan", "--strict", "--verbose", "--error", "src") diff --git a/pyproject.toml b/pyproject.toml index 1899c7d..1f89537 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,9 +69,11 @@ test = [ "pytest", "pytest-cov", "pytest-xdist", - "semgrep", "validators", ] +testsecurity = [ + "semgrep", +] dev = [ "planet-auth[test, docs, build]", ] @@ -85,7 +87,7 @@ internal = [ plauth = "planet_auth_utils.commands.cli.main:cmd_plauth" [build-system] -requires = ["setuptools>=80", "setuptools_scm>=8", "wheel"] +requires = ["setuptools >= 77.0.3", "setuptools_scm >= 8"] build-backend = "setuptools.build_meta" [tool.setuptools.dynamic]