A client library for accessing nista.io
Project description
nista-library
A client library for accessing nista.io
Tutorial
Create new Poetry Project
Navigate to a folder where you want to create your project and type
poetry new my-nista-client
cd my-nista-client
Add reference to your Project
Navigate to the newly created project and add the PyPI package
poetry add nista-library
Your first DataPoint
Create a new file you want to use to receive data this demo.py
from nista_library import KeyringNistaConnection, NistaDataPoint, NistaDataPoints
connection = KeyringNistaConnection()
data_point_id = "56c5c6ff-3f7d-4532-8fbf-a3795f7b48b8"
data_point = NistaDataPoint(connection=connection, data_point_id=data_point_id)
data_point_data = data_point.get_data_point_data()
print(data_point_data)
You need to replace the DataPointId
with an ID from your nista.io workspace.
For example the DataPointId of this DataPoint https://aws.nista.io/secured/dashboard/datapoint/4684d681-8728-4f59-aeb0-ac3f3c573303
is 4684d681-8728-4f59-aeb0-ac3f3c573303
Run and Login
Run your file in poetry's virtual environment
$ poetry run python demo.py
2021-09-02 14:51.58 [info ] Authentication has been started. Please follow the link to authenticate with your user: [nista_library.nista_connetion] url=https://aws.nista.io/authentication/connect/authorize?client_id=python&redirect_uri=http%3A%2F%2Flocalhost%3A4200%2Fhome&response_type=code&scope=data-api%20openid%20profile%20offline_access&state=myState
In order to login copy the url
into your Browser and Login to nista.io or, if allowed a browser window will open by itself.
Keystore
Once you loggedin, the library will try to store your access token in your private keystore. Next time you run your programm, it might request a password to access your keystore again to gain access to nista.io Please take a look at Keyring for details.
Advanced Example
Show received Data in a plot
poetry new my-nista-client
cd my-nista-client
poetry add nista-library
poetry add structlib
poetry add matplotlib
import matplotlib.pyplot as plt
from structlog import get_logger
from nista_library import KeyringNistaConnection, NistaDataPoint, NistaDataPoints
log = get_logger()
connection = KeyringNistaConnection()
data_point_id = "56c5c6ff-3f7d-4532-8fbf-a3795f7b48b8"
data_point = NistaDataPoint(connection=connection, data_point_id=data_point_id)
data_point_data = data_point.get_data_point_data()
log.info("Data has been received. Plotting")
data_point_data.plot()
plt.show()
Filter by DataPoint Names
poetry new my-nista-client
cd my-nista-client
poetry add nista-library
poetry add structlib
poetry add matplotlib
import matplotlib.pyplot as plt
from structlog import get_logger
from nista_library import KeyringNistaConnection, NistaDataPoint, NistaDataPoints
log = get_logger()
connection = KeyringNistaConnection()
dataPoints = NistaDataPoints(connection=connection)
data_point_list = list(dataPoints.get_data_point_list())
for data_point in data_point_list:
log.info(data_point)
# Find Specific Data Points
filtered_data_points = filter(
lambda data_point: data_point.name.startswith("371880214002"), data_point_list
)
for data_point in filtered_data_points:
# get the data
data_point_data = data_point.get_data_point_data()
log.info(data_point_data)
data_point_data.plot()
plt.show()
Links
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
Hashes for nista_library-3.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c88054a0662345bbde2163701b6811e4e40ffecbc8d8169078aa47043e81075c |
|
MD5 | f949438571e7b78ecba696860ad81d2f |
|
BLAKE2b-256 | c94406961daaf62a7ecc31547ba8f9950a731a1328011700361d3cee0817a250 |