Skip to main content

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(), and save_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)

Table of built distributions (wheels) for imprintx 0.2.5.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page