3LC Python Package Version 2.11#

2.11.1#

Enhancements and Fixes#

  • [14317] Disabled default project configuration file loading on Table and Run instantiation because it caused a serious performance issue with the normal indexing. That feature will be revisited to enable it in a way that does not impact performance.


2.11.0#

Features#

  • [13456] Added support for picking up aliases from 3LC project config files at runtime without requiring a restart of 3lc service.

    • See details in the configuration documentation

    • The project config file name is “default_aliases.3lc.yaml” but “config.3lc.yaml” is supported for backwards compatibility

    • The method tlc.client.helpers.register_project_url_alias may be used e.g. from a notebook to both register an alias for the current session and write it to the project’s aliases config file.

  • [14240] Made it so that project config files are loaded when a Table or Run is instantiated so that their aliases are applied. This makes it possible to load Tables and Runs from projects that are not indexed because the indexer has not yet started. This only applies to projects that are otherwise currently configured to be indexed. These config files will only be loaded once and updates to them will not be automatically detected and applied.

  • [13342] Made it possible to overwrite a Table or Run with the same name and have it updated in the Dashboard without restarting the 3lc service.

Enhancements and Fixes#

  • [13456] Made various improvements to the configuration system

    • It now keeps track of the configuration source for files and environments and supports applying configuration updates from any source in any order while retaining precedence rules

    • Add new detail option to list source information when used with 3lc config --list --detail or output detail when used with 3lc config --to-yaml --detail

    • Extended support for alias anchoring using the “$.” syntax to all config files

  • [13457] Ensure bounding-box coordinates have float type in TableFromCoco

  • [13965] Added method add_metrics to Run that simplifies writing of the given metrics table and deprecated old method add_metrics_data that had been provided for this purpose

  • [14046] Fixed regression that resulted in tables unintentionally including large bulk data when sent through the object service to the dashboard

  • [14106] Added method get_simple_value_map to Table

  • [14106] Added method get_column to Table

  • [13855] Made it so we avoid re-writing images when using the PILImage SampleType

  • [14103] Fix joined table bug when reloading with enum override

  • [14113] Added sanitization of constants added to runs by skipping any that are not valid

  • [14163] Made it possible to set weight column value when creating a Table

  • [13865] Added support for specifying the embedding column when reducing a Run

  • [13820] Fixed an oversight where the collect_aggregates argument to collect_metrics was not handled properly

  • [14151] Updated pyarrow dependency to 17.0.0

  • [14215] Optimized method that creates unique URLs

  • [14210] Made it so that providing an input with inconsistent column lengths to TableFromPydict raises an error immediately, rather than causing an unintuitive error later

  • [14210] Made it so that invalid negative row access for InMemoryColumnTables raises an error immediately, rather than causing an unintuitive error later

  • [13819] Fixed BBCropInterface.crop

  • [12009] Disabled abbreviations for 3lc command-line interface argument parsing across subcommands to avoid confusion

Known Issues#

  • The tlc Python package does not detect, handle, or support NaN (Not-a-Number) values in tlc.Table, and their presence may lead to unpredictable behavior or inconsistencies within the system.