ImprintX Touch Glove SDK
Python SDK for tactile acquisition, synchronized active-channel streaming and five-channel H.265 recording. Model inference is not included in this release.
What's new in 0.2.5.1
- Detects connected tactile channels from image traffic during the first 100 ms of streaming.
poll(),stream(),show_gui(), andsave_image()support fewer than five connected channels without creating placeholder images.- Exposes the detected logical-channel mask through
TouchGlove.active_channels. - Disables automatic USB RTC synchronization in high-level APIs by default.
- Improves serial polling, queue diagnostics, and the Rust-to-NumPy zero-copy path.
- Keeps H.265 grid recording strict: all five tactile channels are required.
See the complete 0.2.5.1 release notes for details.
pip install imprintx
from imprintx.glove import TouchGlove, list_ports
port = list_ports()[0]
with TouchGlove(port=port) as glove:
glove.start()
if not glove.wait_for_batch(timeout_sec=0.1):
raise RuntimeError("[TS_ERROR_TIMEOUT:-4] example: no synchronized batch")
batch = glove.poll()
for frame in batch:
print(frame.channel, frame.seq_id, frame.timestamp_us, frame.image.shape)
High-level APIs:
glove.stream(port=None, callback=None, duration=None, stream_timeout=2.0)glove.show_gui(port=None, display_fps=60.0, stream_timeout=2.0)glove.save_image(port=None, output_dir=".", timeout_sec=3.0)glove.record_video(port=None, output_path="output_h265.mp4", duration=5.0, fps=30.0, stream_timeout=2.0)glove.load_video_timestamps(path)
The SDK does not fabricate timestamps or missing-channel images, overwrite queued batches, return stale SN data, automatically reconnect, switch encoder backends, or silently replace invalid configuration. SN/UID handshakes, checksums, active-channel completeness, and hardware timestamps remain mandatory. Native errors contain stable codes such as [TS_ERROR_IO:-3]; high-level validation raises TouchGloveError with an ErrorCode value and writes an error log record.
The streaming core uses one blocking serial reader, a fixed USB/TTY coalescing window, reusable receive buffers, and ownership transfer for synchronized image frames. Complete active-channel batches are published directly without a relay thread. Python mode does not allocate the legacy C ring buffers, while the C API retains its existing ABI layout. All stream and recording queues are bounded and reject overflow instead of overwriting old frames.
Metadata
Release files for imprintx 0.2.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| imprintx-0.2.5.1-cp38-abi3-manylinux_2_35_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.35+ ARM64 | Details for imprintx-0.2.5.1-cp38-abi3-manylinux_2_35_aarch64.whl |
| imprintx-0.2.5.1-cp38-abi3-manylinux_2_34_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.34+ x86-64 | Details for imprintx-0.2.5.1-cp38-abi3-manylinux_2_34_x86_64.whl |
Total release size: 113.8 MB
Release files / imprintx-0.2.5.1-cp38-abi3-manylinux_2_35_aarch64.whl
| Download URL | imprintx-0.2.5.1-cp38-abi3-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 56.6 MB |
| Tags | CPython 3.8 Linux glibc 2.35+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
992ddbefe5842c4649c2452bd61342926a80fa0e02cbff8122ba3bf4846d482d
|
|
BLAKE2b-256 checksum How to use checksums |
16846036434ba14c8ee5236e2e9ad576a80ad4c829e5011f47def1b3c55d368d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / imprintx-0.2.5.1-cp38-abi3-manylinux_2_34_x86_64.whl
| Download URL | imprintx-0.2.5.1-cp38-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 57.2 MB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
fa9f7890f3874888f9240c92bb94c17a4ad865cbe873ed09101f2804e41d6145
|
|
BLAKE2b-256 checksum How to use checksums |
ffbb9cd14f82b327dd5ef5bd64dd14d424899d56e27eb431d8a28979de822545
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Security for imprintx 0.2.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.