Asyncio-based Telnet library
Project description
Python Telnet Utility: asyncio-powered
The asyncio-telnet library designed for convenient interaction with Telnet devices in both synchronous and asynchronous modes, making the process straightforward and flexible in various usage scenarios.
- Support for Asynchrony and Synchrony: Harness the power of asyncio for efficient and non-blocking communication with Telnet servers. With this library, you have the option to choose between asynchronous and synchronous modes, depending on the requirements of your project.
- Ease of Use: The library provides a user-friendly interface for both synchronous and asynchronous cases, making it adaptable to different project needs.
- Telnet Protocol Handling: Transparently handles the intricacies of the Telnet protocol, allowing you to focus on the logic of your application.
- Flexible Integration: Easily integrate Telnet functionality into your Python applications with a simple API.
Installation
You can install the library using pip. Make sure you have Python 3.6 or later installed.
pip install asyncio-telnet
Usage
Example: Asynchronous Telnet Connection with Default Timeout
import asyncio
from asyncio_telnet import Telnet
async def main():
tn = Telnet()
await tn.open('example.com')
await tn.write(b'Vladimir\r\n')
response = await tn.read_until_eof()
await tn.close()
return response
if __name__ == '__main__':
result = asyncio.run(main())
print(result)
# Example of successful execution:
# b'\n***************** User Access Login ********************\r\n\r\nUser:'
Example: Synchronous Telnet Connection
from asyncio_telnet import Telnet
def main():
tn = Telnet(sync_mode=True)
tn.open('example.com')
response = tn.read_until_eof()
tn.close()
return response
if __name__ == '__main__':
result = main()
print(result)
# Example of successful execution:
# b'\n***************** User Access Login ********************\r\n\r\nUser:'
Example: Asynchronous Telnet Connection with Custom Timeout.
By default, the timeout is set to 30 seconds.
import asyncio
from asyncio_telnet import Telnet
async def main():
tn = Telnet(timeout=5)
try:
await tn.open('example.com')
response = await tn.read_until_eof()
await tn.close()
return response
except ValueError as e:
print(f"Example of a timeout occurrence: {e}")
if __name__ == '__main__':
asyncio.run(main())
# Example response:
# Example of a timeout occurrence: Timeout connecting to example.com:23
Example: Asynchronous Telnet Connection with Write Operation
import asyncio
from asyncio_telnet import Telnet
async def main():
tn = Telnet()
await tn.open('example.com')
await tn.write(b'Vladimir\r\n')
response = await tn.read_until_eof()
await tn.close()
return response
if __name__ == '__main__':
result = asyncio.run(main())
print(result)
# Example of successful execution:
# b'\n***************** User Access Login ********************\r\n\r\nUser:Vladimir\r\nPassword:'
Feel free to check the documentation and examples for more detailed information.
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
Built Distribution
File details
Details for the file asyncio-telnet-0.1.18.tar.gz
.
File metadata
- Download URL: asyncio-telnet-0.1.18.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f0d367f145fd22c9b60dd9b6e87619698fb97dec05eec5ea76fd132adbb0e9 |
|
MD5 | 5ea94537bf096628bd812ee433627b35 |
|
BLAKE2b-256 | e3090135cae40729b9656b225d102aeeb5898896adb2a9ac1b3befa566f26c8f |
File details
Details for the file asyncio_telnet-0.1.18-py3-none-any.whl
.
File metadata
- Download URL: asyncio_telnet-0.1.18-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d26d49547607db73da64ea51638ba49e3e2c3eb802a548a01bc4d24be38a3179 |
|
MD5 | a69e0586d32cda41d2daeb047f30aaaf |
|
BLAKE2b-256 | 12a37a9c012d9de7869a2736b839d9ed236bc702315d302845f4e8d6a49774be |