3LC Python Package Version 3.3¶
3.3.2¶
Enhancements and Fixes¶
[18480] Fixed objects whose names contain non-ASCII or reserved characters (for example
roséora#b) being stored under a percent-encoded key on S3, GCS and Azure. Such objects could not be read back by URL and were skipped by indexing.[18499] Fixed row deletion in an edited table removing the wrong row, or failing, when the input column was chunked and the deleted row was not in the first chunk.
[18307] Fixed a crash when writing a column whose schema override declares a URL sample type but whose data needs externalization. The URL relativization error message now names the column and suggests a fix.
[18308] String class names passed to a categorical column are now resolved to their integer index with a warning, instead of failing with a cast error. An unknown label raises an error listing the available classes.
[18377]
TableWriternow recovers the rows schema when passed a full Table schema, logging a warning, instead of raising.[18375] Excluded PyArrow 19.0.0, which cannot read Parquet files written by parquet-rs (Polars, DataFusion, and many Hugging Face datasets).
[18376] Added
__len__toTableRows, solen(table.table_rows)works.[18379] Calling
Run.add_metricswith no metrics now points the caller attlc.log.[18372] Reduced Object Service log noise from thumbnails. A store that publishes no thumbnails is now reported once per location instead of once per image cell.
3.3.1¶
Enhancements and Fixes¶
[18256] Fixed an issue where a run’s tables would sometimes fail to load in the Dashboard until the Object Service was restarted.
[18286] Fixed an issue where a single unusable
scan-urlsentry could disable all indexing. Unusable entries are now skipped with a warning.[18326] Fixed URL query strings being dropped when converting URLs between relative and absolute forms.
[18193] Fixed incorrect instance segmentation masks for objects annotated with multiple disjoint polygons. The area between the polygons is no longer filled in.
[18259] [18287] Improved warnings when tables or runs are written to a location where they will not be discovered. Writing outside the configured
scan-urlsis now reported once per location, naming the root to add, and a conflicting project alias warning now names the config file and both paths.[18264] Reduced log noise when an S3 bucket’s region differs from the configured region. This is now logged at INFO instead of WARNING.
3.3.0¶
Features¶
[18101] 3LC can now publish and serve downsampled thumbnails for a dataset’s or run’s images. Run
3lc thumbnails create <table url|run url>..., or callTable.create_thumbnails()/Run.create_thumbnails(), to publish 768 px WebP copies beside the data. The Object Service then serves the thumbnail in place of the original wherever supported, falling back to the original otherwise. Thumbnails are stored under a cache directory alongside the data and can be regenerated or removed at any time.On-premise deployments can now license 3LC against a customer-local floating license server instead of the hosted license service. Set
TLC_LICENSE_SERVERto the server’s URL to lease a floating license from it, enabling licensing with zero external network access for air-gapped or fully offline environments.