diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 1a3e75e..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 }} @@ -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 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..0a01c74 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.8 +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 69edaa1..d160c35 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,16 +26,17 @@ 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", "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/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..5863ab5 100644 --- a/setup.py +++ b/setup.py @@ -47,16 +47,16 @@ "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", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "License :: OSI Approved :: MIT License", ], 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"],