3LC Python Package Version 2.11¶
2.11.2¶
Enhancements and Fixes¶
[14341] Raise if user tries to create a
Tablefrom atorchDataLoaderto make it clear that they need to use atorchDatasetinstead[14364] Raise a more specific exception and provide a more helpful error message when a batch containing an empty column is passed to a
TableWriter[14410] Raise a more specific exception and provide a more helpful error message when invalid values are used in schema creation
[14408] Clarified the description of a warning received when joining tables with different project names
[14430] Fixed a bug in
JoinedTablewhere trying to get rows as binary from tables merged fromTableFromParquet(such as those written by aTableWriter) would raise an exception
2.11.1¶
Enhancements and Fixes¶
[14317] Disabled default project configuration file loading on
TableandRuninstantiation 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_aliasmay 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
TableorRunis instantiated so that their aliases are applied. This makes it possible to loadTablesandRunsfrom 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
TableorRunwith the same name and have it updated in the Dashboard without restarting the3lc 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
detailoption to list source information when used with3lc config --list --detailor output detail when used with3lc config --to-yaml --detailExtended 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_metricstoRunthat simplifies writing of the given metrics table and deprecated old methodadd_metrics_datathat 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_maptoTable[14106] Added method
get_columntoTable[13855] Made it so we avoid re-writing images when using the
PILImageSampleType[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_aggregatesargument tocollect_metricswas not handled properly[14151] Updated
pyarrowdependency to 17.0.0[14215] Optimized method that creates unique URLs
[14210] Made it so that providing an input with inconsistent column lengths to
TableFromPydictraises an error immediately, rather than causing an unintuitive error later[14210] Made it so that invalid negative row access for
InMemoryColumnTablesraises an error immediately, rather than causing an unintuitive error later[13819] Fixed
BBCropInterface.crop[12009] Disabled abbreviations for
3lccommand-line interface argument parsing across subcommands to avoid confusion
Known Issues¶
The
tlcPython package does not detect, handle, or support NaN (Not-a-Number) values intlc.Table, and their presence may lead to unpredictable behavior or inconsistencies within the system.