Metadata-Version: 2.1
Name: ZEVIT-AIH-SDK
Version: 0.4.4
Summary: Python SDK to connect with ZEVIT Asset Integrity Hub
Home-page: UNKNOWN
Author: Mikkel Schmidt
Author-email: mikkel.schmidt@zevit.net
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: numpyencoder
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: requests
Requires-Dist: requests-oauthlib
Requires-Dist: oauthlib
Requires-Dist: pickleshare
Requires-Dist: Pillow

# Introduction 
This project makes it possible to easily interact with the objects in ZEVIT's Asset Integrity Hub.

Project is structured as follows:

```
AIH_SDK
├── AIHClient
├── Assets
│   ├── Equipment
│   ├── MainSystem
│   └── Plant
├── DataProcessing
│   ├── Job
│   ├── JobConfiguration
│   └── JobDefinition
├── DataUpload
│   ├── DataType
│   └── File
├── Designations
│   ├── Design
│   ├── Schema
│   └── Structure
├── Signals
│   ├── Channel
│   └── Signal
├── Workitems
│   ├── Annotation
│   ├── Assessment
│   ├── AssignedElement
│   ├── Failure
│   ├── Media
│   ├── MediaReference
│   ├── PanoramaImage
│   ├── PanoramicTour
│   └── WorkorderItem
```

# Getting Started
1.	Install by: pip install AIH_SDK
2.	Initialize AIHClient by: AIH_SDK.AIHClient.AIHClient(environment_to_connect_to, client_id, client_secret)
3.	Get objects from APIs. Example of getting a main system: from AIH_SDK.Assets import MainSystem; mainsystem = MainSystem().get(guid)
4.	Objects support CRUD operation in form of post, get, put, and delete.

# Object design
Objects store the information fetched from the APIs in the self.value of the object

self.value can either be a dict containing one instance or be a list containing multiple dicts, representing multiple objects.

Objects all contain following methods:
* get()
* put()
* post()
* delete()
* copy()
* get_value()
* set_value()
* update_values()
* to_dataframe()
* get_keys()
* filter()
* from_dataframe()
* from_dict()
* from_list()
* join()

Methods that modifies the object operates inplace, but also returns the obejct itself to allow chaining of methods.

