Skip to main content

Easy to use IPC library

Project description

Easy to use IPC library

This library is still in development process.
There will be added Pub/Sub entities and data validation in
serializers with pydantic and dataclass-factory libraries.

Stream connectors has no acknowledgements at the moment,
so messages on service restart will be lost
(they will be lost anyway on restarting side, but with acks loss can be less)

Plug-n-play IPC

Idea

Contains two main entities: Client and Server, which uses Connectors to create Connections.

In most cases, there are one server and few clients. After successful connect there is no difference between them, any side can make requests to other.

Currently available connectors:

Connector Description
LocalConnector Uses Named Pipes on Windows and Unix domain sockets on other systems, if available
TcpConnector Uses TCP/IP protocol, has ability to specify SSLContext
RmqConnector Uses RabbitMQ server, has caveats (documented in connector)

The most stable connector right now is RmqConnector. Other works too, but lose messages on every disconnect.

Extras

You can install additional dependencies for various features

pip install communica[extraname1, extraname2]

Extra name Feature
orjson Faster JSON library, recommended with CPython
rabbitmq RmqConnector, which use AMQP server for communication

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

communica-0.2.1b4.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

communica-0.2.1b4-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file communica-0.2.1b4.tar.gz.

File metadata

  • Download URL: communica-0.2.1b4.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.27.1 setuptools/60.5.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.10

File hashes

Hashes for communica-0.2.1b4.tar.gz
Algorithm Hash digest
SHA256 d029c7e73557406f4885a3f93eb961920d14ed9d0d71a57ac17b26644df4efee
MD5 9beec3e4e579b352f064a24b30a5e5e3
BLAKE2b-256 c99d773dc9bf6c29a3cf17fadbbf0db05688e5f217885a1dd4b574108c934fd0

See more details on using hashes here.

File details

Details for the file communica-0.2.1b4-py3-none-any.whl.

File metadata

  • Download URL: communica-0.2.1b4-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.27.1 setuptools/60.5.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.10

File hashes

Hashes for communica-0.2.1b4-py3-none-any.whl
Algorithm Hash digest
SHA256 2be89bda1188f43018da65e5473e0dc20a210f0dc7e0d77643fc3e6ff1ece561
MD5 2157ba6e560f6a0eb15182ae8fc0c460
BLAKE2b-256 e32ee71c27dc6d5a569acff8ec4ad3c8f98d83519d301ae38d2fdfe5d58524ee

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