vendor_fabric.vendor_data

VendorData facade over Extended Data and provider connectors.

Module Contents

Classes

VendorCapability

A public VendorData operation routed to a provider connector method.

VendorData

Extended Data facade with lazy vendor activation and capability dispatch.

Data

API

vendor_fabric.vendor_data.SupportSpec = None
class vendor_fabric.vendor_data.VendorCapability

A public VendorData operation routed to a provider connector method.

provider: str = None
operation: str = None
method: str = None
capability: str = 'operation'
description: str = <Multiline-String>
source: str = 'method'
as_dict() extended_data.containers.ExtendedDict

Return capability metadata as Extended Data.

class vendor_fabric.vendor_data.VendorData(value: Any = None, *, fabric: vendor_fabric.connectors.ConnectorFabric | None = None, logger: extended_data.logging.Logging | None = None, capabilities: collections.abc.Iterable[vendor_fabric.vendor_data.VendorCapability] = (), **fabric_kwargs: Any)

Bases: extended_data.containers.ExtendedData

Extended Data facade with lazy vendor activation and capability dispatch.

VendorData keeps ordinary Extended Data behavior for the wrapped value while adding a provider fabric. Providers are dormant until opened or used. Public operations such as get_file and list_users accept the provider id as their first argument, then dispatch to the provider-specific connector method declared in the capability matrix.

Initialization

Initialize scalar/object holders without touching concrete subtypes.

property value: Any

Return the wrapped Extended Data value.

property data_type: str

Return the wrapped value type name.

property shape: str

Return the wrapped value shape.

property active_provider: extended_data.containers.ExtendedString | None

Return the active provider id, when one has been opened.

as_builtin() Any

Return the wrapped data lowered to built-in containers.

as_extended() Any

Return the wrapped data as an Extended Data value.

cast(value: Any) Self

Mutate the wrapped value to a new Extended Data subtype.

open(provider_id: str, *, strict: bool = True, **kwargs: Any) Self

Activate a provider connector and make it the active provider.

open_provider(provider_id: str, **kwargs: Any) Any

Activate and return a provider connector.

provider(provider_id: str, **kwargs: Any) Any

Return an active provider connector, opening it when needed.

provider_info(provider_id: str, *, include_unavailable: bool = True) extended_data.containers.ExtendedDict

Return provider registry metadata.

is_provider_available(provider_id: str) bool

Return whether a provider can be opened in this environment.

capabilities(provider_id: str | None = None, *, include_unavailable: bool = True) extended_data.containers.ExtendedList[Any]

Return VendorData capability routes.

capability_matrix(*, include_unavailable: bool = True) extended_data.containers.ExtendedDict

Return operation -> provider -> route metadata.

supports(provider_id: str, operation: str, *, require_available: bool = False) bool

Return whether a provider supports a VendorData operation.

call(operation: str, provider_id: str | None = None, *args: Any, **kwargs: Any) Any

Dispatch an operation through its provider connector.

classmethod declare_supports(connector_cls: type[vendor_fabric.base.ConnectorBase], supports: collections.abc.Mapping[str, vendor_fabric.vendor_data.SupportSpec]) None

Attach __supports__ metadata to a provider class.

property is_mapping: bool
property is_sequence: bool
property is_string: bool
property is_set: bool
property is_scalar: bool
property is_none: bool
classmethod from_value(value: Any = None) extended_data.containers.data.ExtendedData
classmethod decode(data: str | memoryview | bytes | bytearray, *, file_path: str | pathlib.Path | None = None, suffix: str | None = None) extended_data.containers.data.ExtendedData
classmethod read(file_path: str | pathlib.Path, *, suffix: str | None = None, charset: str = 'utf-8', errors: str = 'strict', headers: collections.abc.Mapping[str, str] | None = None, tld: pathlib.Path | None = None) extended_data.containers.data.ExtendedData
copy() extended_data.containers.data.ExtendedData
map(transform: collections.abc.Callable[[Any], Any]) extended_data.containers.data.ExtendedData
map_builtin(transform: collections.abc.Callable[[Any], Any]) extended_data.containers.data.ExtendedData
transform(*steps: str) extended_data.containers.data.ExtendedData
merge(*mappings: collections.abc.Mapping[str, Any]) extended_data.containers.data.ExtendedData
workflow() Any
sync_to_file(file_path: str | pathlib.Path, *, source: str = 'memory', encoding: str | None = None, charset: str = 'utf-8', allow_empty: bool = False, dry_run: bool = False, tld: pathlib.Path | None = None, metadata: collections.abc.Mapping[str, Any] | None = None) Any
write(file_path: str | pathlib.Path, *, encoding: str | None = None, charset: str = 'utf-8', allow_empty: bool = False, tld: pathlib.Path | None = None) pathlib.Path | None
to_export_safe(*, export_to_yaml: bool = False) Any
wrap_for_export(allow_encoding: bool | str = True, **format_opts: Any) str
get(key: Any, default: Any = None) Any
append(item: Any) Self
extend(values: collections.abc.Iterable[Any]) Self
update(*args: Any, **kwargs: Any) Self
add(item: Any) Self