async-compatible libreadline wrapper
Project description
aioreadline
Python has a builtin readline module. However, the builtin module is difficult to use in async Python code. This module provides an interface around the async-compatible functions of libreadline using a ctypes wrapper.
Example
import asyncio, atexit
async def _main():
while True:
line = await aiorl.getLine()
if line is None or line == b"quit":
aiorl.stop()
loop.stop()
break
elif len(line) > 0:
aiorl.add_history(line)
print(line)
loop = asyncio.get_event_loop()
loop.create_task(_main())
aiorl = AIOReadline(prompt="> ", loop=loop, history_file=".aioreadline_history")
atexit.register(lambda: aiorl.stop())
try:
loop.run_forever()
except KeyboardInterrupt:
loop.stop()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aioreadline-2024.1.25.tar.gz
(3.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aioreadline-2024.1.25.tar.gz.
File metadata
- Download URL: aioreadline-2024.1.25.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fd1b6c9c682f855a1ef6ab2c2457822ff233161029c5e7ef54478ca895a6b37
|
|
| MD5 |
fddb6488d37fd85310d4f60db89b316c
|
|
| BLAKE2b-256 |
e07514fdf4824de264202a0016755d6ef36b84a3f2e1ee0eec3713a8aae82083
|
File details
Details for the file aioreadline-2024.1.25-py3-none-any.whl.
File metadata
- Download URL: aioreadline-2024.1.25-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
493d1a969978d41f578d9dea2204629a12c3634675db002e0776c675214e5b74
|
|
| MD5 |
0adbee608f41bff31ee0931fe2537b5c
|
|
| BLAKE2b-256 |
8ed11e7f4231f6ce586933e3655dca32dc92ba526d0ff976a0db8546726b6fd7
|