Last updated:
0 purchases
pynexusic 2.5.5
pynexusic
pynexusic is a package that allows communication with the following tools:
Wood NEXUS IC
Maximo
OSI PI
Documentum
Python library installation
pip install pynexusic
Library documentation
Import utils
from pynexusic import utils
Launch documentation
utils.launchDocs()
External documentation
NEXUS IC
NEXUS IC REST API documentation can be found in the following link:
https://docs.nexusic.com/6.7/ic-web.rest.v2.html
A specific NEXUS IC version can be specified in the above link by changing 6.7 to the desired NEXUS IC version
OSI PI
OSI PI API documentation can be found in the following link:
https://techsupport.osisoft.com/Documentation/PI-Web-API/help.html
Maximo
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
Import NEXUSIC_RESTAPI
from pynexusic import NEXUSIC_RESTAPI as api
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
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
Import NEXUSIC_RESTAPI
from pynexusic import NEXUSIC_RESTAPI as api
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
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
Import OSIPI_WebAPI
from pynexusic import OSIPI_WebAPI as OSIPI
Initialize OSIPI_WebAPI class
OSIPI_obj = OSIPI.OSIPI_WebAPI(piwebapi_uri, username, password)
an example for piwebapi_uri is https://[domain].com/piwebapi
Execute required function
result, result_status_code = OSIPI_obj.getPointsList(pageSize=20000)
Output:
result = [{'ServerName': 'xxxxxxxxxxx',
'Points': [{'WebId': 'xxxxxxxxxx',
'Id': xxxxx,
...}],
'ResponseStatus': 200
}]
result_status_code = None
Example 2: Get stream summary data
Import OSIPI_WebAPI
from pynexusic import OSIPI_WebAPI as OSIPI
Initialize OSIPI_WebAPI class
OSIPI_obj = OSIPI.OSIPI_WebAPI(piwebapi_uri, username, password)
an example for piwebapi_uri is https://[domain].com/piwebapi
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
Output:
result = {'Links': {},
'Items': [{'Type': 'Average',
'Value': {'Timestamp': 'xxxxxxxx',
'Value': xxxxxx,
...}
}]
}
result_status_code = 200
Maximo Examples
To be developed soon
Documentum Examples
Example 1: Getting all repositories
Import DOCUMENTUM_API
from pynexusic import DOCUMENTUM_API as api
Initialize DOCUMENTUM_API class
doc_api = api.DOCUMENTUM_API(url, username=username, password=password, verbose=True)
Getting all repositories
repos = doc_api.get_repositories()
Output:
repos = [{'id': 'xxxx', 'title': 'xxxx' ...}
...
]
Example 2: Getting a specific repositories
Import DOCUMENTUM_API
from pynexusic import DOCUMENTUM_API as api
Initialize DOCUMENTUM_API class
doc_api = api.DOCUMENTUM_API(url, username=username, password=password, verbose=True)
Getting a specific repositories
repo = doc_api.get_repository(repo_name)
where repo_name is the name of the report to be extracted from Documentum
Output:
repo = {'id': 'xxxx', 'title': 'xxxx' ...}
Change history
(V2.5.5) Changes
NEXUSIC_RESTAPI:
Optimized createNewAssets function
(V2.5.4) Changes
NEXUSIC_RESTAPI:
Modified getChangeLog function to check Columns_Changed field if it is a valid XML
Added allowCaching property to the NEXUSIC_REST class
Utils:
Added isXMLValid function
(V2.5.3) Changes
NEXUSIC_RESTAPI:
Added the ability to filter by GUID in getChangeLog function
(V2.5.2) Changes
NEXUSIC_RESTAPI:
Add logging and verbose information in getChangeLog function
(V2.5.1) Changes
NEXUSIC_RESTAPI:
Added getChangeLog function to allow user to pull data changes from the NEXUS IC database
(V2.5.0) Changes
NEXUSIC_RESTAPI:
Added createLinkedAssets function to allow user to created linked assets in the NEXUS IC database
Modified createNewAssets function to bypass asset type if not included in the input dictionary
Created AssetNode class to allow usage of graph algorithms to represent Asset Hierarchy. Only implemented for NEXUSIC
Added addGraphAsset function to all users add an asset to the graph data structure. Implemented following Depth-first search algorithm
Rewrote getAssetByFullLocation function to avoid using the Full_Location as an API call query parameter and implemented the solution using graph algorithms
(V2.4.3) Changes
NEXUSIC_RESTAPI:
Added response status code 204 to validate_and_return_response function
MAXIMO_API:
Added response status code 204 to validate_and_return_response function
OSIPI_WebAPI:
Added response status code 204 to validate_and_return_response function
DOCUMENTUM_API:
Added response status code 204 to validate_and_return_response function
Utils:
Added Utils to documentation
(V2.4.2) Changes
NEXUSIC_RESTAPI:
Fixed a bug with logger level
(V2.4.1) Changes
NEXUSIC_RESTAPI:
Fixed the reference to the utils file
MAXIMO_API:
Fixed the reference to the utils file
OSIPI_WebAPI:
Fixed the reference to the utils file
DOCUMENTUM_API:
Fixed the reference to the utils file
(V2.4.0) Changes
Utils:
Added setup_logger function to setup logger
Added print_log function to print to console and log file
NEXUSIC_RESTAPI:
Replaced all print statements with utils.print_log
Removed self.verbose from all functions
MAXIMO_API:
Replaced all print statements with utils.print_log
Removed self.verbose from all functions
OSIPI_WebAPI:
Replaced all print statements with utils.print_log
Removed self.verbose from all functions
DOCUMENTUM_API:
Replaced all print statements with utils.print_log
Removed self.verbose from all functions
(V2.3.11) Changes
NEXUSIC_RESTAPI:
Fixed a bug in getLookupListItem function
(V2.3.10) Changes
MAXIMO_API:
Fixed a bug in the MAXAUTH authentication method
(V2.3.9) Changes
MAXIMO_API:
Added MAXAUTH as another authentication method
(V2.3.8) Changes
MAXIMO_API:
Added the ability to decide whether to skip SSL verification during authentication
(V2.3.7) Changes
NEXUSIC_RESTAPI:
Changed the error handler for the validate_and_return_response function to raise an Exception instead of returning a string
In the getLookupListItem function: Added the ability to pass the Lookup list name as a filter parameter
(V2.3.6) Changes
OSIPI_WebAPI:
Improved validate_and_return_response function error handler
(V2.3.5) Changes
MAXIMO_API:
Added use_oslc to oslc_update_record function to allow using either oslc or rest in the Post call
(V2.3.4) Changes
NEXUSIC_RESTAPI:
Fixed a bug in createNewRecord function
(V2.3.3) Changes
MAXIMO_API:
Added oslc_create_new_record function
Added oslc_update_record function
Added mbo_exec_method function
(V2.3.2) Changes
Docs:
Added library Sphinx docs
(V2.3.1) Changes
MAXIMO_API:
Added the ability to run API calls using _mif
Added mbo_update_record function
Added mbo_get_table function
DOCUMENTUM_API:
Added new connector to DOCUMENTUM
(V2.2.1) Changes
NEXUSIC_RESTAPI:
Added jobStatus function
Added jobContent function
Added importLibrary function
(V2.2.0) Changes
NEXUSIC_RESTAPI:
Added generateReport_v2 function
Added get_rt_id function
Added importRepository function
Added importMultimedia function
Updated createNewEvents function to import events multimedia
MAXIMO_API:
Added get_mx_wos function
Added get_mx_srs function
Added mxapi_post_request function
Added mbo_create_new_record function
Renamed get_table to oslc_get_table
(V2.1.8) Changes
NEXUSIC_RESTAPI:
Added createNewAssets function
(V2.1.7) Changes
NEXUSIC_RESTAPI:
Added component_id field in the event input dictionary in createNewEvents function
Optimized createNewEvents function performance
(V2.1.6) Changes
NEXUSIC_RESTAPI:
Added the following arguments to createNewEvents function:
sameAsset
sameWorkpack
sameEventType
sameSurveySet
Fixed a bug in createNewEvents function to import continuous events
(V2.1.5) Changes
NEXUSIC_RESTAPI:
Added getLookupListItem function
(V2.1.4) Changes
NEXUSIC_RESTAPI:
__init__.py version import bug fix
(V2.1.3) Changes
NEXUSIC_RESTAPI:
Added the ability to get multiple pages in the getTable function
Removed current_attempt arugment from:
getAssetLocationByName
getAssetLocationByID
getAssetChildren
getAssetTypesID
getTableDBNames
getAssetByFullLocation
getTableDefInfo
(V2.1.2) Changes
NEXUSIC_RESTAPI:
Added getAssetByFullLocation function
Added getTableDefInfo function
Added createNewEvents function
OSIPI_WebAPI:
Added docstring
MAXIMO_API:
Added docstring
(V2.1.1) Changes:
OSIPI_WebAPI:
Added the ability to retrieve multiple AssetServers and DataServers in get_system_links function
Added the ability to get points list for a specific DataServer in getPointsList function.
(V2.1.0) Changes:
NEXUSIC_RESTAPI:
Added createNewRecord function
MAXIMO_RESTAPI:
Added read only connector class
OSIPI_WebAPI:
Added read only connector class
(V2.0.5) Changes:
NEXUSIC_RESTAPI:
Improved disconnection error handler
getAssetChildren function: Added the ability to search at a specific level
Added getAssetTypesID function
Added getTableDBNames function
(V2.0.4) Changes:
NEXUSIC_RESTAPI:
Added getAssetLocationByName function
Added getAssetLocationByID function
Added getAssetChildren function
(V2.0.3) Changes:
NEXUSIC_RESTAPI:
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:
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.