From b2c53835cab5698d2124d4643c8777e2958fe1f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 7 Mar 2026 02:57:40 +0000 Subject: [PATCH 1/4] Bump psf/black from 24.8.0 to 26.3.0 in /.github/workflows Bumps [psf/black](https://github.com/psf/black) from 24.8.0 to 26.3.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/24.8.0...26.3.0) --- updated-dependencies: - dependency-name: psf/black dependency-version: 26.3.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .github/workflows/validate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 1a3e75e..cdf3b26 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -22,7 +22,7 @@ jobs: - name: Analysing the code with pylint run: | pylint featuremanagement - - uses: psf/black@24.8.0 + - uses: psf/black@26.3.0 - name: Run mypy run: | mypy featuremanagement From f2a0b557a43922009c5d1b8902ade0e5a1d7b5c1 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Mon, 9 Mar 2026 09:30:16 -0700 Subject: [PATCH 2/4] version updates --- dev_requirements.txt | 2 +- featuremanagement/_featuremanagerbase.py | 1 - featuremanagement/_time_window_filter/_recurrence_validator.py | 1 - featuremanagement/azuremonitor/__init__.py | 1 - mypy.ini | 2 +- samples/feature_variant_sample.py | 1 - samples/feature_variant_sample_with_targeting_accessor.py | 1 - samples/feature_variant_sample_with_telemetry.py | 1 - setup.py | 3 +++ 9 files changed, 5 insertions(+), 8 deletions(-) diff --git a/dev_requirements.txt b/dev_requirements.txt index 1ccdfa6..1411462 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -1,7 +1,7 @@ pytest < 9.0.0 pytest-cov < 8.0.0 pytest-asyncio < 2.0.0 -black < 26.0.0 +black < 27.0.0 pylint < 5.0.0 mypy < 2.0.0 sphinx < 9.0.0 diff --git a/featuremanagement/_featuremanagerbase.py b/featuremanagement/_featuremanagerbase.py index 845db2c..d79021f 100644 --- a/featuremanagement/_featuremanagerbase.py +++ b/featuremanagement/_featuremanagerbase.py @@ -9,7 +9,6 @@ from typing import List, Optional, Dict, Tuple, Any, Mapping, Callable from ._models import FeatureFlag, Variant, VariantAssignmentReason, TargetingContext, EvaluationEvent, VariantReference - FEATURE_MANAGEMENT_KEY = "feature_management" FEATURE_FLAG_KEY = "feature_flags" diff --git a/featuremanagement/_time_window_filter/_recurrence_validator.py b/featuremanagement/_time_window_filter/_recurrence_validator.py index 80eae2d..8c34aaa 100644 --- a/featuremanagement/_time_window_filter/_recurrence_validator.py +++ b/featuremanagement/_time_window_filter/_recurrence_validator.py @@ -7,7 +7,6 @@ from typing import List from ._models import RecurrencePatternType, RecurrenceRangeType, Recurrence, RecurrencePattern, RecurrenceRange - DAYS_PER_WEEK = 7 TEN_YEARS = 3650 RECURRENCE_PATTERN = "Pattern" diff --git a/featuremanagement/azuremonitor/__init__.py b/featuremanagement/azuremonitor/__init__.py index 138bcfb..135fdf7 100644 --- a/featuremanagement/azuremonitor/__init__.py +++ b/featuremanagement/azuremonitor/__init__.py @@ -5,7 +5,6 @@ # ------------------------------------------------------------------------- from ._send_telemetry import publish_telemetry, track_event, TargetingSpanProcessor - __all__ = [ "publish_telemetry", "track_event", diff --git a/mypy.ini b/mypy.ini index 3450f11..0e7b9b5 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.8 +python_version = 3.14 # Start off with these warn_unused_configs = True warn_redundant_casts = True diff --git a/samples/feature_variant_sample.py b/samples/feature_variant_sample.py index 62d5068..fb96308 100644 --- a/samples/feature_variant_sample.py +++ b/samples/feature_variant_sample.py @@ -10,7 +10,6 @@ from random_filter import RandomFilter from featuremanagement import FeatureManager, TargetingContext - script_directory = os.path.dirname(os.path.abspath(sys.argv[0])) with open(script_directory + "/formatted_feature_flags.json", "r", encoding="utf-8") as f: diff --git a/samples/feature_variant_sample_with_targeting_accessor.py b/samples/feature_variant_sample_with_targeting_accessor.py index 079957a..887a01b 100644 --- a/samples/feature_variant_sample_with_targeting_accessor.py +++ b/samples/feature_variant_sample_with_targeting_accessor.py @@ -10,7 +10,6 @@ from random_filter import RandomFilter from featuremanagement import FeatureManager, TargetingContext - script_directory = os.path.dirname(os.path.abspath(sys.argv[0])) with open(script_directory + "/formatted_feature_flags.json", "r", encoding="utf-8") as f: diff --git a/samples/feature_variant_sample_with_telemetry.py b/samples/feature_variant_sample_with_telemetry.py index d877aff..72991b8 100644 --- a/samples/feature_variant_sample_with_telemetry.py +++ b/samples/feature_variant_sample_with_telemetry.py @@ -10,7 +10,6 @@ from featuremanagement import FeatureManager from featuremanagement.azuremonitor import publish_telemetry, track_event - try: from azure.monitor.opentelemetry import configure_azure_monitor diff --git a/setup.py b/setup.py index e1b38bd..5be6659 100644 --- a/setup.py +++ b/setup.py @@ -52,6 +52,9 @@ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "License :: OSI Approved :: MIT License", ], zip_safe=False, From 62958f262807a61d7e7d24712bbefa84299d4284 Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Mon, 9 Mar 2026 09:41:48 -0700 Subject: [PATCH 3/4] python version updates --- .github/workflows/validate.yml | 2 +- pyproject.toml | 5 +++-- setup.py | 5 +---- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index cdf3b26..730bc75 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} diff --git a/pyproject.toml b/pyproject.toml index 69edaa1..5d56c18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,10 +32,11 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "License :: OSI Approved :: MIT License", ] diff --git a/setup.py b/setup.py index 5be6659..5863ab5 100644 --- a/setup.py +++ b/setup.py @@ -47,9 +47,6 @@ "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -59,7 +56,7 @@ ], zip_safe=False, packages=find_packages(), - python_requires=">=3.6", + python_requires=">=3.10", install_requires=[], extras_require={ "AzureMonitor": ["azure-monitor-events-extension<2.0.0"], From fdd34b14fb02d4d7d2bebc897daf27979116c66c Mon Sep 17 00:00:00 2001 From: Matt Metcalf Date: Mon, 9 Mar 2026 09:51:31 -0700 Subject: [PATCH 4/4] review comments --- mypy.ini | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mypy.ini b/mypy.ini index 0e7b9b5..0a01c74 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.14 +python_version = 3.10 # Start off with these warn_unused_configs = True warn_redundant_casts = True diff --git a/pyproject.toml b/pyproject.toml index 5d56c18..d160c35 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ authors = [ description = "A library for enabling/disabling features at runtime." readme = "README.md" license.file = "LICENSE" -requires-python = ">=3.8" +requires-python = ">=3.10" classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python",