Making networking simple for teachers
Project description
Make it easy for learning groups to use simple networking in Python
Development: https://github.com/tjguk/networkzero
Tests: to run the tests, run tox. All tests are run on Travis (Linux & Apple) and Appveyor (Windows)
API
address below refers to an IP:Port string eg “192.0.2.5:4567”
Discovery
address = advertise(name, address=None)
address = discover(name, wait_for_s=FOREVER)
[(name, address), …] = discover_all()
[(name, address), …] = discover_group(group_name, separator=”/”)
Messaging
reply = send_message_to(address, message, wait_for_reply_s=FOREVER)
message = wait_for_message_from(address, [wait_for_s=FOREVER])
send_reply_to(address, reply)
send_news_to(address, news)
wait_for_news_from(address[, pattern=EVERYTHING][, wait_for_s=FOREVER])
Typical Usage
On computer (or process) A:
import networkzero as nw0
address = nw0.advertise("hello")
while True:
name = nw0.wait_for_message_from(address)
nw0.send_reply_to(address, "Hello, %s" % name)
On computer (or process) B and C and D…:
import networkzero as nw0
server = nw0.discover("hello")
reply = nw0.send_message_to(server, "World")
print(reply)
reply = nw0.send_message_to(server, "Tim")
print(reply)
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
Hashes for networkzero-1.0b1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e75228a687ff690d0e932e0c6c425b65cbb526ca0a73a29db27af4b185e7294 |
|
MD5 | e48362fcb28661952ce969d0d6f042da |
|
BLAKE2b-256 | f3d013da5ca617aea49f5e4296efbf02fb4717d602db587803bbe216fa41f88c |