Skip to main content

A intuitive and cross-languige RCP lib for Python.

Project description

InteractionFree for Python

Gitpod ready-to-code

InteractionFree is a remote procedure call (RPC) protocol based on ZeroMQ. It allows the developers to build their own distributed and cross-languige program easily. The protocol is config-less and extremly easy to use. Currently, Msgpack is used for binary serialization. InteractionFree implementation is already available in various languages (including Scala, Javascript, Arduino). More infomation will be available soon.

  • InteractionFree specification: to be drafted.

Quick Start

Install

$ pip install interactionfreepy

Start the sever

from interactionfreepy import IFBroker

broker = IFBroker('tcp://*:port')
IFLoop.join()

replace port to any port number that is available.

IFLoop.join() is a utility function to prevent the program from finishing.

Start a worker

from interactionfreepy import IFWorker

class Target():
    def tick(self, message):
        return "tack %s" % message

worker = IFWorker('tcp://address:port', 'TargetService', Target())
IFLoop.join()

replace address and port to the server's net address and port.

Start a client

from interactionfreepy import IFWorker

client = IFWorker('tcp://address:port')
print(client.TargetService.tick('now'))

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

interactionfreepy-1.1.0.tar.gz (9.9 kB view details)

Uploaded Source

File details

Details for the file interactionfreepy-1.1.0.tar.gz.

File metadata

  • Download URL: interactionfreepy-1.1.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for interactionfreepy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1b34bfc84c3d44e8ee48c3f5b06d547d0091fd6681a5b331d78ce2c26705a191
MD5 1ae1d8c7721b2a4a6905ca64086e99b1
BLAKE2b-256 e17cdc1ebf679ac562b1b4c830a1a1bc66833c3624ac84d68616d8bbdc953452

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