Skip to content

Conversation

@khvn26
Copy link
Member

@khvn26 khvn26 commented Dec 11, 2025

Contributes to #128.

In this PR, we add Python stdlib-based DynamoDB document schemas for Flagsmith's Edge API data model.

The goals are to:

  • Preserve a single source of truth for Edge API's data model.
  • Thoroughly document it, and uphold high documentation standards in the future.
  • Decouple the schema from its validation and serialisation code so the data can be consumed by typed Python code without having to rely on Pydantic dependency.
  • At the same time, make it usable for serialisation tools such as Pydantic and preserve compatibility with existing validation and serialisation behaviour.

Initially, I was hesitant to add validation code to this package. I'm considering to add it now, however, in a subsequent PR, so it can be consumed in environments where Pydantic is still possible to use.

I've added a bunch of TODOs that I expect to resolve prior to merging the current PR, and highlighted them by starting relevant review threads.

@codecov-commenter
Copy link

codecov-commenter commented Dec 11, 2025

Codecov Report

❌ Patch coverage is 98.31933% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.32%. Comparing base (51c529b) to head (43a7efb).

Files with missing lines Patch % Lines
src/common/test_tools/plugin.py 33.33% 4 Missing ⚠️

❌ Your patch status has failed because the patch coverage (98.31%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@                Coverage Diff                 @@
##           ci/uv-renovate     #137      +/-   ##
==================================================
+ Coverage           94.72%   95.32%   +0.60%     
==================================================
  Files                  76       79       +3     
  Lines                2444     2673     +229     
==================================================
+ Hits                 2315     2548     +233     
+ Misses                129      125       -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@khvn26 khvn26 marked this pull request as ready for review December 15, 2025 18:58
@khvn26 khvn26 requested a review from a team as a code owner December 15, 2025 18:58
@khvn26 khvn26 requested review from emyller, gagantrivedi and matthewelwell and removed request for a team December 15, 2025 18:58
@khvn26 khvn26 requested a review from gagantrivedi December 26, 2025 15:37
@khvn26 khvn26 requested review from Zaimwa9 and gagantrivedi January 2, 2026 14:55
Copy link
Contributor

@Zaimwa9 Zaimwa9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with a NIT wording, i leave it up to you. Otherwise I consider @gagantrivedi' comments to have been resolved

@khvn26 khvn26 dismissed gagantrivedi’s stale review January 5, 2026 15:51

Gagan is out today; all of his threads were addressed and double-checked by a peer.

@khvn26 khvn26 merged commit a86556b into ci/uv-renovate Jan 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants