Skip to main content

Transmit Server & Client use thrift

Project description

Transmit Server & Client

Install

pip install transmit

Usage

Server

from transmit.server import Server

class TestServer(Server):
    def __init__(self,port=18100):
        super().__init__(port)

    def test_function(self,msg):
        print('Testing:',msg)
        return {"say":"Happy everyday!!!"}

if __name__ == '__main__':
    ts = TestServer()
    ts.run()

Result

START SERVER 0.0.0.0:18100

Success Response

{
    "code":1,
    "msg":"success",
    "data":"handle result data. AnyType"
}

Error Response

{
    "code":0,
    "msg":"error message",
    "data":null
}

Client

from transmit.client import Client

with Client("127.0.0.1",18100) as c:
    result = c.test_function({"msg":"hello world"})
    print(type(result))
    print(result)

Result

> <class 'dict'>
> {'say': 'Happy everyday!!!'}

Advanced Usage

  1. debug mode

debug mode will print and log all request and response data.

# debug server
> python test_server.py --debug 1
# debug client
with Client("127.0.0.1",18100,debug=True) as c:
    ...
  1. server cli setting
> python test_server.py --host="127.0.0.1" --port=3000 --workers=3 --type=<process|thread> --debug=1
  1. docker health check
python -m transmit.health_check

Refs

Thrift thrift几种server模式的比较

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

transmit-0.5.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

transmit-0.5.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file transmit-0.5.1.tar.gz.

File metadata

  • Download URL: transmit-0.5.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for transmit-0.5.1.tar.gz
Algorithm Hash digest
SHA256 8c88d33bf851a1baf49c35d784df29f9cabee42b71facfc79f1f912d8177ff90
MD5 fe7005765216737f19b5d4fd9b2dab52
BLAKE2b-256 68fa928cc771f62b1b6acd60ddb8c2541d64713007e38a375d0992d95ecbd2a2

See more details on using hashes here.

File details

Details for the file transmit-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: transmit-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for transmit-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 562a35a5027f93e24e42837260ff1f9adb7dc1957d571ec07da6dfbc2d773b47
MD5 5ae4b4a83d606422550509eadb12c6b4
BLAKE2b-256 29ccc9648c2f61984d8236d8d5dacdbf2e9a39685a8ce560eacd495d9ae7500c

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