Skip to content

feat: FDE-23 New classification only export endpoint#1090

Open
deoracord wants to merge 4 commits into
masterfrom
deora/feat/1x-faster
Open

feat: FDE-23 New classification only export endpoint#1090
deoracord wants to merge 4 commits into
masterfrom
deora/feat/1x-faster

Conversation

@deoracord

Copy link
Copy Markdown
Contributor

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.

  • Internal: notion link
  • Customer docs PR: link
  • OpenAPI/SDK
    • Generated docs: link to example if possible
    • Command to generate: here

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.

  • What are the critical unit tests?
  • Explain the Integration Tests such that it’s clear Correctness is satisfied. Link to test results if possible.

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

@github-actions

github-actions Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Unit test report (Python 3.9.24, Pydantic 1.10.22)

531 tests   531 ✅  13s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 6283a53.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Unit test report (Python 3.9.24, Pydantic 2.12.3)

531 tests   531 ✅  11s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 6283a53.

♻️ This comment has been updated with latest results.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread encord/project.py
@github-actions

github-actions Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

SDK integration test report

  1 files  ±0    1 suites  ±0   23m 40s ⏱️ + 4m 44s
289 tests ±0  268 ✅  - 3  4 💤 ±0  16 ❌ +3  1 🔥 ±0 
290 runs  ±0  268 ✅  - 3  4 💤 ±0  16 ❌ +3  2 🔥 ±0 

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 alexey-cord-tech left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the API shape is not optimal.

And we'll also need the integration tests ideally.

Comment thread encord/project.py Outdated
Comment thread encord/project.py Outdated
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.

2 participants