Skip to main content

Callosum RPC Library

Project description

Callosum

An RPC Transport Library

It provides an asynchronous multi-channel order-preserving message and data streaming transport for upper RPC layers (e.g., Apache Thrift) by wrapping lower transport implementations (e.g., ZeroMQ).

It aims to follow the latest coding style and conventions in Python asyncio.

Corpus callosum is a bundle of neuron fibers that connects two cerebral hemispheres of a human brain.

Prerequisite

Python 3.8 or higher.

Features

  • RPC
    • Native timeout and cancellation support
    • Explicit server-to-client error propagation including stringified tracebacks
    • Order preserving based on user-defined keys while keeping executions asynchronous
    • Concurrency limits based on aiojobs
  • Streaming
    • Broadcast & shared pipelines
  • Optional client authentication and encrypted communication
    • Currently supported for only ZeroMQ with its CURVE library
  • Optional message compression using snappy
  • Replacible and combinable lower/upper layers (ZeroMQ/Redis + JSON/msgpack/Thrift)

Installation

To install the core:

$ pip install -U pip setuptools
$ pip install callosum

You may add extra dependencies like:

$ pip install 'callosum[zeromq,redis,thrift,snappy]'

Examples

Please check out the examples directory.

Development

Use the editable installation of Python setuptools.

$ pip install -U pip setuptools
$ pip install -U -e '.[dev,build,test,zeromq,redis,thrift,snappy]'

Changes

2019-12-06

  • First public release with a working RPC based on ZeroMQ DEALER/ROUTER sockets.

2018-05-02

  • Started the project.

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

callosum-0.9.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

callosum-0.9.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file callosum-0.9.0.tar.gz.

File metadata

  • Download URL: callosum-0.9.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for callosum-0.9.0.tar.gz
Algorithm Hash digest
SHA256 7e65b055fa33eba65f99d672f2b972f0f957a3755b036f1b4186b28e3d112a1a
MD5 55ff298d63c2b8a48ef4ff13d8c94f61
BLAKE2b-256 a8884f308b2d9d2be7d388c6a3bf0b171cf07abb24d9804b1645135a0486568b

See more details on using hashes here.

Provenance

File details

Details for the file callosum-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: callosum-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for callosum-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ce534895b8bd3cb1cb0246deb2d01ace123960b2db85153280a05307fa19aff
MD5 8e43e88d6fe6113df32cebecfbc0a8f6
BLAKE2b-256 230c1899c7586362d9254c9003208650c73716b216a8638be9b57ca9aca198c2

See more details on using hashes here.

Provenance

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