3LC Python Package Version 3.1¶
3.1.1¶
Enhancements and Fixes¶
[17892] Made lazy table data production thread-safe.
[17905] Avoid pyarrow column size limits in parquet round-trips by splitting into row groups under the size limit.
[17937] Fixed incorrect yolo label file resolution for remote Urls.
[18006] Define Url.parent at the boundary: a container root - a cloud bucket, a host, a drive root, a UNC share, the filesystem root, an alias root, or an empty URL - is its own parent. This follows the same convention as POSIX paths.
[18016] Create and require the project root at startup.
3.1.0¶
Features¶
New RLE-backed semantic segmentation representation. Author tables with the
Table.from_semantic_segmentation()front door, or declare a mask column directly withSemanticSegmentationRleSchema. Masks are stored compactly as one run-length-encoded layer per class present, drive the Dashboard’s dedicated semantic-segmentation interface, and support specialbackground(recorded in the column schema metadata, omitted from per-row storage) andvoid(tagged, excluded from metrics) classes. On read, the mask column yieldsSemanticSegmentationobjects. See Semantic Segmentation for details.[17705] Added
baselined_byandbaseline_forSchema attributes as a foundation that allows the Dashboard to show how properties have changed relative to particular revisions.
Enhancements and Fixes¶
[17651] Export
__version__and__git_revision__intlc.__all__.[17751] Add
ImageHelper.openas the canonical image loader to turn an image-column sample value into aPIL.Image, regardless of how the column is stored. This helps to avoid confusion that led to various errors in usage.[17242] Reject unresolved aliases at the IO boundary. Unregistered aliases are preserved for bookkeeping but raise when used in an actual call to read/write data to URL.
[17753] Fix segmentation polygon export: bridge components, preserve holes; add COCO RLE option.
[17523] YOLO URL import: keep truncated images, skip only undecodable ones.
[17817] Tighten JWT validation leeway from 1 hour to 60 seconds.
[17810] Do not raise when torch/torchvision exists but fails to import in code paths where they are truly optional (such as accepting parameters and metrics) and graceful degradation is better.
[17844] Never expose partially constructed objects from
ObjectRegistry.[17723] Preserve concrete class type in
register_object_typedecorator to avoid tripping up the type checker.[17821] Avoid issue for Python 3.13
uv pip install 3lc[umap]by pinningnumbalower bound.
Deprecations¶
SemanticSegmentationSchema, the legacy PNG/PIL-image-backed mask schema (one grayscale pixel value per class index), is deprecated in favor of the RLE-backed schema above and now emits aDeprecationWarningon use. It remains available for backward compatibility.SegmentationMetricsCollector, which writes predicted masks in the deprecated PNG/PIL-image-backed format, is deprecated in favor of the RLE-backed semantic segmentation representation and now emits aDeprecationWarningon construction. It remains available for backward compatibility.