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.3-py3-none-win_amd64.whl (691.5 kB view details)

Uploaded Python 3Windows x86-64

reader_integration_kit-1.4.3-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.3-py3-none-manylinux_2_38_armv7l.whl (1.2 MB view details)

Uploaded Python 3manylinux: glibc 2.38+ ARMv7l

reader_integration_kit-1.4.3-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.3-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for reader_integration_kit-1.4.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 049eacdd05d359e8400b38e881a4a3c7b30e012914212e0fc5d49bd8f3ce0436
MD5 720395c35f4c774c36237b0c32787ba7
BLAKE2b-256 477c18f784b0c2a4928f789534746d015df6772a3c884a655f05c81be37508ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reader_integration_kit-1.4.3-py3-none-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 d7b8d23e0d4c23a5e523522a90b35d0827d124c3cc34ca74e7eb5b5f042024c1
MD5 e2a8d8ccba35d90c2e3d49ebee78d146
BLAKE2b-256 e9b587c5e407b73ae3f2ddd88bc37e45fe38a05030be02450de6056e5880dcd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reader_integration_kit-1.4.3-py3-none-manylinux_2_38_armv7l.whl
Algorithm Hash digest
SHA256 4c745bca371c8e71d099b69a3bed38db4a9f90e3552272f60f6f3f27f10cb370
MD5 aa12853fc0161350df145eb7afdf2fd4
BLAKE2b-256 3772bb97a4dc3dd6a4f3c74ee472de413821f7d75240ecbf16e1e9778379136f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reader_integration_kit-1.4.3-py3-none-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 25a1231bb47806303a677ff332140632c2e15be4f070342f7a27e2ab797aa1d6
MD5 de5f3c2544bc080fcb805952ce989a24
BLAKE2b-256 a65a4fa625044db2b4cb31b4f672568bd5372c2cd04feaee37add765760f1301

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