3LC Python Package Version 2.16¶
2.16.3¶
Enhancements and Fixes¶
[15451] Harden background indexing in the face of IO errors
[15510, 15545] Do not use long-lived sessions with service calls to avoid timeouts and connection closed errors
[15549] Fix getting trapped when no API key is set in Jupyter Notebook and Escape is received
[15563] Remove unnecessary and misleading warning emitted from
TableWriter[15553] Fixed a race condition that could result in object files not being written under heavy load
[15565, 15566] Improved
TableFromYoloerror message whenverify_coordinatesfails[15570] Report error details for API key validation failures
2.16.2¶
Enhancements and Fixes¶
[14246] Improved performance of first time calls to
Url.create_unique[15478] Reverted override of behavior of
Table.__bool__to keep it more pythonic
2.16.1¶
Enhancements and Fixes¶
[15133, 15433] Support
torch.Tensorinputs inIntandFloatschema sample type classes[15433] Relax int and float sample type checks; allow a float value for
Intif it can be losslessly converted to an integer, and allow an int value forFloat[15132] Provide a more specific error when there is an issue constructing a schema
MapElementvalue map[15130] Provide more informative error messages when exporter format inference fails
[15460] Do not use global random state in
RepeatByWeightSamplerto make it easier to make results repeatable[15460] Added warning in docs not to instantiate
TableandRundirectly, inspired by Pyarrow[15097] Warn when coco labels are not in the label map, which can happen either if the
annotations.jsonfile contains labels not present in the categories list, or if a user deletes a value map item in code while there are still annotations present using that label[15425] Do not load parquet twice if row cache is used
[15466] Check for YAML file existing in
TableFromYoloand raise if it does not[15467] Added
uvinstall instructions to Quickstart[15484] Link to updated video in Quickstart
[13747] Improved formatting for
3lcPython API docs and added a couple of mappings to external library docs[15352] Updated docs for indexing configuration and performance
[15478] Raise an error if
__bool__is called on aTableinstead of implicitly producing its row data
2.16.0¶
Features¶
[13789] Added support for Python 3.13
This required several updates to dependencies; of particular note:
pyarrow 17topyarrow>=18andpyarmor 8topyarmor 9
[15264] Added a
3lc watchservice to monitor and detect external changes to 3LC project folders. It uses file system notifications and updates timestamp files in order to notify other parts of the 3LC ecosystem about changes to data. It carries no dependence on the rest of the tlc library and can be run in a separate process.For convenience it is also possible to add watching of all local scan URLs in the Object Service using the new
--watch-local-foldersoption
Enhancements and Fixes¶
[13429] Put several mechanisms in place maintain robust backwards-compatibility for 3LC object serialization format
[14906] Added a warning for unequal default values in schema comparison
[15289] Reduced memory usage for
TableobjectsRemoved circular object dependencies to allow for garbage collection
Avoid reading the full parquet when asked to produce schema in many cases
[15376] Updated the
Object.deletedocstring to clarify usage and behavior[15409] Improve error handling when validating object names, particularly when there is an issue with a category value in TableFromYolo
[13114] Improvements to memory handling
Clear metrics tables after embedding reduction
Ensure objects are deleted from
ObjectRegistrywhen source tables are deleted from diskFixed issue that could inadvertently cause a
Tableto produce its row data during deletion
Fix printing of
model_urlin log message, which came out as absolute for all log messages after the first[15375] Clean up malformed
JoinedTableif schemas are incompatible