Skip to content

Releases: equinor/tagreader-python

Allow host + port specification

11 Sep 13:35
7e17d36

Choose a tag to compare

For some installations, the relevant Windows registry entries containing mapping from ODBC datasource to host and port do not exist. E.g. servers or old installations.

This release allows the user to explicitly specify the parameters host and port on client creation, thus skipping the registry search. If only host is provided, port will be set to a default value (10014 for IP21, 5450 for PI).

Added

  • Optional arguments host and port to IMSClient class. Only relevant for ODBC handlers.

Raw data added

17 Aug 14:27
2f5c695

Choose a tag to compare

Support for reading raw data.

Due to structural difference in time-vector for raw data compared to fixed-interval data such as INT, VAR etc, the cache is disabled for raw data. The caching mechanism will be rewritten for a later release.

Added

  • ReaderType.RAW now supported as read_type for all handlers.

Changed

  • Rewritten tag reading mechanism by moving responsibility for limiting amount of data points returned from client to handler. Client now investigates length of returned result to determine start time of next query, instead of querying predetermined fixed-length intervals. This makes a more unified read algorithm for fixed-length intervals (such as INT) and uneven time series (such as RAW).
  • Reduced max rows per query from PI Web API to default value 10000.

Fixed

  • Warn instead of crash when user tries to read an invalid tag.

Snapshots added

12 Aug 06:52
d57852f

Choose a tag to compare

Support for reading snapshots/final/last values.

Added

  • ReaderType.SNAPSHOT now supported as read_type for all handlers.

Changed

  • Renamed the read() input argument stop_time to end_time. This may break some scripts if stop_time was used as keyword argument.
  • The read() input arguments start_time, end_time and ts are now keyword arguments instead of positional. ts has a default value of 60 seconds, while the time arguments are default null.

Web APIs

06 Aug 07:55
45a7053

Choose a tag to compare

The main change in this release is the added support for connecting to PI Web API and AspenTech Process Data REST Web API. This means that in most cases it is no longer required to install the proprietary ODBC drivers, which in many cases turns out to be be quite painful. Simply select one of the two new handlers and connect to the REST APIs. In addition time zone handling has been improved, and the client presents the backends in a more unified way to the user.

Added

  • Add two more handlers for the Web APIs: piwebapi and aspenone.
  • Add tagreader class method list_servers() to cover all four handlers.
  • Add a user manual, reduce amount of content in quickstart.

Changed

  • Rename IMSClient method read_tags() to read().
  • Improve handling of timezones when calling read():
    • Queries to servers are always done in UTC.
    • Time zone aware timestamps are converted to UTC before query.
    • Time zone naive timestamps are assumed to belong in the timezone specified by the input argument tz (default "Europe/Oslo").
    • Returned data points are converted to the timezone specified by tz.
  • Aggregated data (AVG, MIN, MAX etc) timestamps are are always anchored at the start of the aggregation interval.

Deprecated

  • Deprecate tagreader class methods list_pi_servers() and list_aspen_servers() (replaced with list_servers()).
  • Deprecate the IMSClient method read_tags() (renamed to read()).

Better map handling

18 Jun 10:29

Choose a tag to compare

Improved handling of tags with maps for Aspen IP.21.

Fixed

  • Allow tag search with tagname and description.
  • Fix fetching of correct unit for tags with map.
  • Fix fetching of correct description for tags with map.

v1.0.1

20 Apr 09:22

Choose a tag to compare

Fixed

  • Fix FutureWarning regarding use of keep_tz=False in DateTimeIndex.to_series()

Rename and first release on PyPI

20 Apr 09:22
57eccef

Choose a tag to compare

First release on PyPI as tagreader

Changed

  • Rename from pyIMS to tagreader to avoid name collision on PyPI
  • Move lots of tests to a separate private repository. Those tests need to be run on-site with functioning server connection to PI/IP.21 servers, and are currently handled in Azure Pipelines.

v0.2.0

06 Apr 15:42

Choose a tag to compare

Last release with name pyIMS.

This release should be the same as the pyIMS v0.2 tag on the Equinor internal GitLab.

Future releases will be made in the new name tagreader, and will hence break compatibility with previous releases.