Communication handling for all MeT IOT devices
Project description
MeT IOT Communication
Useful Links
Changelog v0.1.5
- Added error code communication to asynchronous function handlers
- Exposed AsyncErrorCode enum
- Created safeguard to stop users from creating multiple listen threads
- Fixed occurances of the Controller being unable to determine in a timely manner if the socket is dead
- Fixed error in example python code
- Changed FISH_TANK to TANK_GUARDIAN (among other variants) for better consistency/translation to actual device name
Known issues
- Exit Signal (SIGABRT/SIGSEGV): Upon exiting the Python interpreter, a
free(): invalid pointererror may occur.- Reason: This is a known teardown conflict between the Python Garbage Collector and the C++ Runtime (libstdc++). It occurs after all user code has executed.
- Impact: None. This does not affect data transmission or device logic during the program's lifecycle.
How To Use
Importing the Library
Use pip to install the library
pip install MeTIOT
[!NOTE] This library is not pre-compiled. You must have installed on your system (Other version may work but are official unsupported):
- GCC >= 15.2.1
- CMake >= 3.10
Programming with the Library
Testing the library imported successfully
You can use this code to test you can successfully import the library into your code.
import MeTIOT
client = MeTIOT.DeviceClient("0.0.0.0", 12345)
print(type(client))
print("MeTIOT import successful!")
Using the library
For further information on how to use this library refer to the PYTHON_LIB_GUIDE.md document.
How to compile and use from this repository
Linux based systems:
- Clone the repository
git clone https://github.com/Microelectronic-Technologies/MeTIOTCommunication.git
- Navigate into repository
cd MeTIOTCommunication/
- Create and navigate into build directory
mkdir build
cd build
- Compile library using CMake
cmake ..
cmake --build . --config Release
- Export path to python
export PYTHONPATH=./src/python_bindings:$PYTHONPATH
- Now you can use and import the library in your current directory
- (optional) Test the library is python
python3
import MeTIOT
client = MeTIOT.DeviceClient("0.0.0.0", 12345)
type(client)
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 Distributions
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 metiot-0.1.5.tar.gz.
File metadata
- Download URL: metiot-0.1.5.tar.gz
- Upload date:
- Size: 99.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7965d18737d8ad3c43cf83bef6c52dcecb6c72954047b445276f292bd6afa7ef
|
|
| MD5 |
514cff795b3adacc3392b08e63783322
|
|
| BLAKE2b-256 |
da9d60acb21f4f722281d70a9776935a618a3ee1407ba1e2be7ecc40b57b54f3
|
File details
Details for the file metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 152.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
983e398915770df43330c1ef4857f7a3277adfc7e39d40c3306eed8c3cea72ac
|
|
| MD5 |
17d2bea088b1d5fd7ea87b5acb6718d9
|
|
| BLAKE2b-256 |
a4bde93b8a83b66422235f8a5a24f594ef0425d2944f89aad2649a3453a880f4
|
Provenance
The following attestation bundles were made for metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl:
Publisher:
build_wheels.yml on Microelectronic-Technologies/MeTIOTCommunication
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl -
Subject digest:
983e398915770df43330c1ef4857f7a3277adfc7e39d40c3306eed8c3cea72ac - Sigstore transparency entry: 1063462280
- Sigstore integration time:
-
Permalink:
Microelectronic-Technologies/MeTIOTCommunication@9efeca00f7458422679589714ba4197c2d1eaa70 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/Microelectronic-Technologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@9efeca00f7458422679589714ba4197c2d1eaa70 -
Trigger Event:
push
-
Statement type:
File details
Details for the file metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 135.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e77dbe2e16f0286ee636c888fc643df5a0cbcd841388e942d626163d1686810
|
|
| MD5 |
e94b3c66f6e95f8a49a664eb5da64bd1
|
|
| BLAKE2b-256 |
b82b295a24c8b533631e2515031720d2287583e161e967cf32b00c02085b974b
|
Provenance
The following attestation bundles were made for metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl:
Publisher:
build_wheels.yml on Microelectronic-Technologies/MeTIOTCommunication
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl -
Subject digest:
1e77dbe2e16f0286ee636c888fc643df5a0cbcd841388e942d626163d1686810 - Sigstore transparency entry: 1063462253
- Sigstore integration time:
-
Permalink:
Microelectronic-Technologies/MeTIOTCommunication@9efeca00f7458422679589714ba4197c2d1eaa70 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/Microelectronic-Technologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@9efeca00f7458422679589714ba4197c2d1eaa70 -
Trigger Event:
push
-
Statement type:
File details
Details for the file metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 151.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
275c1d3de5f7859697b9a40716ff7d01d84b42cd8c76315df715cac1dfe57e9d
|
|
| MD5 |
6ab89c9031849105a14b0e74e839117c
|
|
| BLAKE2b-256 |
a336c4e30dac95d124c9a8b6473c34d1a63d89a4c891925b6c793e3eeb9a5a54
|
Provenance
The following attestation bundles were made for metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl:
Publisher:
build_wheels.yml on Microelectronic-Technologies/MeTIOTCommunication
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl -
Subject digest:
275c1d3de5f7859697b9a40716ff7d01d84b42cd8c76315df715cac1dfe57e9d - Sigstore transparency entry: 1063462318
- Sigstore integration time:
-
Permalink:
Microelectronic-Technologies/MeTIOTCommunication@9efeca00f7458422679589714ba4197c2d1eaa70 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/Microelectronic-Technologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@9efeca00f7458422679589714ba4197c2d1eaa70 -
Trigger Event:
push
-
Statement type:
File details
Details for the file metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 134.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c25e5b25dbd41fb1af82f8b29072ff7dbf090546c756295206119bb50e07d62
|
|
| MD5 |
558f12f746ccad8c3782a7880f9f2eee
|
|
| BLAKE2b-256 |
3d95ad4419be737ee5b80d26f7a6f3ce91d9b7ca091248ce57ef3d8fda6c4801
|
Provenance
The following attestation bundles were made for metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl:
Publisher:
build_wheels.yml on Microelectronic-Technologies/MeTIOTCommunication
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl -
Subject digest:
3c25e5b25dbd41fb1af82f8b29072ff7dbf090546c756295206119bb50e07d62 - Sigstore transparency entry: 1063462204
- Sigstore integration time:
-
Permalink:
Microelectronic-Technologies/MeTIOTCommunication@9efeca00f7458422679589714ba4197c2d1eaa70 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/Microelectronic-Technologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_wheels.yml@9efeca00f7458422679589714ba4197c2d1eaa70 -
Trigger Event:
push
-
Statement type: