API Reference#

PIconnect - Connector to the OSISoft PI and PI-AF databases.

class PIconnect.PIAFDatabase(server: str | None = None, database: str | None = None)#

Bases: object

Context manager for connections to the PI Asset Framework database.

property children: dict[str, PIAFElement]#

Return a dictionary of the direct child elements of the database.

database: AFDatabase#
property database_name: str#

Return the name of the connected PI AF database.

default_server: dict[str, PISystem | dict[str, AFDatabase]] | None = {'databases': {'TestDatabase': <PIconnect._typing.AF.AFDatabase object>}, 'server': <PIconnect._typing.AF.PISystem object>}#
descendant(path: str) PIAFElement#

Return a descendant of the database from an exact path.

event_frames(start_time: str | datetime = '', start_index: int = 0, max_count: int = 1000, search_mode: EventFrameSearchMode = EventFrameSearchMode.FORWARD_FROM_START_TIME, search_full_hierarchy: bool = False) dict[str, PIAFEventFrame]#

Search for event frames in the database.

search(query: str | list[str]) list[PIAFAttribute]#

Search PIAFAttributes by element|attribute path strings.

Return a list of PIAFAttributes directly from a list of element|attribute path strings

like this:

list(“BaseElement/childElement/childElement|Attribute|ChildAttribute|ChildAttribute”, “BaseElement/childElement/childElement|Attribute|ChildAttribute|ChildAttribute”)

server: PISystem#
property server_name: str#

Return the name of the connected PI AF server.

servers: dict[str, dict[str, PISystem | dict[str, AFDatabase]]] = {'TestingAF': {'databases': {'TestDatabase': <PIconnect._typing.AF.AFDatabase object>}, 'server': <PIconnect._typing.AF.PISystem object>}}#
property tables: dict[str, PIAFTable]#

Return a dictionary of the tables in the database.

version = '0.3.0'#
class PIconnect.PIServer(server: str | None = None, username: str | None = None, password: str | None = None, domain: str | None = None, authentication_mode: AuthenticationMode = AuthenticationMode.PI_USER_AUTHENTICATION, timeout: int | None = None)#

Bases: object

PIServer is a connection to an OSIsoft PI Server.

Parameters:
  • (str (password)

  • optional) (the maximum seconds an operation can take)

  • (str

  • optional)

  • (str

  • optional)

  • todo (domain, auth)

  • (int (timeout)

  • optional)

Note

If the specified server is unknown a warning is thrown and the connection is redirected to the default server, as if no server was passed. The list of known servers is available in the PIServer.servers dictionary.

default_server = <PIconnect._typing.PI.PIServer object>#

Default server, as reported by the SDK

search(query: str | list[str], source: str | None = None) list[PIPoint]#

Search PIPoints on the PIServer.

Parameters:
  • [str]) (query (str or)

  • (str (source)

  • optional) (Defaults to None. Point source to limit the results)

Returns:

list

Return type:

A list of PIPoint objects as a result of the query

Todo

Reject searches while not connected

property server_name#

Name of the connected server.

servers = {'Testing': <PIconnect._typing.PI.PIServer object>}#

Dictionary of known servers, as reported by the SDK

version = '0.2.2'#

Generic utility modules#