feat: add CleanReport JSON export - #182
Conversation
|
Strix is installed on this repository, but we couldn't run this PR security review because this workspace's trial has ended. Add a card to resume code reviews here. So far, Strix has reviewed 36 pull requests, surfaced 3 security issues (1 critical/high) and blocked 1 risky merge across this workspace. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2189ffe3f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
JohnnyWilson16
left a comment
There was a problem hiding this comment.
Hey @WilliamK112,
Thanks for another great PR!
Really appreciate how thorough you were here—not just adding to_json and write_json, but also handling non-primitive serialization defaults (default=str for timestamps in metadata), updating the quickstart and example script, and adding solid round-trip tests. It makes exporting clean audit logs so much smoother.
Everything looks super clean and ready to go. Merging this in! 🚀
Summary
CleanReport.to_json(**kwargs)andCleanReport.write_json(path, **kwargs)helpers without changing the existingto_dict()payloadCloses #21.
Validation
pytest tests/test_report.py --no-cov— 12 passedruff check .— passedmypy src/freshdata/report.py— passed (with NumPy 2.4; the latest 2.5 stubs require a newer mypy target than this repository's configured Python 3.10 target)python examples/08_csv_automation.py— completed and wrote 3 JSON audit logsgit diff --check— passed.[dev,ml]: 4,054 passed, 6 skipped, 12 deselected; 93.16% aggregate coverage (93% required)The new serialization lines are exercised by the focused tests;
src/freshdata/report.pymeasured 96% coverage in the full run.