From 38ee5d1e134528240122b7e229b6aa25b08a689a Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Thu, 30 Jul 2026 17:39:29 -0400 Subject: [PATCH 1/2] chore(deps)!: drop Python 3.9 support and upgrade nox BREAKING CHANGE: Python 3.9 has reached EOL and is no longer supported. The minimum supported Python version is now 3.10. Change-Id: Iae4f13ce44023c5f657c4c0d39912cc0a21ad3a0 --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4512b80..7a8cb09 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ name = "google-ads-datamanager-util" version = "0.4.0" description = "Utilities for the Data Manager API" readme = "./README.rst" -requires-python = ">=3.9, <3.14" +requires-python = ">=3.10, <3.14" license = {text = "Apache 2.0"} authors = [ {name = "Google LLC", email = "googleapis-packages@google.com"} @@ -47,7 +47,7 @@ dependencies = [ [project.optional-dependencies] dev = [ "black[jupyter]", - "nox >= 2020.12.31, < 2022.6", + "nox >= 2026.7.11", # Include the dependencies for samples for convenience, since sample updates # are often part of the dev process. "google-ads-datamanager-util[samples]", From 16821dfe9ea46efeea3acf5fe367d8ef7c0dd676 Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Tue, 4 Aug 2026 17:23:54 -0400 Subject: [PATCH 2/2] format files via `nox -s format` Change-Id: I4a5781c13653a97a30b714c330907e1f8395505d --- google/ads/datamanager_util/format.py | 4 +++- tests/formatter_test.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/google/ads/datamanager_util/format.py b/google/ads/datamanager_util/format.py index 56a5af9..6250efb 100644 --- a/google/ads/datamanager_util/format.py +++ b/google/ads/datamanager_util/format.py @@ -231,7 +231,9 @@ def format_administrative_area(self, administrative_area: str) -> str: Raises: ValueError: If the provided administrative area is invalid. """ - return self._format_location_string(administrative_area, "Administrative area") + return self._format_location_string( + administrative_area, "Administrative area" + ) def hash_string(self, s: str) -> bytes: """Returns bytes containing the hash of the string. diff --git a/tests/formatter_test.py b/tests/formatter_test.py index c6fdd03..25e9f4e 100644 --- a/tests/formatter_test.py +++ b/tests/formatter_test.py @@ -436,4 +436,3 @@ def test_format_example_address(self): "94045", self.formatter.format_postal_code("94045"), ) -