3LC Python Package Version 2.17

2.17.0

Features

  • [15605] Added new SuperGradients integration, which can be used with e.g. YOLO-NAS. See Integrating 3LC with SuperGradients for details.

  • [15521] Added support for newline-delimited JSON files (ndjson) using TableFromNdjson and TableFromYoloNdjson

  • [15471] Implemented Schema default value handling

    • If a value is missing in the data but the schema specifies a default value

      • The missing values should be null in the binary/pyarrow representation of the table

      • The missing values should be default-populated in the sample view and the table row view

    • Rows can be added to a TableWriter with missing data, if the corresponding schema has a default value

    • A table may produce values with null/None/missing values in data, default values should be added according to the above rules.

Enhancements and Fixes

  • [15581] Fixed an issue preventing a cloud location (e.g. a folder in an S3 bucket) from being used as project root URL

  • [15613] Made it so overwritten Tables get a new etag from the Object Service, which fixes an issue where stale data could be served to the Dashboard from the browser cache for such Tables

  • [15280] Introduce type alias ValueMapLike, which represents anything that can be converted to a 3LC value map (which officially is dict[float, MapElement]).

  • [15280] Added some useful builtin schemas (CategoricalLabelListSchema, Float32ListSchema, Int32ListSchema) and allowed for passing kwargs to builtin schemas

  • [15636] Fixed a race condition with indexing threads that would output stacktrace to log and then restart

  • [15350] Made it so that “utf-8” is consistently used throughout the 3lc python package as the default encoding

  • [15640] Addressed issues when providing the project root URL or log file as relative paths