A Python library for ThingSet functionality
Project description
Python ThingSet
To use from Python
To install
pip install python-thingset
To get a value
from python_thingset import ThingSet
with ThingSet(backend="can", can_bus="vcan0") as ts:
response = ts.get(0xF03, 0x01)
print(response) # 0x85 (CONTENT): native_posix
print(f"0x{response.status_code:02X}") # 0x85
print(response.status_string) # CONTENT
print(response.data) # native_posix
for v in response.values:
print(v) # Build/rBoard (0xF03): native_posix
print(v.name, f"0x{v.id:02X}", v.value) # Build/rBoard 0xF03 native_posix
To fetch multiple values
from python_thingset import ThingSet
with ThingSet(backend="can", can_bus="vcan0") as ts:
response = ts.fetch(0xF, [0xF03, 0xF01], 0x01)
print(response) # 0x85 (CONTENT): ['native_posix', '947c30f8']
print(f"0x{response.status_code:02X}") # 0x85
print(response.status_string) # CONTENT
print(response.data) # ['native_posix', '947c30f8']
To fetch all child IDs of a parent
from python_thingset import ThingSet
with ThingSet(backend="can", can_bus="vcan0") as ts:
response = ts.fetch(0xF, [], 0x01)
print(response) # 0x85 (CONTENT): [3841, 3842, 3843, 3845, 3849]
print(f"0x{response.status_code:02X}") # 0x85
print(response.status_string) # CONTENT
print(response.data) # [3841, 3842, 3843, 3845, 3849]
To execute a function
from python_thingset import ThingSet
with ThingSet(backend="can", can_bus="vcan0") as ts:
response = ts.exec(0x20, ["some-text"], 0x1)
print(response) # 0x84 (CHANGED): 0
print(f"0x{response.status_code:02X}") # 0x84
print(response.status_string) # CHANGED
print(response.data) # 0
To update a value
from python_thingset import ThingSet
with ThingSet(backend="can", can_bus="vcan0") as ts:
response = ts.update(0x4F, 1, 0x1, 0x0)
print(response) # 0x84 (CHANGED): 0
print(f"0x{response.status_code:02X}") # 0x84
print(response.status_string) # CHANGED
print(response.data) # 0
To use from terminal
Serial examples
thingset get SomeGroup -p /dev/pts/5
thingset get SomeGroup/rOneValue -p /dev/pts/5
thingset fetch SomeGroup -p /dev/pts/5
thingset fetch SomeGroup rOneValue rAnotherValue -p /dev/pts/5
thingset update sSomePersistedValue 3 -p /dev/pts/5
thingset update AnotherGroup/sPersistedValue 3 -p /dev/pts/5
thingset exec xSomeFunction aFunctionArgument -p /dev/pts/5
thingset exec AnotherGroup/xAnotherFunction -p /dev/pts/5
thingset exec AnotherGroup/xYetAnotherFunction 1.2 3.4 5.6 -p /dev/pts/5
thingset schema -p /dev/pts/5
thingset schema SomeGroup -p /dev/pts/5
thingset schema "" -p /dev/pts/5
CAN examples
thingset get f -c vcan0 -t 2f
thingset get f03 -c vcan0 -t 2f
thingset fetch f -c vcan0 -t 2f
thingset fetch f f01 f02 -c vcan0 -t 2f
thingset update 0 6f 3 -c vcan0 -t 2f
thingset exec 44 aFunctionArgument -c vcan0 -t 2f
thingset exec 55 -c vcan0 -t 2f
thingset exec 66 1.2 2.3 3.55 -c vcan0 -t 2f
thingset schema -c vcan0 -t 2f
thingset schema f -c vcan0 -t 2f
Socket examples
thingset get f -i 127.0.0.1
thingset get f03 -i 127.0.0.1
thingset fetch f -i 127.0.0.1
thingset fetch f f01 f02 -i 127.0.0.1
thingset update 0 6f 3 -i 127.0.0.1
thingset exec 44 aFunctionArgument -i 127.0.0.1
thingset exec 55 -i 127.0.0.1
thingset exec 66 1.2 2.3 3.55 -i 127.0.0.1
thingset schema -i 127.0.0.1
thingset schema f -i 127.0.0.1
To build
rm -rf dist/
python -m build
python -m twine upload --repository pypi dist/*
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
python_thingset-0.2.6.tar.gz
(21.4 kB
view details)
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 python_thingset-0.2.6.tar.gz.
File metadata
- Download URL: python_thingset-0.2.6.tar.gz
- Upload date:
- Size: 21.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f37c2aba7d46457242a44a8e80f2a7c2ad91db364870fe8c1e38a1a72888a6e8
|
|
| MD5 |
1dc48b6482509a84fc8e2400c641c7df
|
|
| BLAKE2b-256 |
7432b81e2350192a366a404721d2ec8ca78d74169dc7fd6f5634d5e2ebb99509
|
File details
Details for the file python_thingset-0.2.6-py3-none-any.whl.
File metadata
- Download URL: python_thingset-0.2.6-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
559ccde99fa0be97d354feecded74d9ab93762f4fa490c84a28aa0735550da57
|
|
| MD5 |
8447959eff8d7c7c9f8608b2b929083e
|
|
| BLAKE2b-256 |
eed62e5a349f377f7c67874da45b71e02136f9e82c7adf70fe2a57d67af2b911
|