A wrapper for the Intellinget Plant API
Project description
Python App Store API Client
A python implmentation of the Intelligent Plant industrial appstore API client
See the example folder for example on how to use the library for authorization code and implicit OAuth grant flows.
Getting started
Installing using pip
pip install intelligent-plant
Installing from Source
Using pip:
pip install git+https://github.com/intelligentplant/py-app-store-api
Alternatively clone the Git repo:
git clone https://github.com/intelligentplant/py-app-store-api.git
Example Scripts
The 'example' folder contains a series of examples which demonstrate the available authentication methods and queries that you can make using this library.
To install dependencies used by the example scripts run
pip install -r example-requirements.txt
Querying the Industrial App Store
In order to query the industrial app store you must register as a developer and create an app registration. Full instructions can be found here: https://wiki.intelligentplant.com/doku.php?id=dev:app_store_developers
Once you have created and app registration you will need to copy and rename config-example.json to config.json and populate the id and secret fields with you app ID and app secret.
To run the authorization code grant flow example run:
python example/authorization_code_grant_flow.py
To run the authorization code grant flow example with the PKCE extension run:
This is the recommended flow for web and native applications.
python example/authorization_code_grant_flow_pkce.py
To run the device code flow example run:
The device code flow is disabled by default, you must enable it on the app registration
This is the recommended flow for CLI apps and tools.
python example/device_code_flow.py
To run the implicit grant flow example run:
The implicit grant flow is deprecated and is disabled by default
python example/implicit_grant_flow.py
Saving your session to reduce number of logins
The intelligent_plant.session_manager module provides functionality to save your session to your operating systems keyvault using the library keyring. To use this module you must have keyring installed:
pip install keyring
With keyring installed you can now use it as shown in the stored session examples.
Running the stored session example will use the device code flow to authenticate the first time (or if your session expires) but will otherwise use the stored credentials:
python example/stored_session/stored_session.py
You can see the stored session values using:
python example/stored_session/get_stored_session.py
And you can clear the stored session using:
python example/stored_session/clear_session.py
You can also see this being used in a Jupyter notebook in example/stored_session/jupyter.ipynb.
Querying a local App Store Connect or Data Core node
To run the NTLM (windows authentication) example you will need to have a data core node available on the local network.
If you have an App Store Connect (https://appstore.intelligentplant.com/Home/DataSources) installed locally you can run the example without modification. If you are trying to authenticate with a data core node you will need to change the base_url variable defined in the script to match the URL of the Data Core admin UI.
Run the example using:
python example/ntlm_example.py
Example Notebooks
You can find examples of how to use the library to make queries in our Jupyer Hub demo notebooks (these notebooks expect a valid Industrial App Store access token to be present in the ACCESS_TOKEN environment variable).
https://github.com/intelligentplant/jupyter-hub-demo/tree/master/Python
To use this library as part of a Jupyter Notebook join the Jupyter Hub:
https://appstore.intelligentplant.com/Home/AppProfile?appId=40d7a49722f84be4986318bb5cc98cf3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file intelligent_plant-1.8.1.tar.gz.
File metadata
- Download URL: intelligent_plant-1.8.1.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dca1ac5f136ebf542591ec77b4c0d78b311e0fd69bb59bbddd3f4db0a6965828
|
|
| MD5 |
d14728c97d3bf02255bd4b7489524b94
|
|
| BLAKE2b-256 |
4ff48326590216bb9dc4d3b9e13a39d397c6449956616b1288a7d3da37bd99fc
|
File details
Details for the file intelligent_plant-1.8.1-py3-none-any.whl.
File metadata
- Download URL: intelligent_plant-1.8.1-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
817e393c445b3a1737eb4b5e5af8ca159b9e3f6d98f5f1f69ab095ca8e8af938
|
|
| MD5 |
4105d651d4d98a0c7e01263973b42c48
|
|
| BLAKE2b-256 |
cd57e0d39338b2fc77873041cbf56cd7126449f48343a77276502af2c1c32296
|