# 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
```shell
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
```shell
> <class 'dict'>
> {'say': 'Happy everyday!!!'}
```
### Advanced Usage
1. debug mode
debug mode will print and log all request and response data.
```shell
# debug server
> python test_server.py --debug 1
```
```python
# debug client
with Client("127.0.0.1",18100,debug=True) as c:
...
```
2. server cli setting
```shell
> python test_server.py --host "127.0.0.1" --port 3000 --debug 1
```
### Refs
[Thrift](https://thrift.apache.org/)
```
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hbh112233abc/py-transmit",
"name": "transmit",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "thrift,transmit,json",
"author": "hbh112233abc",
"author_email": "hbh112233abc@163.com",
"download_url": "https://files.pythonhosted.org/packages/66/be/6c1984e5294cf93432f2f646d4747469419df608b31450443fb7c806ab89/transmit-0.3.0.tar.gz",
"platform": null,
"description": "# Transmit Server & Client\n\n## Install\n\n```\npip install transmit\n```\n\n## Usage\n\n### Server\n\n```\nfrom transmit.server import Server\n\nclass TestServer(Server):\n def __init__(self,port=18100):\n super().__init__(port)\n\n def test_function(self,msg):\n print('Testing:',msg)\n return {\"say\":\"Happy everyday!!!\"}\n\nif __name__ == '__main__':\n ts = TestServer()\n ts.run()\n\n```\n\n> Result\n\n```shell\nSTART SERVER 0.0.0.0:18100\n\n```\n\n#### Success Response\n\n```\n{\n \"code\":1,\n \"msg\":\"success\",\n \"data\":\"handle result data. AnyType\"\n}\n```\n\n#### Error Response\n\n```\n{\n \"code\":0,\n \"msg\":\"error message\",\n \"data\":null\n}\n```\n\n### Client\n\n```\nfrom transmit.client import Client\n\nwith Client(\"127.0.0.1\",18100) as c:\n result = c.test_function({\"msg\":\"hello world\"})\n print(type(result))\n print(result)\n\n```\n\n> Result\n\n```shell\n> <class 'dict'>\n> {'say': 'Happy everyday!!!'}\n```\n\n### Advanced Usage\n\n1. debug mode\n\ndebug mode will print and log all request and response data.\n\n```shell\n# debug server\n> python test_server.py --debug 1\n```\n\n```python\n# debug client\nwith Client(\"127.0.0.1\",18100,debug=True) as c:\n ...\n```\n\n2. server cli setting\n\n```shell\n> python test_server.py --host \"127.0.0.1\" --port 3000 --debug 1\n```\n\n### Refs\n\n[Thrift](https://thrift.apache.org/)\n\n```\n\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Transmit Server & Client use thrift",
"version": "0.3.0",
"project_urls": {
"Documentation": "https://github.com/hbh112233abc/py-transmit",
"Homepage": "https://github.com/hbh112233abc/py-transmit",
"Repository": "https://github.com/hbh112233abc/py-transmit"
},
"split_keywords": [
"thrift",
"transmit",
"json"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0342143589f497613759f0a6ac8134a8acd8cb3be45c7ecaee1a8db3722b795c",
"md5": "44689fa0129d627ee834701353c31320",
"sha256": "a95cd9cc1dcca2335a4e5d07bdffd3c61a797fae3cf999f78b48988a48dc7a30"
},
"downloads": -1,
"filename": "transmit-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "44689fa0129d627ee834701353c31320",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 9045,
"upload_time": "2023-10-27T07:30:12",
"upload_time_iso_8601": "2023-10-27T07:30:12.750251Z",
"url": "https://files.pythonhosted.org/packages/03/42/143589f497613759f0a6ac8134a8acd8cb3be45c7ecaee1a8db3722b795c/transmit-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "66be6c1984e5294cf93432f2f646d4747469419df608b31450443fb7c806ab89",
"md5": "6c54ebafe5f6638f25adce2530428565",
"sha256": "ab7707e219d730d63be16d44d622a994c612c58f3453573531005825f2dd1951"
},
"downloads": -1,
"filename": "transmit-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "6c54ebafe5f6638f25adce2530428565",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 7425,
"upload_time": "2023-10-27T07:30:14",
"upload_time_iso_8601": "2023-10-27T07:30:14.519663Z",
"url": "https://files.pythonhosted.org/packages/66/be/6c1984e5294cf93432f2f646d4747469419df608b31450443fb7c806ab89/transmit-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-27 07:30:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hbh112233abc",
"github_project": "py-transmit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "transmit"
}