Skip to main content

A Python wrapper for the rfIDEAS Reader Integration Kit library

Project description

Reader Integration Kit - Python Binding

A Python wrapper for the rf IDEAS Reader Integration Kit native library. This package enables Python applications to communicate with rf IDEAS readers using a high-level reader interface.

Supported Platforms

This package is distributed as platform- and architecture-specific builds. Each architecture is a separate PyPI package, so install the one that matches your operating system and CPU architecture:

Platform / Architecture Package Name
Linux x86_64 reader-integration-kit-linux-x86-64
Linux ARM64 (generic aarch64) reader-integration-kit-linux-aarch64
Linux ARM64 (Raspberry Pi 5, optimized) reader-integration-kit-linux-pi5
Linux 32-bit ARM hard-float (ARMhf / armv7) reader-integration-kit-linux-armhf
Windows x86_64 reader-integration-kit-windows-x86-64

Installation

Install the package for your platform using pip:

Linux x86_64:

pip install reader-integration-kit-linux-x86-64

Linux ARM64 (generic aarch64):

pip install reader-integration-kit-linux-aarch64

Raspberry Pi 5 (optimized ARM64 build):

pip install reader-integration-kit-linux-pi5

Linux 32-bit ARM (ARMhf / armv7):

pip install reader-integration-kit-linux-armhf

Windows:

pip install reader-integration-kit-windows-x86-64

Note: You must install the package that matches your operating system and CPU architecture. There is no universal package that covers all platforms. On a Raspberry Pi 5 you can use either the optimized reader-integration-kit-linux-pi5 build (tuned for the Pi 5's Cortex-A76 cores) or the portable reader-integration-kit-linux-aarch64 build that runs on any ARMv8-A device.

Prerequisites

  • Python 3.6 or later
  • An rf IDEAS reader (e.g., WaveID) connected to your system
  • On Linux, appropriate udev rules may be required for USB reader access

Usage

Import the reader_integration_kit module and create an instance of Reader. The facade uses handles to manage reader instances, allowing you to interact with multiple readers concurrently.

WaveID Reader Example

import reader_integration_kit.facade as reader
from reader_integration_kit.structures import ReaderDefinition, DeviceId, SerialPortSettings
from reader_integration_kit.enum import ProtocolType, BeepDuration, BeepVolume

# Create a reader definition for WaveID
reader_def = ReaderDefinition(
    DeviceId=DeviceId(VendorId=0x0c27, ProductId=0x3bfa),
    ProtocolType=ProtocolType.FEATURE_REPORT,
    SerialPortSettings=SerialPortSettings()
)

# Create a WaveID reader instance
with reader.Reader(reader_def, retry_count=3) as waveid:
    # Initialize the reader
    waveid.init()

    # Get reader metadata (populated lazily on first access)
    metadata_dict = waveid.get_metadata()
    print(f"Part Number: {metadata_dict.get('PartNumber', 'N/A')}")

    # Force refresh metadata from device
    metadata_dict = waveid.get_metadata(force_refresh=True)

    # Beep the reader
    waveid.beep(2, BeepDuration.BEEP_DURATION_SHORT)

    # Get beeper volume
    volume = waveid.get_beeper_volume()
    print(f"Beeper Volume: {volume}")

    # Set beeper volume
    waveid.set_beeper_volume(BeepVolume.BEEP_VOLUME_HIGH)

Note: The Reader class manages reader handles internally. Each instance corresponds to a single reader handle. You can create multiple Reader instances to interact with multiple readers simultaneously. Resources are automatically released when exiting the context manager (with statement) or when the object is garbage collected.

Documentation

For integration guides and complete API reference, see the rf IDEAS Documentation.

License

This package is proprietary software distributed by rf IDEAS, Inc. Use of this package is subject to the End-User License Agreement (EULA) included with the package. See the included rfIDEAS_EULA.txt for full terms and conditions.


Copyright rf IDEAS, Inc. All rights reserved.

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

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file reader_integration_kit_linux_aarch64-1.4.1.tar.gz.

File metadata

File hashes

Hashes for reader_integration_kit_linux_aarch64-1.4.1.tar.gz
Algorithm Hash digest
SHA256 a88ab506acef597394923f41ba70c89b076b7e2807e9a03b88a07b8d27209d4f
MD5 f3361fd05bc2aede650c83060702e880
BLAKE2b-256 9b075c288a338678250731dbae0e23b9574dfd0148271bfed385c815b7c06499

See more details on using hashes here.

File details

Details for the file reader_integration_kit_linux_aarch64-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for reader_integration_kit_linux_aarch64-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2a62818b1a26855b8f717fd5b5ab8959954820f7e6a7e0a4f251cd13ed1974a
MD5 42dc4757274b7eb8e6514f706dd95c36
BLAKE2b-256 5da46783e8e8658ceca2b1045202a4fd231ad4d67439c49cbd8a4013245325ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page