Iotics gRPC client library
Project description
Iotics gRPC Python Client
A Python library for interacting with Iotics API.
Usage
pip install iotics-grpc-client
Examples
Configuring identity
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 https://docs.iotics.com/docs/identity-api-and-credentials
-
Required:
SPACE
- Domain name of the IOTICSpace with which to communicate. The scheme can be omitted, eg. examplecorp. iotics.spaceUSER_SEED
- secret value used to (re)create user public and private keys.AGENT_SEED
- secret value used to (re)create agent public and private keys.
-
Optional:
DID_RESOLVER_URL
- Where the database of identity documents is accesible, defaults to the one used by the given space.USER_KEY_NAME
- secret value used to (re)create multiple key pairs, defaults to empty.USER_NAME
- used to create/identify public keys, defaults to#user-0
.AGENT_KEY_NAME
- secret value used to (re)create multiple key pairs, defaults to empty.AGENT_NAME
- registered identity name that can be used to e.g. identify public keys, defaults to#agent-0
.
Running example scripts
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
Contributing
Installing dependencies and generating gRPC client
- To satisfy all dependencies, lint proto files and regenerate client files (inside a Docker container):
make build
- To generate gRPC Python files outside a Docker container the following command can be used:
make generate
. Currently, there is no official binary for Python gRPC plugin, but there is one built from the official repository inside the docker (the following will work on Linux machines):docker run --rm -dit --name iotics-grpc-client-py-builder iotics-grpc-client-py-builder /bin/bash docker cp iotics-grpc-client-py-builder:/bin/protoc-gen-python_grpc env/bin/protoc-gen-python_grpc docker stop iotics-grpc-client-py-builder make generate
- To generate gRPC Python files outside a Docker container the following command can be used:
- 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.
PRs
Should contain a summary of the changes in CHANGELOG.md under the "Unreleased" section.
Versioning
This package will have the same version as the API but with the API's minor and patch numbers bumped to major and minor. If/when there's a change in the grpc client but not in the API we will change the patch number. We can then know that e.g. API version 0.2.5 works with grpc clients 2.5.X
Releasing
- Update package version in setup.py 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.
License
Copyright © 2022 IOTIC LABS LTD. info@iotics.com. All rights reserved. Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
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 iotics-grpc-client-0.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b443b080427cedd0ff85015e873c4c5d806b3656f32aa8e60da2a50168aabcc |
|
MD5 | c7ab2f712de6cd464e59a94b88857f0d |
|
BLAKE2b-256 | c55f443723564b2951501a2a99ed045e40e7193790ff89f0b989d2ca5f3c5c11 |
Hashes for iotics_grpc_client-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34450965c56b1415ae08b493870e2ced6bedc01576a2363a712f3486838bcee5 |
|
MD5 | 26f343c1a50e6956d82c7150e9c2286e |
|
BLAKE2b-256 | 8b72caf8c387fb4b6630d9456fb9b600fa41ea79302de7d8d56d4bdcbc2f596e |