Inhumate RTI Client
Project description
Inhumate RTI Client for Python
This is the Python client for the Inhumate RTI (RunTime Infrastructure), part of the Inhumate Suite.
See the Inhumate Suite documentation for more in-depth topics and an overview of the software suite.
Installing
pip install inhumate-rti
Quick Start
import inhumate_rti as RTI
rti = RTI.Client(application="Python RTI App")
rti.wait_until_connected()
def on_connect():
print("Connected")
rti.on("connect", on_connect)
def on_hello(content):
print(f"Received: {content}")
rti.subscribe_text("hello", on_hello)
rti.publish_text("hello", "Hello World!")
Note that the Python client is multi-threaded by default.
subscribe callbacks are called from a separate receive thread.
Depending on your use case, you might want to use the single-threaded pattern and main_loop constructor argument:
import inhumate_rti as RTI
def main_loop():
print("." if rti.connected else "x", end="", flush=True)
if rti and rti.connected: rti.publish_text("foo", "bar")
# connect after initializing, otherwise 'rti' will be undefined in the main loop
rti = RTI.Client(application="Python RTI App", main_loop=main_loop, main_loop_idle_time=1.0)
rti.connect() # blocks further execution
For a more complete usage example, see usage_example.py and usage_example_main_loop.py.
Running tests
Clone the project from GitHub, and in the python folder:
python -m virtualenv .venv
. .venv/bin/activate
pip install -r inhumate_rti/requirements.txt
pip install -r test/requirements.txt
pytest
Feedback & Contributing
Feedback and contributions of any kind are welcome.
- Please file bug reports and/or feature requests as GitHub issues
- Suggest code changes by creating a pull request
- For any other questions, comments or inquiries, get in touch
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
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 inhumate_rti-1.7.3.tar.gz.
File metadata
- Download URL: inhumate_rti-1.7.3.tar.gz
- Upload date:
- Size: 30.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
600d01d4778cdfa58607ad1c863e2a72df370a4c87fccf092ee922686f33b5b8
|
|
| MD5 |
95102bb8c3402dc0837f279091fccc47
|
|
| BLAKE2b-256 |
2aa3de64a14b9d0c193023c47d167475e490a3ca247d2521363441168e3f4127
|
File details
Details for the file inhumate_rti-1.7.3-py3-none-any.whl.
File metadata
- Download URL: inhumate_rti-1.7.3-py3-none-any.whl
- Upload date:
- Size: 53.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d280b49efab328b23050e8debe95eddf9ab0cd885e9026302f0ce8984848f87
|
|
| MD5 |
edcf70db8e5eefd2b3bb13f726e2f258
|
|
| BLAKE2b-256 |
3f1bf2274c2481779b3d8963426f737e2a627ca16a1d580b70aaae4640426f77
|