python(feat): Add better report creation and wait_until_complete to SiftClient#475
Open
nathan-sift wants to merge 17 commits intomainfrom
Open
python(feat): Add better report creation and wait_until_complete to SiftClient#475nathan-sift wants to merge 17 commits intomainfrom
nathan-sift wants to merge 17 commits intomainfrom
Conversation
nathan-sift
commented
Feb 13, 2026
Collaborator
|
I'd suggest we expose a sync version within the Job object. Something like: |
marc-sift
reviewed
Feb 19, 2026
marc-sift
requested changes
Feb 19, 2026
marc-sift
reviewed
Feb 20, 2026
| job is not a rule evaluation job. | ||
| """ | ||
| if report is not None and job is not None: | ||
| raise ValueError("exactly one of report or report_job must be provided") |
marc-sift
reviewed
Feb 20, 2026
| raise ValueError("either report or job must be provided") | ||
|
|
||
| if not report_id: | ||
| raise ValueError("report_id must be set") |
Contributor
There was a problem hiding this comment.
Is there a way for these checks to fail given the checks above?
If this is needed for a type checker or linter, we should update the error message to indicate this is an internal library error since it should never happen.
marc-sift
approved these changes
Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates reports to return the Job for the pending report, and adds
wait_until_completeto the Reports and Jobs API.Returning a Job upon report creation provides a better indication to users that the report is in a "pending" state and likely does not have annotations generated yet. In addition to the job_id, users can obtain the report_id as a property of the job.
wait_until_completeis provided for the reports and jobs API, and polls the job status until it is in a completed state. Behavior is similar to the existing sift_py implementation for reports, but with the addition of configurable polling. For the reports implementation, requires a rule evaluation job or report to be provided, and returns a complete Report.Verification
Adds unit tests for
wait_until_completeand an integration test for Reports.