Skip to content

chore: require Python 3.10 to align with latest OpenFeature and LaunchDarkly SDKs - #16

Merged
jsonbailey merged 1 commit into
mainfrom
devin/1785143255-python-310
Jul 27, 2026
Merged

chore: require Python 3.10 to align with latest OpenFeature and LaunchDarkly SDKs#16
jsonbailey merged 1 commit into
mainfrom
devin/1785143255-python-310

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

This example app declared python = "^3.9", which silently held it back to old transitive SDK versions. Both openfeature-sdk 0.10.0 and launchdarkly-server-sdk 9.16.1 declare requires_python >= 3.10, so Poetry had to resolve downwards to satisfy the 3.9 floor:

# before  (python = "^3.9")
openfeature-sdk          0.8.4     <- not latest
launchdarkly-server-sdk  9.14.1    <- not latest

# after   (python = "^3.10")
openfeature-sdk          0.10.0
launchdarkly-server-sdk  9.16.1

The provider this app demonstrates (openfeature-python-server) already requires python = "^3.10", so the ^3.9 floor here was inconsistent with the library it exists to showcase. Python 3.9 is also past end-of-life.

.github/workflows/ci.yml pinned python-version: 3.9, which would now fail dependency resolution, so it moves to '3.10' (quoted so YAML doesn't parse it as the float 3.1).

How to test

poetry install
LAUNCHDARKLY_SDK_KEY=<server key> LAUNCHDARKLY_FLAG_KEY=sample-feature poetry run python main.py

Verified locally: poetry install now resolves OpenFeature 0.10.0 + LaunchDarkly 9.16.1, and main.py connects to LaunchDarkly and evaluates the flag through the provider successfully.

Risks / limitations

Anyone running this example on Python 3.9 will need to upgrade to 3.10+. That is unavoidable — the current SDK releases do not support 3.9.

Link to Devin session: https://app.devin.ai/sessions/62983b2a41614cf2a9e97f2760512fe1


Note

Low Risk
Version and CI pin changes only; the main operational note is that anyone still on Python 3.9 must upgrade to run the example.

Overview
Raises the example app’s Python floor from 3.9 to 3.10 in pyproject.toml (python = "^3.10"), aligning with the OpenFeature/LaunchDarkly stacks that no longer support 3.9 and allowing Poetry to pull current SDK releases instead of older transitive pins.

CI is updated to match: .github/workflows/ci.yml now installs Python '3.10' (quoted) instead of 3.9, so poetry install in the workflow succeeds under the new constraint.

Reviewed by Cursor Bugbot for commit eb11875. Bugbot is set up for automated code reviews on this repo. Configure here.

…ly SDKs

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot added the devin-pr Pull request created by Devin AI label Jul 27, 2026
@jsonbailey
jsonbailey marked this pull request as ready for review July 27, 2026 15:59
@jsonbailey
jsonbailey requested a review from a team as a code owner July 27, 2026 15:59
@jsonbailey
jsonbailey merged commit 2ea0c07 into main Jul 27, 2026
5 checks passed
@jsonbailey
jsonbailey deleted the devin/1785143255-python-310 branch July 27, 2026 19:58
@jsonbailey jsonbailey changed the title chore: require Python 3.10 to allow latest OpenFeature and LaunchDarkly SDKs chore: require Python 3.10 to align with latest OpenFeature and LaunchDarkly SDKs Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devin-pr Pull request created by Devin AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants