A Python library for interacting with Iotics API.
iotics-grpc-client-py | iotics-host |
---|---|
pip install iotics-grpc-client~=7.0 |
>= 7 |
pip install iotics-grpc-client~=6.0 |
>= 7 |
pip install iotics-grpc-client~=5.0 |
>= 6 |
pip install iotics-grpc-client~=4.0 |
>= 6 |
pip install iotics-grpc-client~=3.0 |
>= 6 |
pip install iotics-grpc-client~=2.0 |
>= 5 |
pip install iotics-grpc-client~=0.10.0 |
>= 4 |
To run examples, either set up required environment variables or create an .env
file with the following values. For
more information on the meaning of these values and how to create them, consult identity-api-and-credentials
-
Required:
SPACE
- Domain name of the IOTICSpace with which to communicate. The scheme can be omitted, eg. examplecorp. iotics.spaceUSER_DID
- Identity of the userAGENT_DID
- Identity of the agent authorised to operate on the user's behalfAGENT_KEY_NAME
- secret value used to (re)create multiple key pairsAGENT_NAME
- registered identity name that can be used to e.g. identify public keysAGENT_SECRET
- secret value, the agent's private key
-
Optional:
DID_RESOLVER_URL
- Where the database of identity documents is accessible, defaults to the one used by the given space.TOKEN_TTL
- How long in seconds auth tokens will last if not specified in the method call, defaults to 30
Next, create and activate your virtual environment and run any of the scripts in the examples directory, e.g.:
make deps-py
. env/bin/activate
python examples/search_twin_models.py
If you see this error running the exmaples on a Rapberry PI, the current workaround is to install Ubuntu for RPi which has a later version of glibc.
ImportError: /lib/arm-linux-gnueabihf/libc.so.6: version 'GLIBC_2.33' not found (required by /home/pi/work/starting/iotics-grpc-client-py/env/lib/python3.9/site-packages/grpc/_cython/cygrpc.cpython-39-arm-linux-gnueabihf.so)
-
To satisfy all dependencies, lint proto files and regenerate client files:
make build
-
To generate gRPC Python files:
make generate
-
To update the Iotics API version and regenerate client (proto files are submoduled in ./iotics-api.git/ from Iotics API repo):
_ver=vX.X.X make GIT_TAG=$_ver deps-proto-update build # Address usages of the new client in `src`, update "Unreleased" section in CHANGELOG.md, then: git add CHANGELOG.md iotics-api.git src git commit -m "Update Iotics API to $_ver" # Push your branch and create a PR
-
Other
make
commands:clean
- remove artifacts created inside the project.deps-*
- install specific requirements if missing.deps-*-update
- update specific requirements when applicable.
Should contain a summary of the changes in CHANGELOG.md under the "Unreleased" section.
This package adheres to Semantic Versioning
- Update package version in setup.cfg for the release:
- Update CHANGELOG.md (move notes from unreleased section, ensure right tags are used, etc.) and any other files as needed.
- Commit changes and create a PR.
- Once PR is merged manually run the Create Draft Release GitHub Action, this will create a tag with the version in setup.py and create a draft release in releases.
- Update the release's information and press the publish button on the release to publish it.
- The Publish GitHub Action will create a package and will publish it to PyPI.
Copyright © 2024 IOTIC LABS LTD. [email protected]. All rights reserved. Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.