Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
"""Public API for accessing the measurement plug-in management service."""

from __future__ import annotations

import warnings
from typing import Any

from deprecation import DeprecatedWarning

from ni_measurement_plugin_sdk_service.session_management._client import (
SessionManagementClient,
)
from ni_measurement_plugin_sdk_service.session_management._constants import (
GRPC_SERVICE_CLASS,
GRPC_SERVICE_INTERFACE_NAME,
INSTRUMENT_TYPE_NI_DAQMX,
INSTRUMENT_TYPE_NI_DCPOWER,
INSTRUMENT_TYPE_NI_DIGITAL_PATTERN,
INSTRUMENT_TYPE_NI_DMM,
INSTRUMENT_TYPE_NI_FGEN,
INSTRUMENT_TYPE_NI_HSDIO,
INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT,
INSTRUMENT_TYPE_NI_RELAY_DRIVER,
INSTRUMENT_TYPE_NI_RFMX,
INSTRUMENT_TYPE_NI_RFPM,
INSTRUMENT_TYPE_NI_RFSA,
INSTRUMENT_TYPE_NI_RFSG,
INSTRUMENT_TYPE_NI_SCOPE,
INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE,
INSTRUMENT_TYPE_NONE,
SITE_SYSTEM_PINS,
RESERVED_HOSTNAME,
RESERVED_USERNAME,
RESERVED_IPADDRESS,
REGISTERED_HOSTNAME,
REGISTERED_USERNAME,
REGISTERED_IPADDRESS,
)
from ni_measurement_plugin_sdk_service.session_management._reservation import (
BaseReservation,
MultiplexerSessionContainer,
MultiSessionReservation,
SingleSessionReservation,
)
from ni_measurement_plugin_sdk_service.session_management._types import (
ChannelMapping,
Connection,
PinMapContext,
MultiplexerSessionInformation,
SessionInformation,
SessionInitializationBehavior,
TypedConnection,
TypedConnectionWithMultiplexer,
TypedMultiplexerSessionInformation,
TypedSessionInformation,
)

__all__ = [
"BaseReservation",
"ChannelMapping",
"Client",
"Connection",
"GRPC_SERVICE_CLASS",
"GRPC_SERVICE_INTERFACE_NAME",
"INSTRUMENT_TYPE_NI_DAQMX",
"INSTRUMENT_TYPE_NI_DCPOWER",
"INSTRUMENT_TYPE_NI_DIGITAL_PATTERN",
"INSTRUMENT_TYPE_NI_DMM",
"INSTRUMENT_TYPE_NI_FGEN",
"INSTRUMENT_TYPE_NI_HSDIO",
"INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT",
"INSTRUMENT_TYPE_NI_RELAY_DRIVER",
"INSTRUMENT_TYPE_NI_RFMX",
"INSTRUMENT_TYPE_NI_RFPM",
"INSTRUMENT_TYPE_NI_RFSA",
"INSTRUMENT_TYPE_NI_RFSG",
"INSTRUMENT_TYPE_NI_SCOPE",
"INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE",
"INSTRUMENT_TYPE_NONE",
"MultiSessionReservation",
"PinMapContext",
"MultiplexerSessionContainer",
"MultiplexerSessionInformation",
"SessionInformation",
"SessionInitializationBehavior",
"SessionManagementClient",
"SingleSessionReservation",
"SITE_SYSTEM_PINS",
"TypedConnection",
"TypedConnectionWithMultiplexer",
"TypedMultiplexerSessionInformation",
"TypedSessionInformation",
"RESERVED_HOSTNAME",
"RESERVED_USERNAME",
"RESERVED_IPADDRESS",
"REGISTERED_HOSTNAME",
"REGISTERED_USERNAME",
"REGISTERED_IPADDRESS",
]


def __getattr__(name: str) -> Any:
if name == "Reservation":
warnings.warn(
DeprecatedWarning(
name,
deprecated_in="1.1.0",
removed_in=None,
details="Use MultiSessionReservation instead.",
),
stacklevel=2,
)
return MultiSessionReservation
else:
raise AttributeError(f"module {__name__} has no attribute {name}")


Client = SessionManagementClient
"""Alias for compatibility with code that uses session_management.Client."""
Loading
Loading