Resource Manager

class pyvisa.highlevel.ResourceInfo(interface_type, interface_board_number, resource_class, resource_name, alias)

Resource extended information

Named tuple with information about a resource. Returned by some ResourceManager methods.

Interface_type:

Interface type of the given resource string. pyvisa.constants.InterfaceType

Interface_board_number:

Board number of the interface of the given resource string. We allow None since serial resources may not sometimes be easily described by a single number in particular on Linux system.

Resource_class:

Specifies the resource class (for example, “INSTR”) of the given resource string.

Resource_name:

This is the expanded version of the given resource string. The format should be similar to the VISA-defined canonical resource name.

Alias:

Specifies the user-defined alias for the given resource string.

class pyvisa.highlevel.ResourceManager(visa_library: str | VisaLibraryBase = '')[source]

VISA Resource Manager.

close() None[source]

Close the resource manager session.

Notes

Since the resource manager session is shared between instances this will also terminate connections obtained from other ResourceManager instances. This call will also be triggered by the context manager protocol and destructor.

property last_status: StatusCode

Last status code returned for an operation with this Resource Manager.

list_resources(query: str = '?*::INSTR') Tuple[str, ...][source]

Return a tuple of all connected devices matching query.

Notes

The query uses the VISA Resource Regular Expression syntax - which is not the same as the Python regular expression syntax. (see below)

The VISA Resource Regular Expression syntax is defined in the VISA Library specification: http://www.ivifoundation.org/docs/vpp43.pdf

Symbol Meaning ———- ———-

? Matches any one character.

Makes the character that follows it an ordinary character

instead of special character. For example, when a question mark follows a backslash (?), it matches the ? character instead of any one character.

[list] Matches any one character from the enclosed list. You can

use a hyphen to match a range of characters.

[^list] Matches any character not in the enclosed list. You can use

a hyphen to match a range of characters.

  • Matches 0 or more occurrences of the preceding character or expression.

  • Matches 1 or more occurrences of the preceding character or expression.

Exp|exp Matches either the preceding or following expression. The or

operator | matches the entire expression that precedes or follows it and not just the character that precedes or follows it. For example, VXI|GPIB means (VXI)|(GPIB), not VX(I|G)PIB.

(exp) Grouping characters or expressions.

Thus the default query, ‘?*::INSTR’, matches any sequences of characters ending ending with ‘::INSTR’.

On some platforms, devices that are already open are not returned.

list_resources_info(query: str = '?*::INSTR') Dict[str, ResourceInfo][source]

Get extended information about all connected devices matching query.

For details of the VISA Resource Regular Expression syntax used in query, refer to list_resources().

Returns:

Mapping of resource name to ResourceInfo

Return type:

Dict[str, ResourceInfo]

open_bare_resource(resource_name: str, access_mode: AccessModes = AccessModes.no_lock, open_timeout: int = 0) Tuple[VISASession, StatusCode][source]

Open the specified resource without wrapping into a class.

Parameters:
  • resource_name (str) – Name or alias of the resource to open.

  • access_mode (constants.AccessModes, optional) – Specifies the mode by which the resource is to be accessed, by default constants.AccessModes.no_lock

  • open_timeout (int, optional) – If the access_mode parameter requests a lock, then this parameter specifies the absolute time period (in milliseconds) that the resource waits to get unlocked before this operation returns an error, by default constants.VI_TMO_IMMEDIATE.

Returns:

  • VISASession – Unique logical identifier reference to a session.

  • StatusCode – Return value of the library call.

open_resource(resource_name: str, access_mode: AccessModes = AccessModes.no_lock, open_timeout: int = 0, resource_pyclass: Type[Resource] | None = None, **kwargs: Any) Resource[source]

Return an instrument for the resource name.

Parameters:
  • resource_name (str) – Name or alias of the resource to open.

  • access_mode (constants.AccessModes, optional) – Specifies the mode by which the resource is to be accessed, by default constants.AccessModes.no_lock

  • open_timeout (int, optional) – If the access_mode parameter requests a lock, then this parameter specifies the absolute time period (in milliseconds) that the resource waits to get unlocked before this operation returns an error, by default constants.VI_TMO_IMMEDIATE.

  • resource_pyclass (Optional[Type[Resource]], optional) – Resource Python class to use to instantiate the Resource. Defaults to None: select based on the resource name.

  • kwargs (Any) – Keyword arguments to be used to change instrument attributes after construction.

Returns:

Subclass of Resource matching the resource.

Return type:

Resource

resource_info(resource_name: str, extended: bool = True) ResourceInfo[source]

Get the (extended) information of a particular resource.

Parameters:
  • resource_name (str) – Unique symbolic name of a resource.

  • extended (bool, optional) – Also get extended information (ie. resource_class, resource_name, alias)

property session: VISARMSession

Resource Manager session handle.

Raises:

errors.InvalidSession – Raised if the session is closed.