3LC Python Package Version 2.16

2.16.0

Features

  • [13789] Added support for Python 3.13

    • This required several updates to dependencies; of particular note: pyarrow 17 to pyarrow>=18 and pyarmor 8 to pyarmor 9

  • [15264] Added a 3lc watch service 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-folders option

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 Table objects

    • Removed 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.delete docstring 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 ObjectRegistry when source tables are deleted from disk

    • Fixed issue that could inadvertently cause a Table to produce its row data during deletion

  • Fix printing of model_url in log message, which came out as absolute for all log messages after the first

  • [15375] Clean up malformed JoinedTable if schemas are incompatible