Skip to main content

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 pointer error 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:

  1. Clone the repository
git clone https://github.com/Microelectronic-Technologies/MeTIOTCommunication.git
  1. Navigate into repository
cd MeTIOTCommunication/
  1. Create and navigate into build directory
mkdir build
cd build
  1. Compile library using CMake
cmake ..
cmake --build . --config Release
  1. Export path to python
export PYTHONPATH=./src/python_bindings:$PYTHONPATH
  1. Now you can use and import the library in your current directory
  2. (optional) Test the library is python
python3
import MeTIOT
client = MeTIOT.DeviceClient("0.0.0.0", 12345)
type(client)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metiot-0.1.5.tar.gz (99.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl (152.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl (135.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl (151.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl (134.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Hashes for metiot-0.1.5.tar.gz
Algorithm Hash digest
SHA256 7965d18737d8ad3c43cf83bef6c52dcecb6c72954047b445276f292bd6afa7ef
MD5 514cff795b3adacc3392b08e63783322
BLAKE2b-256 da9d60acb21f4f722281d70a9776935a618a3ee1407ba1e2be7ecc40b57b54f3

See more details on using hashes here.

File details

Details for the file metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for metiot-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 983e398915770df43330c1ef4857f7a3277adfc7e39d40c3306eed8c3cea72ac
MD5 17d2bea088b1d5fd7ea87b5acb6718d9
BLAKE2b-256 a4bde93b8a83b66422235f8a5a24f594ef0425d2944f89aad2649a3453a880f4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for metiot-0.1.5-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1e77dbe2e16f0286ee636c888fc643df5a0cbcd841388e942d626163d1686810
MD5 e94b3c66f6e95f8a49a664eb5da64bd1
BLAKE2b-256 b82b295a24c8b533631e2515031720d2287583e161e967cf32b00c02085b974b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for metiot-0.1.5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 275c1d3de5f7859697b9a40716ff7d01d84b42cd8c76315df715cac1dfe57e9d
MD5 6ab89c9031849105a14b0e74e839117c
BLAKE2b-256 a336c4e30dac95d124c9a8b6473c34d1a63d89a4c891925b6c793e3eeb9a5a54

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for metiot-0.1.5-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 3c25e5b25dbd41fb1af82f8b29072ff7dbf090546c756295206119bb50e07d62
MD5 558f12f746ccad8c3782a7880f9f2eee
BLAKE2b-256 3d95ad4419be737ee5b80d26f7a6f3ce91d9b7ca091248ce57ef3d8fda6c4801

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page