3LC Python Package Version 2.22¶

2.22.0¶

System Requirements¶

  • [16761] Support for Python 3.9 has been removed

Features¶

  • [16704] Added explicit Url methods read_bytes, read_text, write_bytes, and write_text to replace read and write, which have been deprecated

  • [16382] Added TableFromYoloUrl, a simpler YOLO-based Table that replaces TableFromYolo, which has been deprecated Key changes include:

    • Urls are used for all file operations, removing the previous local-only restriction

    • For performance reasons, images and label files are read async when the dataset is on remote storage, and users have to consent to reading from remote storage by passing fetch_remote_data=True

    • The interface is simplified to expect the images location and list/dict of categories, instead of a yolo yaml file. Parsing the yaml file is now the responsibility of the 3lc-ultralytics integration.

    • The image height and width are no longer top-level columns, since the data already exists in the label column

    • Table.from_yolo() is deprecated in favor of Table.from_yolo_url() and the 3lc-ultralytics integration

    • Improved output with progress bars whenever a time-consuming operation takes place (reading, parsing, etc.)

    • Other related additions:

      • Added Url create_project_url to create project URL from root and project name, similar to methods that exist for runs, tables, and project alias files

      • Added Url.cwd()

      • Added ImageHelper for reading image dimensions that respects exif rotation, along with a FAQ and docs entry clarifying how this is handled in 3LC

Enhancements and Fixes¶

  • [16702] Replaced rich with tqdm for progress bar display, which allows for native nested progress bar support, better Jupyter notebook widget integration, use of built-in delay parameter to skip progress on fast operations, and more informative default output

  • [16786] Allow URL column data to be of type Url and not just str when adding batches to TableWriter

  • [16500] Added support for retrying 3LC service requests, along with more robust error handling and logging

  • [16856] Used @deprecated decorator for several deprecated functions and classes, which allows type checkers to warn about usage of deprecated symbols

  • [16852] Improve handling of logging during shutdown

    • Removed some unnecessary logging

    • Flush logging handlers