Skip to main content

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


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)

Uploaded Source

Built Distribution

aioreadline-2024.1.25-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

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

Hashes for aioreadline-2024.1.25.tar.gz
Algorithm Hash digest
SHA256 1fd1b6c9c682f855a1ef6ab2c2457822ff233161029c5e7ef54478ca895a6b37
MD5 fddb6488d37fd85310d4f60db89b316c
BLAKE2b-256 e07514fdf4824de264202a0016755d6ef36b84a3f2e1ee0eec3713a8aae82083

See more details on using hashes here.

File details

Details for the file aioreadline-2024.1.25-py3-none-any.whl.

File metadata

File hashes

Hashes for aioreadline-2024.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 493d1a969978d41f578d9dea2204629a12c3634675db002e0776c675214e5b74
MD5 0adbee608f41bff31ee0931fe2537b5c
BLAKE2b-256 8ed11e7f4231f6ce586933e3655dca32dc92ba526d0ff976a0db8546726b6fd7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page