Skip to main content

Python library to communicate with varies systems such as Wood NEXUS IC, Maximo and OSI PI

Project description

pynexusic

pynexusic is a package that allows communication with the following tools:

  • Wood NEXUS IC
  • Maximo
  • OSI PI

Python library installation

pip install pynexusic

Library documentation

To be developed soon

External documentation

NEXUS IC

The NEXUS IC REST API documentation can be found in the following link:

https://docs.nexusic.com/6.6/ic-web.rest.v2.html

A specific NEXUS IC version can be specified in the above link by changing 6.6 to the desired NEXUS IC version

OSI PI

The OSI PI API documentation can be found in the following link:

https://techsupport.osisoft.com/Documentation/PI-Web-API/help.html

Maximo

The Maximo API documentation can be found in the following link:

https://www.ibm.com/support/knowledgecenter/SS8CCV_7.6.0.8/com.ibm.mams.doc/overview/c_product_overview.html

Examples

NEXUS IC Examples

  • Example 1: Get system version

    1. Import NEXUSIC_RESTAPI

      from pynexusic import NEXUSIC_RESTAPI as api
      
    2. Initialize NEXUSIC_REST class

      NX_REST = api.NEXUSIC_REST(baseURI, api_key=APIKey)
      

      where APIKey is the user's API Key provided by the system administrator

    3. Execute required function

      result, result_status_code = NX_REST.getVersion()
      

      Output:

      result = {'version': 'x.x.xxxxx.x', 'schema': 'x.xxx'}
      result_code = 200
      
  • Example 2: Run reports and get python object response

    1. Import NEXUSIC_RESTAPI

      from pynexusic import NEXUSIC_RESTAPI as api
      
    2. Initialize NEXUSIC_REST class

      NX_REST = api.NEXUSIC_REST(baseURI, api_key=APIKey)
      

      where APIKey is the user's API Key provided by the system administrator

    3. Execute required report

      result, result_status_code = NX_REST.getDashboard(report_name)
      

      where report_name is the name of the report to be executed in NEXUS IC

      Output:

      result = {'name': 'xxxxxxxxxxx', 
                'elements': [{'type': 'section', 'data': {}}, 
                             {'type': 'paragraph', 'data': {'text': [{'value': 'xxxxxx'}]}}
                            ]
                }
      result_code = 200
      

      The values of the elements key will contain the data configured in the NEXUS IC report template

OSI PI Examples

  • Example 1: Get full list of points in the database

    1. Import OSIPI_WebAPI

      from pynexusic import OSIPI_WebAPI as OSIPI
      
    2. Initialize OSIPI_WebAPI class

      OSIPI_obj = OSIPI.OSIPI_WebAPI(piwebapi_uri, username, password)
      

      an example for piwebapi_uri is https://[domain].com/piwebapi

    3. Execute required function

      result, result_status_code = OSIPI_obj.getPointsList(pageSize=20000)
      
  • Example 2: Get stream summary data

    1. Import OSIPI_WebAPI

      from pynexusic import OSIPI_WebAPI as OSIPI
      
    2. Initialize OSIPI_WebAPI class

      OSIPI_obj = OSIPI.OSIPI_WebAPI(piwebapi_uri, username, password)
      

      an example for piwebapi_uri is https://[domain].com/piwebapi

    3. Execute required function

      result, result_status_code = OSIPI_obj.getStreamDataSummary(webID, startTime='*-2mo', endTime='*-1mo', summaryType='Average')
      

      where webID is the required stream webID, for more details see OSI PI documentation

Maximo Examples

To be developed soon

Change history

(V2.1.0) Changes:

  • NEXUSIC_RESTAPI:
    1. Added createNewRecord function
  • MAXIMO_RESTAPI:
    1. Added read only connector class
  • OSIPI_WebAPI:
    1. Added read only connector class

(V2.0.5) Changes:

  • NEXUSIC_RESTAPI:
    1. Improved disconnection error handler
    2. getAssetChildren function: Added the ability to search at a specific level
    3. Added getAssetTypesID function
    4. Added getTableDBNames function

(V2.0.4) Changes:

  • NEXUSIC_RESTAPI:
    1. Added getAssetLocationByName function
    2. Added getAssetLocationByID function
    3. Added getAssetChildren function

(V2.0.3) Changes:

  • NEXUSIC_RESTAPI:
    1. Added the ability to authenticate using two modes (APIKEY and BASIC)
      • APIKEY: Requires an API Key to authenticate
      • BASIC: Requires username and password

(V2.0.2) Changes:

  • NEXUSIC_RESTAPI:
    1. Added the ability to bypass SSL verification

(V2.0.1) Changes:

  • Initial deployment in pypi.org

License

This project is licensed under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynexusic-2.1.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pynexusic-2.1.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file pynexusic-2.1.0.tar.gz.

File metadata

  • Download URL: pynexusic-2.1.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.4

File hashes

Hashes for pynexusic-2.1.0.tar.gz
Algorithm Hash digest
SHA256 1192117bf413c609281ecaa54f257866740d6b701c83e4a06f37eee63d614dbe
MD5 7e593eb191f18fd7c3b4bdac2f65befa
BLAKE2b-256 b04ab839f4cd252f9367b8f993e9f7e1d15239c69357de45e5f43c050a4361db

See more details on using hashes here.

File details

Details for the file pynexusic-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: pynexusic-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.4

File hashes

Hashes for pynexusic-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 131ccdf4d313e1e78cefaf286767ca692014533582f9badd6076a8fcdc71caef
MD5 afc57ed3895a0575f2eae439e9fd2509
BLAKE2b-256 a9b708bc47f78f161ff667240ff4aab816d7f37dcdb48d0534d0a509a3ddf768

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page