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 ships platform-tagged wheels for all supported architectures. pip automatically selects the correct wheel for your operating system and CPU:

Platform / Architecture Wheel tag
Linux x86_64 manylinux_*_x86_64
Linux ARM64 (generic aarch64 and Raspberry Pi 5) manylinux_*_aarch64
Linux 32-bit ARM hard-float (ARMhf / armv7) manylinux_*_armv7l
Windows x86_64 win_amd64

Installation

Install from PyPI with a single command — no need to pick a platform-specific package name:

pip install reader-integration-kit

Raspberry Pi 5 runtime detection

The linux_aarch64 wheel bundles both the Pi 5-optimized and the generic ARM64 native library. The correct variant is selected automatically at import time by reading /proc/device-tree/model. You can override this for testing with the RIK_ARM_VARIANT environment variable:

RIK_ARM_VARIANT=pi5     python my_script.py   # force Pi 5 variant
RIK_ARM_VARIANT=generic python my_script.py   # force generic variant

Backward-compatible package names

Users upgrading from the old per-platform package names (e.g. reader-integration-kit-linux-x86-64) will be automatically redirected to this unified package via pip's dependency resolution — no manual action is required.

Prerequisites

  • Windows 10/11 (x64), Linux x64, or Linux ARM64 / ARMhf (Ubuntu 24.04+ or equivalent)
  • A connected rf IDEAS reader (USB or serial), e.g. WaveID
  • Python 3.8 or later
  • 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

reader_integration_kit-1.4.2-py3-none-win_amd64.whl (691.5 kB view details)

Uploaded Python 3Windows x86-64

reader_integration_kit-1.4.2-py3-none-manylinux_2_38_x86_64.whl (1.5 MB view details)

Uploaded Python 3manylinux: glibc 2.38+ x86-64

reader_integration_kit-1.4.2-py3-none-manylinux_2_38_armv7l.whl (1.2 MB view details)

Uploaded Python 3manylinux: glibc 2.38+ ARMv7l

reader_integration_kit-1.4.2-py3-none-manylinux_2_38_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.38+ ARM64

File details

Details for the file reader_integration_kit-1.4.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for reader_integration_kit-1.4.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 544db6360e85b4604f15d814b2877a7d13d8d0c1dfb027add56676a412b48467
MD5 07ea938093c9552efed97211d6b5594b
BLAKE2b-256 fe10c4a8e33cae802d0487e403184e83d4597c788c120e55bd3471e3e1be8857

See more details on using hashes here.

File details

Details for the file reader_integration_kit-1.4.2-py3-none-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for reader_integration_kit-1.4.2-py3-none-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 dd3cd90911b6742b1c9684fbafae9647d3c074c0b21b59936cc40813577285c7
MD5 fcb814749a9bf7faac21c75f9a56c555
BLAKE2b-256 77df301a10f319072bd5a99a2fdf7ccdd7931589cafaf0776823b173349f0456

See more details on using hashes here.

File details

Details for the file reader_integration_kit-1.4.2-py3-none-manylinux_2_38_armv7l.whl.

File metadata

File hashes

Hashes for reader_integration_kit-1.4.2-py3-none-manylinux_2_38_armv7l.whl
Algorithm Hash digest
SHA256 0bb3eb89dd7a22a8f31b90d86308c8409505e6ef99fedde939891e587f04fb56
MD5 0c8a9119b341e9244cce5ea7ffda84d7
BLAKE2b-256 1474b89e091bf19509d075c1893843894654a278b762b7a0ab20682fb4a2a1a7

See more details on using hashes here.

File details

Details for the file reader_integration_kit-1.4.2-py3-none-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for reader_integration_kit-1.4.2-py3-none-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 9ffd193dea347255ee69b0c9c37731644ce740f0f5842e53771940d092d886f4
MD5 66b4f3b98ec183efc40515ffca0dbe17
BLAKE2b-256 c973919f41f1f5d25163dfada25dbeb349c4f849f493644cc93b64f99d1ee005

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