TableSource
Where the feature table file physically lives, for a plugin that opens it directly rather than reading rows through TableHandle.frame().
from plexora.api import TableSourceTableSource(
kind: str,
path: str,
table: str | None = None,
subset: Mapping[str, Any] = dict(),
locator: ResourceLocator = <lambda>(),
)Gating needs this: it writes gate thresholds back into the source
AnnData's uns, which no table-reading API expresses. Exposed as a typed
view rather than by handing over the raw config entry, so the on-disk
shape stays core's business.
path is empty when the table is on a data node, exactly as for
ImageSource. Use TableHandle.run() for work that has to open the
file: it runs a registered operation wherever the file physically is,
which matters because such an operation typically checks the file's row
count against the loaded frame before writing to it, and that check means
nothing if the two are on different machines.
Fields
kindstrrequiredThe table's format: "csv", "parquet", "anndata" or "spatialdata".
pathstrrequiredPath to the table file, or "" when the table is on a data node.
tablestr | Nonedefault NoneWhich table inside the store, for a SpatialData .zarr that holds
more than one, or None otherwise.
subsetMapping[str, Any]default dict()The AnnData/SpatialData read spec's subset selection, opaque here since only the format adapters interpret its shape. Empty for a CSV or Parquet table, which is read whole.
locatorResourceLocatordefault <lambda>()Where this table actually is. Local for every ordinary project.
Properties
is_local
is_local: boolWhether the table's file is on this machine.
boolTrue when path names a real, readable file; False when
the table is on a data node and path is empty.