feat: FDE-23 New classification only export endpoint#1090
Conversation
Unit test report (Python 3.9.24, Pydantic 1.10.22)531 tests 531 ✅ 13s ⏱️ Results for commit 6283a53. ♻️ This comment has been updated with latest results. |
Unit test report (Python 3.9.24, Pydantic 2.12.3)531 tests 531 ✅ 11s ⏱️ Results for commit 6283a53. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Code Review
This pull request introduces a bulk classification retrieval feature by adding several DTOs and a get_label_classifications method to the Project class. This allows for efficient, batched fetching of classification answers. Feedback was provided to implement explicit validation for the batch_size parameter to ensure it adheres to the documented maximum of 1000, preventing potential server-side errors.
SDK integration test report 1 files ±0 1 suites ±0 23m 40s ⏱️ + 4m 44s For more details on these failures and errors, see this check. Results for commit 6283a53. ± Comparison against base commit 6cc4766. ♻️ This comment has been updated with latest results. |
alexey-cord-tech
left a comment
There was a problem hiding this comment.
I think the API shape is not optimal.
And we'll also need the integration tests ideally.
Introduction and Explanation
Adding support for the new classification export public endpoint for a specific use case when customers want to export just classifications from a project. Many of the robotics customers just get videos captioned and want to export them. The volume is quite high. Example: 1x wants to be able to export 600k tasks a day at one point and current SDK will take around 400 minutes (~7 hours) for the same. This new method is 17x faster as it doesn't do any other label row enrichments.
Linear
Fixes https://linear.app/encord/issue/FDE-23/sdk-function-for-exporting-only-classifications
Documentation
There should be enough internal documentation for a product owner to write customer-facing documentation or a separate PR linked if writing the customer documentation directly. Link all that are relevant below.
Tests
Make a quick statement and post any relevant links of CI / test results. If the testing infrastructure isn’t yet in-place, note that instead.
Known issues
If there are any known issues with the solution, make a statement about what they are and why they are Ok to leave unsolved for now. Make tickets for the known issues linked to the original ticket linked above