Skip to main content

ImprintX SDK (Python)

Python SDK for ImprintX Sensors and Touch Gloves. ImprintX Sensor support provides event-stream acquisition and device control. Touch Glove support provides synchronized five-channel tactile image acquisition, raw IMU data, device-state control, and data streaming.

The SDK supports Python 3.8 and newer. Model inference, GUI, and recording are not included in the package.

Installation

pip install imprintx

ImprintX Sensor

Shared mode (the service owns the serial port):

imprintx-sdk --device sensor /dev/ttyACM0

Direct mode (the application owns the serial port; do not run the service for the same device at the same time):

from imprintx.sensor import Sensor

with Sensor("/dev/ttyACM0") as sensor:
    sensor.set_light(True)
    try:
        sensor.start()
        if not sensor.wait_for_batch(timeout_sec=1.0):
            raise TimeoutError("No event batch received")

        for event in sensor.poll():
            print(event.x, event.y, event.polarity, event.timestamp_us)
    finally:
        try:
            if sensor.is_streaming:
                sensor.stop()
        finally:
            if not sensor.is_streaming:
                sensor.set_light(False)

Sensor events include 320 x 320 coordinates, polarity, and a device timestamp in microseconds.

Touch Glove

Shared mode (the service owns the serial port):

imprintx-sdk --device glove /dev/ttyACM0

Direct mode (the application owns the serial port; do not run the service for the same device at the same time):

from imprintx.glove import TouchGlove

with TouchGlove("/dev/ttyACM0") as glove:
    print(f"Firmware: {glove.firmware_version}; device: {glove.sn}")
    glove.start()

    if not glove.wait_for_batch(timeout_sec=1.0):
        raise TimeoutError("No synchronized tactile batch received")

    batch = glove.poll()
    for frame in batch:
        print(
            f"channel={frame.channel} "
            f"timestamp={frame.timestamp_us}us "
            f"shape={frame.image.shape}"
        )

Each image is a 192 x 192 NumPy array. A batch is returned only after the detected active tactile channels have been synchronized. Opening a Touch Glove fails unless firmware version 1.0 or newer and the device identity are both validated.

Examples

For usage examples, see the ImprintX SDK repository.

Data Integrity

Sensor commands validate their checksums and acknowledgements; Sensor event streams validate EVT20 types, coordinates, and timestamps. Touch Glove streams validate checksums, payload sizes, hardware timestamps, and synchronized channel batches. Missing channels, timestamps, serial numbers, events, and frames are never fabricated. Queue overflow, incomplete batches, and stream continuity failures are reported as explicit errors; the SDK does not automatically reconnect or silently retry control requests.

License

Copyright (c) ImprintX. All rights reserved. This package is proprietary software; use and distribution are subject to the included license terms.

Metadata

Release files for imprintx 0.3.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.3.1
File Interpreter ABI Platform Actions
imprintx-0.3.1-cp38-abi3-manylinux_2_34_x86_64.whl CPython 3.8 abi3 Linux glibc 2.34+ x86-64 Details for imprintx-0.3.1-cp38-abi3-manylinux_2_34_x86_64.whl
imprintx-0.3.1-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details for imprintx-0.3.1-cp38-abi3-macosx_11_0_arm64.whl

Total release size: 1.1 MB

Release files / imprintx-0.3.1-cp38-abi3-manylinux_2_34_x86_64.whl

Download URL imprintx-0.3.1-cp38-abi3-manylinux_2_34_x86_64.whl
Size 639.5 kB
Tags CPython 3.8 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
881ea845b43b97f0385725370d5c8f6a438d0a5846cc860b4abdbc8ba0f4d2e2
BLAKE2b-256 checksum
How to use checksums
e707366dfd05a6507a805b3b4fcd41615055f576076ce87da3747f99d890011c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / imprintx-0.3.1-cp38-abi3-macosx_11_0_arm64.whl

Download URL imprintx-0.3.1-cp38-abi3-macosx_11_0_arm64.whl
Size 495.7 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4e5a24151d4105eb0df7dbdd4da16a44558f62959f0315da72553f7e0aa580e7
BLAKE2b-256 checksum
How to use checksums
882837000d95f5479761041b2e80251dd48fed669efa8d56a812a78ce49bd8eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for imprintx 0.3.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