Skip to main content

IOWP - IO-Warrior Python Library

This library provides a Python interface for IO-Warrior devices, manufactured by Code Mercenaries Hard- und Software GmbH.

It is a Python port of the IOWJ Java library, originally created by Thomas Wagner. The iowp.iowkit module is a reconstruction of the original iowkit.dll logic, designed to work natively on modern platforms like macOS (Apple Silicon) without the need for JNI or external binaries.

Credits & Acknowledgments

  • Thomas Wagner: Original author and lead developer.
  • Antigravity / Google Gemini: Assisted in the automated porting and refactoring process from Java to Python.

Installation

The easiest way to install the library is via PyPI:

pip install iowp

For Developers (Local Installation)

If you are working on the source code, you can install it in "editable" mode:

pip install -e .

This will automatically install the required hidapi dependency.

Maintenance & Release Workflow

For contributors and maintainers, follow this workflow for updates:

1. Local Changes

  • Make your code changes.
  • Commit your changes locally:
    git add .
    git commit -m "Description of your changes"
    

2. Global Backup (GitHub)

  • Push your changes to the remote repository:
    git push
    

3. PyPI Release

To publish a new version:

  1. Increment the version in pyproject.toml.
  2. Build the new distribution:
    python3 -m build
    
  3. Upload to PyPI:
    python3 -m twine upload dist/*
    

Features

  • Support for all IO-Warrior models including IO-Warrior24 (no longer available), IO-Warrior28, IO-Warrior40 (no longer available), IO-Warrior56, and IO-Warrior100.
  • Fully self-contained package.
  • Direct device control via the IowFactory.
  • Event-based port listeners.
  • Special mode functions (I2C, LCD).

Usage Example

from iowp.factory import IowFactory

# Get the factory instance and list connected devices
factory = IowFactory.get_instance()
devices = factory.get_devices()

for dev in devices:
    print(f"Found {dev.name} (Serial: {dev.serial})")

Running the Factory Script

You can also run the bundled factory script to list devices:

iowp-factory

(or python3 iowp/factory.py)

License & Use

This project is released under the GNU General Public License v3.0 (GPLv3). This ensures the library remains free and open source. Commercial use in closed-source products may require a different licensing arrangement.

Professional Services & Support

If you need professional assistance, custom implementations, or commercial support for your IO-Warrior project, please contact:

Thomas Wagner - Ideenbüro Wagner www.ideenbuero-wagner.de

We offer:

  • Custom driver and library development.
  • Hardware integration and consulting.
  • Commercial licensing for embedded projects.

Metadata

Release files for iowp 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iowp 0.1.3
File Size Uploaded Provenance Actions
iowp-0.1.3.tar.gz 25.0 kB Without provenance Details for iowp-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for iowp 0.1.3
File Interpreter ABI Platform Actions
iowp-0.1.3-py3-none-any.whl Python 3 none any Details for iowp-0.1.3-py3-none-any.whl

Total release size: 53.0 kB

Release files / iowp-0.1.3.tar.gz

Download URL iowp-0.1.3.tar.gz
Size 25.0 kB
Tags Source
SHA-256 checksum
How to use checksums
92e5fc2408cf934f809c49652e7d4a9319478d071eaf8fe39874467b03b2eec1
BLAKE2b-256 checksum
How to use checksums
e50c2ed7c18f6021fff77ff923966893f19a00232de3315e8c94fb4cb3367077
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / iowp-0.1.3-py3-none-any.whl

Download URL iowp-0.1.3-py3-none-any.whl
Size 27.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d46714495ef027278dbfbd0bffa9a6866ac055d6ca374464bb8c8b8d16f0214
BLAKE2b-256 checksum
How to use checksums
2db8b80d95134ba26367db9bcaca802acaae4bcbb0b917670b8a202b849a572b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Security for iowp 0.1.3

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