Metadata-Version: 2.1
Name: ansar-connect
Version: 0.1.250
Summary: Tools and runtime for asynchronous programming
Author: Scott Woods
Author-email: Scott Woods <scott.18.ansar@gmail.com.com>
Project-URL: Documentation, https://ansar-connect-manual.s3.ap-southeast-2.amazonaws.com/0.1.1/index.html
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cffi>=1.16.0
Requires-Dist: PyNaCl>=1.5.0
Requires-Dist: ansar-create>=0.1.87

# ansar-connect

The **ansar-connect** library implements sophisticated asynchronous network messaging. It builds
on the features of the `ansar-encode <https://pypi.org/project/ansar-encode>`_
and `ansar-create <https://pypi.org/project/ansar-create>`_ libraries to integrate network
messaging into the asynchronous model of execution. The result of this approach is that sending
a message across a network is no different to sending a message between any two async objects.
There is also complete "portability" of messages - an application data object read from the disk
using **ansar.encode** can immediately be sent across a network, with zero additional effort.

This essential messaging capability is combined with the multi-process capabilities
of **ansar.create**, to deliver practical, distributed computing. Designs for software
solutions can now consider;

* multi-process compositions that run on a host,
* compositions of processes distributed across a LAN,
* and compositions where processes may be anywhere on the Internet.

Smaller projects will use this library to deliver multi-process solutions on a single host.
The library will arrange for all the network messaging that binds the processes together,
into a single operational unit.

The most ambitious projects will involve processes spread across the Internet, e.g. between
desktop PCs at different branches of an organization, or between head-office servers and mobile
personnel on laptops, or between those same servers and SBCs operating as weather stations. As
long as there is a reasonably up-to-date Python runtime (>=3.10) and Internet connectivity, this
library will arrange for full, asynchronous messaging between any 2 members of a composition.

## Features

- Implements full-duplex, network messaging over asynchronous sockets.
- Inherits the complete type-sophistication of **ansar.encode**.
- Seamlessly extends the async model of operation to span local and wide-area networks.
