chainway-serial
Unofficial asynchronous Python library to interact with Chainway UR4 fixed UHF RFID readers over RS-232 and TCP, built on serialx. Requires Python >= 3.14.
Unofficial and reverse-engineered: not endorsed by Chainway, and it may break without notice whenever Chainway changes their firmware.
The library has been tested with a UR4 running UHF module firmware 7.40.1 over RS-232 and TCP.
Install
uv add chainway-serial
Documentation
The documentation is hosted at chainway-serial.readthedocs.io.
Usage
import asyncio
from chainway_serial import ChainwayClient
async def main() -> None:
async with ChainwayClient("/dev/ttyUSB0") as client:
print(await client.get_version())
async for tag in client.inventory():
print(tag.epc.hex(), tag.rssi)
asyncio.run(main())
ChainwayClient takes any serialx URL: a serial device path, or socket://host:8888 for a reader on the network.
Development
See CONTRIBUTING.md for setup, the gate and the live hardware tests.
uv sync
uv run python -m scripts.check
License
MIT. See LICENSE.
Metadata
Release files for chainway-serial 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chainway_serial-0.2.2.tar.gz | 38.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chainway_serial-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.1 kB
Release files / chainway_serial-0.2.2.tar.gz
| Download URL | chainway_serial-0.2.2.tar.gz |
|---|---|
| Size | 38.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6215db4074c2ee9b306495432fad63b033d77afbf4c8ad871343edf4842d39fa
|
|
BLAKE2b-256 checksum How to use checksums |
edafc2242e24065aacdf1347a06f1a7a6b901756022cde9d2e9405cc0f7147c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / chainway_serial-0.2.2-py3-none-any.whl
| Download URL | chainway_serial-0.2.2-py3-none-any.whl |
|---|---|
| Size | 41.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5d346bac58de34fc1467df9bf482480b306291b6e8c54b464ff9ae607698668
|
|
BLAKE2b-256 checksum How to use checksums |
ae7c8a1d6a2bc8d1b091663ec9ed835f71328c0dde057d7caa7ba37ad1b9fdc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log