Skip to main content

Open RPC.

Project description

orpc

Open RPC.

Install

pip install orpc

Client Install

pip install orpc-client

Protocol

oRPC request

  • request_package = 4bytes-length-byteorder-big + msgstack.dumps(request_body)
  • request_body = {"event": "xxx", "args": [], "kwargs": {}}

oRPC response

  • response_package = 4bytes-length-byteorder-big + msgstack.dumps(response_body)
  • response_body = {"result": xx, "code": 0, "message": "xxx"}

simple orpc server usage

Configs

  • server.listen: 0.0.0.0
  • server.port 8392
  • server.backlog: 8192
  • server.buffer_size: 4096
  • server.rfile_buffer_size: buffer_size
  • server.wfile_buffer_size: buffer_size
  • max_request_size: 4194304
  • result_packer: zenutils.packutils.RcmPacker
  • authentication.enable
  • authentication.event
  • authentication.users
  • services
  • enable-debug-service

More configs see pypi package daemon-application.

  • services is a list of dict which item contains fields below:
    • class: str
    • args: list
    • kwargs: dict
  • authentication.users is a username and password dict.
  • The authentication.event service takes _protocol_instance as a keyword parameter.
  • Set _protocol_instance.authenticated flag to True if login success.
  • The authentication.event service's password parameter must be given in hash format, e.g. {SSM3}tcvAvgJqVjqC661OmZewsweDma4AOVaXruOtnCFqZrJoTllTYlNvcw==, a salted sm3 hash.

Command Help

test@testdeMacBook-Pro orpc % orpc --help
Usage: orpc [OPTIONS] COMMAND [ARGS]...

Options:
  --logfmt TEXT
  --logfile TEXT
  --loglevel TEXT
  --pidfile TEXT          pidfile file path.
  --workspace TEXT        Set running folder
  --daemon / --no-daemon  Run application in background or in foreground.
  -c, --config TEXT       Config file path. Application will search config
                          file if this option is missing. Use sub-command
                          show-config-fileapaths to get the searching tactics.
  --help                  Show this message and exit.

Commands:
  restart                Restart Daemon application.
  show-config-filepaths  Print out the config searching paths.
  show-configs           Print out the final config items.
  start                  Start daemon application.
  stop                   Stop daemon application.

Releases

v0.1.0

  • First release.

v0.1.2

  • Add oRPC connection auto login support.

v0.1.3

  • Add auto_reconnect support for orpc-client.

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

orpc-0.1.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

orpc-0.1.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file orpc-0.1.3.tar.gz.

File metadata

  • Download URL: orpc-0.1.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for orpc-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2517ca72d925979c65588851996ad7a890ac88628f1bc7ab659fe31c002737eb
MD5 9d76549e9f084f9dc24c74bc1f6261d7
BLAKE2b-256 da85181e7d12b4b46214386f57c82ea34bb3c7099d9e939f47d0def5af9872f4

See more details on using hashes here.

File details

Details for the file orpc-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: orpc-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for orpc-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 918437c48df8d0d4f9523b981e580e1d3a3f5d669311a5db53349a3b98c6ba53
MD5 13639456fe1c71a74dde63bbb85ef284
BLAKE2b-256 ef908b95cd5963c0f9345c4e1df17a72c663bcfa27c05e0d9b276a7ee7ce8360

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