Python bindings for a C++ serial port library
Project description
Python bindings for a C++ serial port library providing asynchronous serial communication support.
Features
Non-blocking read operations.
Blocking write operations.
Cross-platform support for Windows, Linux, macOS, and FreeBSD.
Event-driven architecture for handling data events.
Installation
You can install the async-pyserial package using either poetry or pip.
### Using Poetry
Install poetry if you haven’t already:
`sh curl -sSL https://install.python-poetry.org | python3 - `
Add async-pyserial to your project:
`sh poetry add async-pyserial `
### Using pip
Install the package from PyPI:
`sh pip install async-pyserial `
### FreeBSD Installation For FreeBSD, you need to build the package manually:
Clone the repository:
`sh git clone https://github.com/Lei-k/async-pyserial.git `
Navigate to the project directory:
`sh cd async-pyserial `
Install the dependencies using poetry:
`sh poetry install `
Build the package:
`sh python -m build `
Install the package:
`sh pip install dist/*.whl `
Usage
Here’s a simple example of how to use async-pyserial:
from async_pyserial import SerialPort, SerialPortOptions, SerialPortEvent, SerialPortParity
def on_data(data):
print(f"Received: {data}")
options = SerialPortOptions()
options.baudrate = 9600
options.bytesize = 8
options.stopbits = 1
options.parity = SerialPortParity.NONE # NONE, ODD, EVEN
serial_port = SerialPort('/dev/ttyUSB0', options)
serial_port.on(SerialPortEvent.ON_DATA, on_data)
serial_port.open()
try:
while True:
data_to_send = input("Enter data to send (or 'exit' to quit): ")
if data_to_send.lower() == 'exit':
break
serial_port.write(data_to_send.encode('utf-8'))
finally:
serial_port.close()
API
### SerialPort A class for serial communication.
#### Methods
__init__(self, port: str, options: SerialPortOptions): Initializes the serial port with the specified parameters.
def write(self, data: bytes): Writes data to the serial port (blocking operation).
def open(self): Opens the serial port.
def close(self): Closes the serial port.
def on(self, event: SerialPortEvent, callback: Callable[[bytes], None]): Registers a callback for the specified event.
### SerialPortOptions A class for specifying serial port options.
#### Attributes
baudrate: int: The baud rate for the serial port.
bytesize: int: The number of data bits.
stopbits: int: The number of stop bits.
parity: int: The parity checking (0: None, 1: Odd, 2: Even).
read_timeout: int: The read timeout in milliseconds.
write_timeout: int: The write timeout in milliseconds.
### SerialPortEvent An enumeration for serial port events.
ON_DATA: Event triggered when data is received.
Platform Support
Supports Windows, Linux, macOS, and FreeBSD.
Development
To contribute to the project, follow these steps:
Clone the repository:
git clone https://github.com/Lei-k/async-pyserial.git
Navigate to the project directory:
cd async-pyserial
Install the dependencies using poetry:
poetry install
Run the tests:
poetry run pytest
License
This project is licensed under the MIT License. See the LICENSE file for more details.
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
Built Distributions
Hashes for async_pyserial-0.1.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ec079adafca093584abe02a60104d0fb022e0779c65847607d0e70cc8ba26b0 |
|
MD5 | 1ce23dfaa968c145ce4aaee324115f41 |
|
BLAKE2b-256 | 16bf32422418c28a3caad6a2c61e0bae5a22c572d1726c4275cd74e3cb85ee06 |
Hashes for async_pyserial-0.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcf54981ec8163ca45f54e47957ef6b71e5f4ded18350c247818691a315092c3 |
|
MD5 | db1e8d0b54ae2b7a839ccda546fad74a |
|
BLAKE2b-256 | a1a04878aba4c50aadfc31ec8c2e112ee5bc59a1b3d96f1dfa24a4994af22adb |
Hashes for async_pyserial-0.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e356b8acb132b40f4e4a9f8509c248a91b98d9f7327fe92648501551ebfb551 |
|
MD5 | cf68ccb694c5a5e89eb65c6673ed8fe1 |
|
BLAKE2b-256 | 45277465405f3a89b7abe77712f4a4af0b4726c08759719426273fea0c2e872a |
Hashes for async_pyserial-0.1.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b170e8df9f8a5c8c11979cff5d1abfa344c9959e045dcc2b745d07f574f3ad0f |
|
MD5 | baface66376ddf472d269c51eba0065f |
|
BLAKE2b-256 | 09acd1d43b5f0df0292f6192fc54cfaa3db6ef80861d8a7bd35cb1ada1b6bba4 |
Hashes for async_pyserial-0.1.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94270b9c05c18cfb133b14e574192b4eb80c74f1defd36830cebc9484931a357 |
|
MD5 | 147d593cf537b3bb556ac7da35cb3201 |
|
BLAKE2b-256 | 9f32d5001b10ea3ad0bff594057247673397814e555ebd9a7f3988b1d9f86a69 |
Hashes for async_pyserial-0.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a81501faae7439b7eb83469c3e0d3cee8e5402cfded2f2d4663ceb989d9dabc |
|
MD5 | 5e61ff5d8c97f0d7ce8dc25e2200da17 |
|
BLAKE2b-256 | e0529cf4ac2bd457b21efd23bdeb9f668927350a4afc6471e775cde9c0c87c22 |
Hashes for async_pyserial-0.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17582480c9865f29472f0e1dd08c80b2c9db494c02b3a75e5afb32cd441af0c0 |
|
MD5 | aa414065f2c204c98975a1cfc5ec69b9 |
|
BLAKE2b-256 | 1016127a8abe1b6beed9df12e7611dd05f6fd28b8cae616c33c62eb31e355b1b |
Hashes for async_pyserial-0.1.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9195bf1c89e7416f77965df06ffb32f71e948410a03e392c36c3c6cc7bf0f6ac |
|
MD5 | 282e88d0ac93166b3eeae8615c934cd5 |
|
BLAKE2b-256 | f71e3d09179115e9410e69d0c7a4fcbcf0119a2e81ef318050606c09db30f364 |
Hashes for async_pyserial-0.1.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eefff72d71f9c96d904a6ba5fb76d191e0d96d41046c98a5b378b90d7ffa9b3 |
|
MD5 | 72c0b5ca7b05b9e04e204f8c185dd604 |
|
BLAKE2b-256 | 00f0d1bc6d1946a7479fe4d265af99536d38af768cd52a7e62d296ffc1348f4a |
Hashes for async_pyserial-0.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9715430bf3ebd5637403c503c16649ad1210d3be484c42694a85f53790d8757c |
|
MD5 | 9f3248505f5dbfd2c64480307f9cab3b |
|
BLAKE2b-256 | 11d2aa8982a3a964ef5b49255928bd52509b79e322b5a8b3971e6961805b3e78 |
Hashes for async_pyserial-0.1.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80f0c8f2435959660544bb3783e3c6725f68cedda0a23ea5a1301bc90b99fe88 |
|
MD5 | 524d745ba03b21f13a02b2f05c3a8f47 |
|
BLAKE2b-256 | 920efedf0bf714119f815265c9f5ba8a9088e825dfc3695027720a32fb814867 |
Hashes for async_pyserial-0.1.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf6c8659261609377303c3dd436855c12728b7b8ddff5b9c9b0a594cd6c62a78 |
|
MD5 | bf888e6b5bc9d856b8e4712d11c43968 |
|
BLAKE2b-256 | de64a8c240ddd8a84bba58f1501e208782e01c4709dc93ae3d1c3d2e790f02fe |
Hashes for async_pyserial-0.1.2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 115cfa14337d9bf00ac880723a42feb479c0d58dd3a571aadf9d8fde646f9e50 |
|
MD5 | 3af75905f5635bdbdc3d43dc8438c353 |
|
BLAKE2b-256 | cee24b55ab501ffe9b5ccdfeac79e20b8059c29d1086813ab7141d6453b5eb06 |
Hashes for async_pyserial-0.1.2-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2072012e8274b7c22aac739aa43d038ba154d3253d564e91f417a06984585116 |
|
MD5 | b996f2285c45cfdc0038463f4c5385a2 |
|
BLAKE2b-256 | 4f1b93b0fb2d30c44c4cc8b1736cd05dcb70692594e922d964d4d74ef4d19b09 |
Hashes for async_pyserial-0.1.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d7ba575f9ab6acd05e8b7dd71a9f6e8ba17df0d36764aeb1588f0fabe3fab58 |
|
MD5 | 0a952c0957ace267ad01155462067205 |
|
BLAKE2b-256 | 4d89197e00bacb4875560c787f1dbccc0d262026f35ecd5360dd1adf58d81afb |
Hashes for async_pyserial-0.1.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d7cc083018fc76fdb39d84886b929ae2de22bb3f93e6067826e59547b8ad2ef |
|
MD5 | e8e9aeb70c6b20a4dc1d3927824a0d3c |
|
BLAKE2b-256 | c94c37ff561fcdcb8b747af6b623d0a18bea683ab45d41d6b52b4ca9fb81a8a0 |
Hashes for async_pyserial-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8991f0672efab47e853fd3576a3cf7fe0550aefc484e28918ffb771c4fa6ada9 |
|
MD5 | b8c1e7dad9b498442da885f6f374a164 |
|
BLAKE2b-256 | 1dafea9eda6e2e810cb0b05b7afc4cb74bd504d98de1e5d715bf0d7ee6d46a9e |
Hashes for async_pyserial-0.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 680e6cea9abb8aef5700aa870c53ffa9f7b454398d8ceefbd330b034e07f1a6e |
|
MD5 | cc240e456f320022a6c8f7d40311ac03 |
|
BLAKE2b-256 | 68c8d03412eced1cbad9060217095b813b348c1521b1eda61367f0b30dc92f2f |
Hashes for async_pyserial-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b91b94773ff32444beffdbcc321d242ce77f84345512d666dec9d238aa122db |
|
MD5 | 7dc48d9edb6786ebd643c867cdcb17d2 |
|
BLAKE2b-256 | 54625d896b95b419703d38d0c22de0074bded5a361ba76cec8a0047c54f39dd7 |
Hashes for async_pyserial-0.1.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cea87a927b1cd4af384b16a036e0e670d3ac31c5ed4291037624a1044b022eaa |
|
MD5 | 61a6e92eb50ec7af540d19a395283312 |
|
BLAKE2b-256 | 83de1f448881803150524baa06e4d43fb0cf28dd65c5ea21040a85e94ee37a78 |
Hashes for async_pyserial-0.1.2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b37470d4733ea8351d7524ff6ecff422b87d5938829b3fdc8fc08be89d4be6eb |
|
MD5 | d791b950aa2f522051385e43e1eda28a |
|
BLAKE2b-256 | a959d5e93c821290f866a0cae6dbec6002cc5038a88a1af3e75a21c2981a1278 |
Hashes for async_pyserial-0.1.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a877733b3051ebc4105c6cb967fd8b2768965aecfd8a39ecfbf076a8a790c03a |
|
MD5 | 52a08172f3e76e8d91452d7da092170a |
|
BLAKE2b-256 | 06958d6e3e9ed8de7699a1a2dfa631fe7a895b45d57e8d4d58009243ef7b1c20 |
Hashes for async_pyserial-0.1.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68287f9db971a5e4d38c9d5b3a1fd5ecc2dbe64fa490c01a734c52f19fa26e74 |
|
MD5 | 4ae746d5618e5715ca14def3f0db1423 |
|
BLAKE2b-256 | 0923c0be005dd05bf46f5174ba0857dc334f9fb116d2f8a6d22e2349f64c5c39 |
Hashes for async_pyserial-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4129188948ce6aba62ee7dd456e03355a7f800c6dabc414788bca9ee551ad173 |
|
MD5 | c03e9399dfca54de03793b9621041125 |
|
BLAKE2b-256 | 5f86050248331430d20583f86b456c653213c903f29bf0003e463322cf483e32 |
Hashes for async_pyserial-0.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4114d926fe601fa0c8a0843b7b69bb5835703554b9812095b29d6bfeee13b1c0 |
|
MD5 | 6f4a49c35a7dd7119a80bc266267410d |
|
BLAKE2b-256 | 3f6ed3946178e6b9b33623561033e551f9467f65ddb9612906de7514c8fe1129 |
Hashes for async_pyserial-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f418a96f8a12f88d168d2d325a0b2a3038cdca3a8c057dc5c1aafb517ff7d849 |
|
MD5 | 851f4b7736d391d0141f3580c7378ace |
|
BLAKE2b-256 | b5839d9b4a1582c4b86796a432bbed5cd90bebb82fcbdac0f9b440967d90c5fd |
Hashes for async_pyserial-0.1.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e50e1d1b3141201b5d36640d1ead46d54a81b86e3efa237a8f287d5443d64e40 |
|
MD5 | 2ee23d94ff8b433187b5e94f0fcb0b53 |
|
BLAKE2b-256 | 89cfaeecaf843754ef2a5571ddba9250fc412551ca2be1f2d11801e01b6b9566 |
Hashes for async_pyserial-0.1.2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ac0ff39a9c2c224c1efdc94f9aba059633fcb2597d19846d45e1019ea7f282 |
|
MD5 | 93fa4eaae38452ae52fb0e4f03c832ac |
|
BLAKE2b-256 | cb7a87a23c7422891e0c4c0cdaef752e5537b57144e254b1e8428ed0b1bb11c7 |
Hashes for async_pyserial-0.1.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a68d25d97e9d59ee5216da9b3825f068fe53897658e2f863135247b67eb68e2b |
|
MD5 | f32a46f4f6022eb02c75a2be28656057 |
|
BLAKE2b-256 | c782e03528c3ec6a93b88c6f0bd0c70753eefbebc3cf8c0108231a14fde963d3 |
Hashes for async_pyserial-0.1.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb4924472d6dd20691317ee81917c548d0299c8794d3c6c46e7df3e75c5de9f2 |
|
MD5 | e2a3f7ed8edc4772666f15e37a89dfec |
|
BLAKE2b-256 | 8e8f0490874c27597e054131ecc6926a57a4e43085c98ec9f3dc358da0d68498 |
Hashes for async_pyserial-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26c038d6928f9860b7efdd9687279c7e4a5444ddfe29ffc735e57f06dc2b3dab |
|
MD5 | e919fcb553b0eb03fe554fc86420ee50 |
|
BLAKE2b-256 | d3610c52b4086f0a98b61660b6bc14bc075be8e648a7a84a9f43758831e19941 |
Hashes for async_pyserial-0.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6fde3237f36fc6bd587060df564eb501e2878d7fa311189a2310f5c746dd868 |
|
MD5 | ca04b63039959822574b1174785febb2 |
|
BLAKE2b-256 | 16bbef8e3e704b44673482cd8292627705f8ec75c373398702839bd55f25b44f |
Hashes for async_pyserial-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc676e1356845e898a5fa01b1fc9a7c4f3229c9a38e3db7de818cb995d0ebeb5 |
|
MD5 | 77e0851276ce5ea300bd8382ff264a36 |
|
BLAKE2b-256 | 7c91a061c14a23f4af4991f4b9cc470ecb35d63e92ff46a1377b8f3098385a9d |
Hashes for async_pyserial-0.1.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d91cee4d843b5fdcaf4d9b533deb8450a6f332567a14fa9b2179beac119c5ee |
|
MD5 | 88ddc38e81a0795f161c8b98944a84bf |
|
BLAKE2b-256 | db546baa99283d35171075c6eb630b9d1d1257ad7b9e1fdfbeaffb3f62589047 |
Hashes for async_pyserial-0.1.2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86fda0f2c86dfb93971359654d152f9323355716bb08c3d504e2a84a4a8c309c |
|
MD5 | 24ca2f2f02020ae1685cc570792ceceb |
|
BLAKE2b-256 | 231dff9799ed692fbe271c3659232d6afad0e83f952273ef9c8ccd77651a020e |
Hashes for async_pyserial-0.1.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 850bc504ad32872074a16fa88f13bcc9c041e6f4311eee2702d540968361f97e |
|
MD5 | 88aa7f7d71c379c0c82e3c65e4ede895 |
|
BLAKE2b-256 | 7f8fe0574cc0cc1873563f74b3124040683d28a96a6b50604736917db0ca4b0c |
Hashes for async_pyserial-0.1.2-cp39-cp39-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc09c37556be0f4e1ee858576b431bf044738b49efbd22b4da142ed0c0d873d8 |
|
MD5 | b2338a09f0897c6737d5d0806789517d |
|
BLAKE2b-256 | a1a8fa4dffea98498560b2d983a1103379746694546951a9c605a913a817974b |
Hashes for async_pyserial-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce704188ef065b4a0425e6ebb5ffd74abf4d88d05fcfc2eff521c15224c3df3 |
|
MD5 | a1ae6c391f0cee3efea44b6a2e227a8e |
|
BLAKE2b-256 | 0b423f643eba3960bc17287093be36a74b88771a9e869b9c553ba95070225f6d |
Hashes for async_pyserial-0.1.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef0ceed0ef7cd20313b6d3212656c8c59c7a6fb868e71fee157981be82f3ba2f |
|
MD5 | 4edfa7e6622f965312ce6c43c7531f45 |
|
BLAKE2b-256 | ed78ed9e332989ad60cff7cd876019ccdca5922deb29e4141f7a01a841f32ac2 |
Hashes for async_pyserial-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25108529fd6a29a4afcb29bedadeb05caec28e8a4d81ce09fc292b1836d67e89 |
|
MD5 | 06fc70a30a7edc97052c17076ce06170 |
|
BLAKE2b-256 | 23c2a84e7028ad5fed8ab49bd7d9a8dc056394f9eaf4c6b6de025600fba479de |
Hashes for async_pyserial-0.1.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1deac46b35b4c4aef62a9d7fa9ed5b5684db6d1cbdd1b3f72567a245221598bc |
|
MD5 | 389cb9c3ec9af752ece1e0e5e98155a3 |
|
BLAKE2b-256 | 51dcbde135b85d444c2b3d73c2543ce3d289498c8590167c793ad7afa5a44672 |
Hashes for async_pyserial-0.1.2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d5b4340fcdc7e811feed6d63ddcb8b046479778801541cc3a0e401f524acfaa |
|
MD5 | 45814a657f24d45198f0fbace6ce2009 |
|
BLAKE2b-256 | 345ee7a289f3e6004937a3c0411764b70185621f13ccdb0266c741abac7ae086 |
Hashes for async_pyserial-0.1.2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc30774c87268a655b74bf145fdaf53e932941fa8701c3c198eac88ea1604c36 |
|
MD5 | 21d464c5193071f18bb3bfbe45cb1bfc |
|
BLAKE2b-256 | 4c54728d74aabbd8f7477ae1ecfc651af1b7688ac982131fc7ad8c40aee9cd75 |
Hashes for async_pyserial-0.1.2-cp38-cp38-musllinux_1_2_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1e41c18ec1dec4952ebdf23f90ad699d3d00c88d4709641b3bcaf30381145c1 |
|
MD5 | 7e20ef56ad719cc06843b1ee759bfdd2 |
|
BLAKE2b-256 | d1928fae687b9de77bf9d8d1e9e5479987f9e81924f43be579de9134a520971e |
Hashes for async_pyserial-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d127c847fda9b9773c643784eba6334b3d70a30bf649a3aabdbbb1746786e903 |
|
MD5 | fbc63b5c7f33d83854e434a7c6adc72e |
|
BLAKE2b-256 | 80218d93b2ea92c880d814a87f59c2661281a6dbf3a4bfa179e419cf01911166 |
Hashes for async_pyserial-0.1.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d779b707129f7eb07f654256a60d562c84f29876e70758b99b066e77ad0e8b9 |
|
MD5 | 64ea804b6e68a3abe7e5de4836ffc3b0 |
|
BLAKE2b-256 | a4f523fbcd645940c91b8e44aba368406c14bebf461e034d85c60db225774971 |
Hashes for async_pyserial-0.1.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c251e1657c280421e4f3efd28d422fdf977ed8aa3ffd1a76d2de043c9da26a93 |
|
MD5 | c011b6a4128c100199d5737b588b2ede |
|
BLAKE2b-256 | bb7be1b8829c014732633133525e201b5a83de1872c9634740a1f0ca688767ea |