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:
- Increment the
versioninpyproject.toml. - Build the new distribution:
python3 -m build
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.