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.1b3.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

communica-0.2.1b3-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: communica-0.2.1b3.tar.gz
  • Upload date:
  • Size: 24.8 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.1b3.tar.gz
Algorithm Hash digest
SHA256 99640abcecc527971ee1b6a0d1339805dacc3092b54f7ceacc7f34f1819d1d3f
MD5 fc839e7ad9c0a910b35e02f71b1b1306
BLAKE2b-256 aee6bc31732e0be6e9057d3ded39d8129f8fc36558ae650ea87bd8e7b6e851bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: communica-0.2.1b3-py3-none-any.whl
  • Upload date:
  • Size: 27.3 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.1b3-py3-none-any.whl
Algorithm Hash digest
SHA256 2bb187daacbf58605204fc2896225357d73cddc852d4591fc5783f45d2062d9c
MD5 ef6f169ca91104635761bcf7daf57371
BLAKE2b-256 10a3cf353fe930ba02ee43b7bf4ee8ca59be2797d10b8cb0ddd0c026082a3e4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page