Manhole server for the aio asyncio framework
Project description
Manhole server for the aio asyncio framework
Build status
Installation
Requires python >= 3.4
Install with:
pip install aio.manhole.server
Quick start - Manhole server
Save the following into a file “manhole.conf”
[server/my_manhole_server]
factory = aio.manhole.server.factory
port = 7373
Run with the aio run command
aio run -c manhole.conf
You should now be able to telnet into the running server on port 7373
aio.manhole.server usage
Configuration
Lets create a manhole configuration
>>> config = """ ... [aio] ... log_level = ERROR ... ... [server/server_name] ... factory = aio.manhole.server.factory ... port = 7373 ... ... """
>>> import sys >>> import io >>> import aiomanhole
>>> import aio.testing >>> import aio.app >>> from aio.app.runner import runner
When we run the manhole server, its accessible as “server_name” from aio.app.servers
>>> @aio.testing.run_forever(sleep=1) ... def run_manhole_server(config): ... yield from runner(['run'], config_string=config) ... ... def call_manhole(): ... print(aio.app.servers["server_name"]) ... aio.app.clear() ... ... return call_manhole
>>> run_manhole_server(config) <Server sockets=[<socket.socket ...laddr=('0.0.0.0', 7373)...>
Lets try calling the manhole server
>>> import asyncio >>> import telnetlib3
>>> @aio.testing.run_forever(sleep=1) ... def run_manhole_server(config): ... yield from runner(['run'], config_string=config) ... ... class TestTelnetClient(telnetlib3.TelnetClient): ... ... def data_received(self, data): ... print(data) ... ... def call_manhole(): ... loop = asyncio.get_event_loop() ... transport, protocol = yield from loop.create_connection( ... TestTelnetClient, "127.0.0.1", 7373) ... aio.app.clear() ... ... return call_manhole
>>> run_manhole_server(config) b'hello...\n>>> '
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
File details
Details for the file aio.manhole.server-0.0.2.tar.gz
.
File metadata
- Download URL: aio.manhole.server-0.0.2.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c85edc251a759441c93ba23a4b38dc4b96e954991d783ef2b06c36c517c35a3 |
|
MD5 | a150a965507597ca53fede997120d9cf |
|
BLAKE2b-256 | bf9197150fee8d29b027dac8abf5f6f97af7cf6c514801ff0388b0c569420a4e |