v7labs / darwin-py

Library and commandline tool for managing datasets on darwin.v7labs.com
MIT License
115 stars 40 forks source link

[DAR-2606][External] Strip leading & trailing whitespaces from class names when reading Darwin JSON annotations #866

Closed JBWilkie closed 1 month ago

JBWilkie commented 1 month ago

Problem

It's not possible to create annotation class names with leading or trailing whitespaces in the Darwin platform. However, when importing annotation class names with leading or trailing whitespaces in Darwin JSON 2.0, darwin-py doesn't strip these whitespaces away. This means that when comparing the list of local classes against the list of remote classes, darwin-py treats these classes as new and tries unsuccessfully to create them. The following error is then thrown: darwin.exceptions.ValidationError: {'errors': {'name': ['Class of type tag with name: WEED:BROADLEAF already exists.']}}

Solution

This PR strips the leading and trailing whitespaces from class names when importing Darwin JSON 2.0

Changelog

Strip leading and trailing whitespace characters from annotation class names upon import of Darwin JSON 2.0 annotations, more closely mirroring the frontend behaviour of annotation class names

linear[bot] commented 1 month ago

DAR-2606 BUG: darwin-py should remove leading and trailing whitespace characters when checking local class names against remote class names