v7labs / darwin-py

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

[DAR-2044][External] Bundle tags bound for the same item when using CSV importer #840

Closed JBWilkie closed 2 months ago

JBWilkie commented 2 months ago

Problem

When importing CSV tags, the importer currently sends one request per tag per item. If importing multiple tags to the same item, this can be sped up by bundling tags bound for the same item in the same request

Solution

This PR groups tags bound for the same item into the same request payload, and adds unit tests. I only had to implement this for csv_tags, since it turns out this was already implemented for csv_tags_video

I thought about splitting up annotation payloads if they grow beyond a certain size, but I tested up to 100000 tags in a single payload without issue

Changelog

Improved speed of CSV tag importer when importing multiple tags to the same dataset item

linear[bot] commented 2 months ago

DAR-2044 Group tags bound for the same item in CSV tag imports