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
Metadata
Release files for inhumate-rti 3.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inhumate_rti-3.0.3.tar.gz | 30.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inhumate_rti-3.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.1 kB
Release files / inhumate_rti-3.0.3.tar.gz
| Download URL | inhumate_rti-3.0.3.tar.gz |
|---|---|
| Size | 30.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f57976e33523ea9c772f7f02ad43e2fc3cb7833d867b74eb992864fc6c1443a
|
|
BLAKE2b-256 checksum How to use checksums |
55254ea1dc1832c1cb797073cb6f310ab36d6802e694b2003bb7f056e9a99d42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / inhumate_rti-3.0.3-py3-none-any.whl
| Download URL | inhumate_rti-3.0.3-py3-none-any.whl |
|---|---|
| Size | 46.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
149e3302a774901009ca526d7365b2e52771d1b449ddfe723e292860723c379d
|
|
BLAKE2b-256 checksum How to use checksums |
068e6c3be0448568c0a12734e97174ea4730faf8616e3ef0ee6da5a9b975d9e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|