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..23123ef 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,9 @@ # Changelog +## 2.2.0 - 2025-10-02 +- Update supported python versions. + 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 c97f384..49b7c24 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) @@ -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 1b56d80..1f89537 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" @@ -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>=64", "setuptools_scm>=8", "wheel"] +requires = ["setuptools >= 77.0.3", "setuptools_scm >= 8"] build-backend = "setuptools.build_meta" [tool.setuptools.dynamic] 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 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