open-feature / open-feature/python-sdk-contrib
feat!: adopt numeric coercion contract
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 27
- Forks
- 33
- Avg merge
- 5h 7m
- Merged PRs (30d)
- 9
Description
Adopts the numeric coercion ADR in the flagd provider.
- implement lossless numeric coercion in the in-process resolver (per-language flagd-core)
- for
ResolveAll/AnyFlag.double_value, apply the same lossless check client-side so bulk eval matches individualResolve*behavior - bump
flagd-testbedsubmodule; adopt@numeric-coercion-v2and drop old@numeric-coercionexclusions/scenarios - coordinated release with other providers
- breaking; call out in release notes
Update resolvers under resolvers/ and resolvers/process/.
Parent: https://github.com/open-feature/flagd/issues/1995
Depends on
Blocked until the following land first:
- open-feature/flagd#1996 (flagd + flagd-core implementation)
- open-feature/flagd-testbed#379 (
@numeric-coercion-v2scenarios and new testbed release)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This work is blocked on open-feature/flagd#1996 and flagd-testbed#379. Once those land, start with the resolvers/ and resolvers/process/ directories, then inspect the updated flagd-testbed scenarios. Done means lossless coercion is applied consistently for individual and bulk resolution, the submodule uses @numeric-coercion-v2 without the old exclusions, and the breaking change is covered in release notes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100