Skip to content

Commit 1e58008

Browse files
Merge branch 'main' into fix-ofrep-parse-error
2 parents 7883ff3 + 0ecd1d4 commit 1e58008

59 files changed

Lines changed: 1328 additions & 1663 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ on:
2020
permissions:
2121
contents: read
2222

23+
env:
24+
TARGET_PYTHON_VERSION: "3.14"
25+
2326
jobs:
2427
changes:
2528
runs-on: ubuntu-latest
@@ -60,15 +63,15 @@ jobs:
6063
runs-on: ubuntu-latest
6164
strategy:
6265
matrix:
63-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
66+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
6467
package: ${{ fromJSON(needs.changes.outputs.packages) }}
6568
steps:
6669
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
6770
with:
6871
submodules: recursive
6972

7073
- name: Install uv and set the python version ${{ matrix.python-version }}
71-
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7
74+
uses: astral-sh/setup-uv@6ee6290f1cbc4156c0bdd66691b2c144ef8df19a # v7
7275
with:
7376
python-version: ${{ matrix.python-version }}
7477
activate-environment: true
@@ -82,15 +85,15 @@ jobs:
8285
run: uv build
8386

8487
- name: Type checking
85-
if: matrix.python-version == '3.13'
88+
if: matrix.python-version == env.TARGET_PYTHON_VERSION
8689
working-directory: ${{ matrix.package }}
8790
run: poe mypy
8891

8992
- name: Test with pytest
9093
working-directory: ${{ matrix.package }}
9194
run: poe cov
9295

93-
- if: matrix.python-version == '3.13'
96+
- if: matrix.python-version == env.TARGET_PYTHON_VERSION
9497
name: Upload coverage to Codecov
9598
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
9699
with:
@@ -106,9 +109,9 @@ jobs:
106109
steps:
107110
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
108111
- name: Install uv and set the python version
109-
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7
112+
uses: astral-sh/setup-uv@6ee6290f1cbc4156c0bdd66691b2c144ef8df19a # v7
110113
with:
111-
python-version: "3.13"
114+
python-version: ${{ env.TARGET_PYTHON_VERSION }}
112115
enable-cache: false # caching is done automatically in `pre-commit/action`
113116

114117
- name: Run pre-commit

.github/workflows/release.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ on:
1111
permissions:
1212
contents: read
1313

14+
env:
15+
TARGET_PYTHON_VERSION: "3.14"
16+
1417
jobs:
1518
release-please:
1619
runs-on: ubuntu-latest
@@ -52,9 +55,9 @@ jobs:
5255
submodules: recursive
5356

5457
- name: Install uv and set the python version
55-
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7
58+
uses: astral-sh/setup-uv@6ee6290f1cbc4156c0bdd66691b2c144ef8df19a # v7
5659
with:
57-
python-version: "3.13"
60+
python-version: ${{ env.TARGET_PYTHON_VERSION }}
5861

5962
- name: Install dependencies
6063
working-directory: ${{ matrix.path }}

.gitmodules

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
[submodule "schemas"]
22
path = providers/openfeature-provider-flagd/openfeature/schemas
33
url = https://github.com/open-feature/schemas
4-
branch = protobuf-v0.6.1
54
[submodule "providers/openfeature-provider-flagd/spec"]
65
path = providers/openfeature-provider-flagd/openfeature/spec
76
url = https://github.com/open-feature/spec
87
[submodule "providers/openfeature-provider-flagd/openfeature/test-harness"]
98
path = providers/openfeature-provider-flagd/openfeature/test-harness
10-
url = https://github.com/open-feature/flagd-testbed.git
11-
branch = v2.11.1
9+
url = https://github.com/open-feature/flagd-testbed.git

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
default_stages: [pre-commit]
22
repos:
33
- repo: https://github.com/astral-sh/ruff-pre-commit
4-
rev: v0.14.3
4+
rev: v0.15.5
55
hooks:
66
- id: ruff-check
77
args: [--fix]

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.10

.release-please-manifest.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"hooks/openfeature-hooks-opentelemetry": "0.3.1",
33
"providers/openfeature-provider-aws-ssm": "0.1.1",
4-
"providers/openfeature-provider-flagd": "0.2.7",
4+
"providers/openfeature-provider-flagd": "0.3.0",
55
"providers/openfeature-provider-ofrep": "0.2.0",
66
"providers/openfeature-provider-flipt": "0.1.3",
7-
"providers/openfeature-provider-env-var": "0.1.0",
8-
"providers/openfeature-provider-unleash": "0.1.1"
7+
"providers/openfeature-provider-env-var": "0.1.1",
8+
"providers/openfeature-provider-unleash": "0.1.2"
99
}

hooks/openfeature-hooks-opentelemetry/pyproject.toml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["uv_build~=0.9.0"]
2+
requires = ["uv_build~=0.10.0"]
33
build-backend = "uv_build"
44

55
[project]
@@ -20,7 +20,7 @@ dependencies = [
2020
"opentelemetry-api",
2121
"opentelemetry-semantic-conventions>=0.50b0",
2222
]
23-
requires-python = ">=3.9"
23+
requires-python = ">=3.10"
2424

2525
[project.urls]
2626
Homepage = "https://github.com/open-feature/python-sdk-contrib"
@@ -30,7 +30,7 @@ dev = [
3030
"coverage[toml]>=7.10.0,<8.0.0",
3131
"mypy>=1.18.0,<2.0.0",
3232
"poethepoet>=0.37.0",
33-
"pytest>=8.4.0,<9.0.0",
33+
"pytest>=9.0.0,<10.0.0",
3434
]
3535

3636
[tool.uv.build-backend]
@@ -42,7 +42,7 @@ namespace = true
4242
mypy_path = "src"
4343
files = "src"
4444

45-
python_version = "3.9" # should be identical to the minimum supported version
45+
python_version = "3.10" # should be identical to the minimum supported version
4646
namespace_packages = true
4747
explicit_package_bases = true
4848
local_partial_types = true # will become the new default from version 2
@@ -53,6 +53,9 @@ pretty = true
5353
strict = true
5454
disallow_any_generics = false
5555

56+
[tool.pytest]
57+
strict = true
58+
5659
[tool.poe.tasks]
5760
test = "pytest tests"
5861
test-cov = "coverage run -m pytest tests"

providers/openfeature-provider-aws-ssm/pyproject.toml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["uv_build~=0.9.0"]
2+
requires = ["uv_build~=0.10.0"]
33
build-backend = "uv_build"
44

55
[project]
@@ -20,7 +20,7 @@ dependencies = [
2020
"boto3>=1.28.0",
2121
"cachebox>=5.1.0,<6.0.0",
2222
]
23-
requires-python = ">=3.9"
23+
requires-python = ">=3.10"
2424

2525
[project.optional-dependencies]
2626
async = ["aioboto3>=12.3.0"]
@@ -36,8 +36,8 @@ dev = [
3636
"coverage[toml]>=7.10.0,<8.0.0",
3737
"mypy>=1.18.0,<2.0.0",
3838
"poethepoet>=0.37.0",
39-
"pytest>=8.4.0,<9.0.0",
40-
"pytest-asyncio>=0.23.0",
39+
"pytest>=9.0.0,<10.0.0",
40+
"pytest-asyncio>=1.3.0,<2.0.0",
4141
"moto[ssm]>=5.0.0,<6.0.0",
4242
]
4343

@@ -50,7 +50,7 @@ namespace = true
5050
mypy_path = "src"
5151
files = "src"
5252

53-
python_version = "3.9" # should be identical to the minimum supported version
53+
python_version = "3.10" # should be identical to the minimum supported version
5454
namespace_packages = true
5555
explicit_package_bases = true
5656
local_partial_types = true # will become the new default from version 2
@@ -66,6 +66,9 @@ omit = [
6666
"tests/**",
6767
]
6868

69+
[tool.pytest]
70+
strict = true
71+
6972
[tool.poe.tasks]
7073
test = "pytest tests"
7174
test-cov = "coverage run -m pytest tests"

providers/openfeature-provider-aws-ssm/src/openfeature/contrib/provider/awsssm/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,6 @@ class AwsSsmProviderConfig:
6565
"""
6666

6767
config: Optional["Config"] = None
68-
endpoint_url: Optional[str] = None
68+
endpoint_url: str | None = None
6969
enable_decryption: bool = False
70-
cache_config: Optional[CacheConfig] = field(default_factory=CacheConfig)
70+
cache_config: CacheConfig | None = field(default_factory=CacheConfig)

providers/openfeature-provider-aws-ssm/src/openfeature/contrib/provider/awsssm/parsers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from typing import Any, Union
2+
from typing import Any
33

44
from openfeature.exception import ParseError, TypeMismatchError
55

@@ -65,7 +65,7 @@ def parse_float(value: str) -> float:
6565
raise TypeMismatchError(f"Cannot parse '{value}' as float") from e
6666

6767

68-
def parse_object(value: str) -> Union[dict[str, Any], list[Any]]:
68+
def parse_object(value: str) -> dict[str, Any] | list[Any]:
6969
"""
7070
Parse a string value as a JSON object.
7171

0 commit comments

Comments
 (0)