Skip to content

[PLT-4661] Add LabelVersion.created_by_email - #2096

Open
mnoszczak wants to merge 1 commit into
developfrom
mnoszczak/plt-4661-label-version-email
Open

mnoszczak wants to merge 1 commit into
developfrom
mnoszczak/plt-4661-label-version-email

Conversation

@mnoszczak

Copy link
Copy Markdown
Contributor

LabelVersion now has created_by_email, so you can see who submitted or approved without listing every organization user and mapping the IDs yourself. John Bullock hit this while checking an Airbnb data row: he had to build {u.uid: u.email for u in org.users()}.

  • The SDK now selects createdBy { email }, which the public LabelVersion type has had since Labelbox/intelligence#31624. No API change is needed. The original E2E for that PR read reviewer emails through the same field.
  • The email is @classified, so it is masked the way user emails always are between a workforce provider and the organizations it works for. If the user can't be read, it is None.
  • Project.label_versions() docstring: a review decision on a whole data row records one version per label on it, all with the same time and reviewer. Filtering by data_row on a row with three labels therefore returns three APPROVED versions. The example now prints label_id, so those don't look like duplicates.
>>> for v in project.label_versions(data_row=data_row_id, include_annotations=False):
...     print(v.label_id, v.action, v.created_by_email, v.stage and v.stage.name)

Tests: tests/unit/schema/test_label_version.py (17 passed); ruff and mypy are clean on the changed files.

🤖 Generated with Claude Code

Reading a data row's versions only returned the user's ID, so you had to
list every organization user to see who submitted or approved. The API
already returns the user (createdBy); the SDK now reads its email, with
the masking user emails always get between a workforce provider and the
organizations it works for.

The Project.label_versions() docstring now also says that a review
decision on a whole data row records one version per label on it, all
with the same time and reviewer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Test-PyPI — f36cac7a Deployed Oct 29, 2026 by mnoszczak via test-pypi #2570
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.

3 participants