Name | lptp JSON |
Version |
1.0.2
JSON |
| download |
home_page | https://github.com/Zoom-Developer/LPTP |
Summary | Данный протокол является протоколом RPC вида и служит для вызова процедур на удалённом сервере. Проект является исключительно учебным и не рекомендуется для реального использования. |
upload_time | 2024-05-19 19:26:46 |
maintainer | None |
docs_url | None |
author | zoomdev |
requires_python | >=3.10 |
license | None |
keywords |
rpc
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Lite Procedure Transfer Protocol (LPTP)
*Данный протокол является протоколом RPC вида и служит для вызова процедур на удалённом сервере. Проект является исключительно учебным и не рекомендуется для реального использования.*
## Установка
`pip install lptp`
## Пример использования
### Клиент
```python
import asyncio
from lptp.client import LPTPClient
from lptp.types import AuthType
from lptp_procedures import ProcedureManager
async def main():
async with ProcedureManager(LPTPClient(
"127.0.0.1",
auth_type=AuthType.Key,
key="someKey"
)) as proc:
print(await proc.reverse_text("Привет Пацаны"))
asyncio.run(main())
```
### Сервер
```python
import logging
from lptp.server import LPTPServer, Manager
from lptp.types import AuthType
logging.basicConfig(level=logging.DEBUG)
server = LPTPServer(
"127.0.0.1",
auth_type = AuthType.Key,
key = "someKey"
)
manager = Manager()
@manager.procedure
async def reverse_text(text: str) -> str:
return text[::-1]
@manager.procedure
async def sum_numbers(a: int, b: int) -> int:
return a + b
@manager.sub_procedure(sum_numbers, 1)
async def sum_numbers_list(nums: list) -> int:
return sum(nums)
server.add_manager(manager)
server.generate_proc_file()
server.run_forever()
```
## Важно
*При запуске серверсайда необходимо вызвать метод generate_proc_file(), который создаст в текущей директории файл lptp_procedures.py с описанием всех процедур сервера. Работа клиентской стороны невозможна без этого файла.*
Raw data
{
"_id": null,
"home_page": "https://github.com/Zoom-Developer/LPTP",
"name": "lptp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "rpc",
"author": "zoomdev",
"author_email": "zoomdeveloper@yandex.ru",
"download_url": "https://files.pythonhosted.org/packages/40/aa/1a007c26a8e7438455e7a06fe275fc9bafd761491b9b15e72b4c81a33fa6/lptp-1.0.2.tar.gz",
"platform": null,
"description": "# Lite Procedure Transfer Protocol (LPTP)\r\n*\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c RPC \u0432\u0438\u0434\u0430 \u0438 \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041f\u0440\u043e\u0435\u043a\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0447\u0435\u0431\u043d\u044b\u043c \u0438 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.*\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n`pip install lptp`\r\n\r\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\r\n\r\n### \u041a\u043b\u0438\u0435\u043d\u0442\r\n```python\r\nimport asyncio\r\nfrom lptp.client import LPTPClient\r\nfrom lptp.types import AuthType\r\nfrom lptp_procedures import ProcedureManager\r\n\r\nasync def main():\r\n async with ProcedureManager(LPTPClient(\r\n \"127.0.0.1\",\r\n auth_type=AuthType.Key,\r\n key=\"someKey\"\r\n )) as proc:\r\n\r\n print(await proc.reverse_text(\"\u041f\u0440\u0438\u0432\u0435\u0442 \u041f\u0430\u0446\u0430\u043d\u044b\"))\r\n\r\nasyncio.run(main())\r\n```\r\n\r\n### \u0421\u0435\u0440\u0432\u0435\u0440\r\n```python\r\nimport logging\r\nfrom lptp.server import LPTPServer, Manager\r\nfrom lptp.types import AuthType\r\n\r\nlogging.basicConfig(level=logging.DEBUG)\r\n\r\nserver = LPTPServer(\r\n \"127.0.0.1\",\r\n auth_type = AuthType.Key,\r\n key = \"someKey\"\r\n)\r\n\r\nmanager = Manager()\r\n\r\n@manager.procedure\r\nasync def reverse_text(text: str) -> str:\r\n return text[::-1]\r\n\r\n@manager.procedure\r\nasync def sum_numbers(a: int, b: int) -> int:\r\n return a + b\r\n\r\n@manager.sub_procedure(sum_numbers, 1)\r\nasync def sum_numbers_list(nums: list) -> int:\r\n return sum(nums)\r\n\r\nserver.add_manager(manager)\r\nserver.generate_proc_file()\r\nserver.run_forever()\r\n```\r\n\r\n## \u0412\u0430\u0436\u043d\u043e\r\n*\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0441\u0430\u0439\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 generate_proc_file(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0444\u0430\u0439\u043b lptp_procedures.py \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.*\r\n",
"bugtrack_url": null,
"license": null,
"summary": "\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c RPC \u0432\u0438\u0434\u0430 \u0438 \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041f\u0440\u043e\u0435\u043a\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0447\u0435\u0431\u043d\u044b\u043c \u0438 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/Zoom-Developer/LPTP"
},
"split_keywords": [
"rpc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6408bc2ad93bb25dd168ac159b3eb178745cbe01d8364d98adb9ce7dddf91fef",
"md5": "ac769f48c853873e19ab6b282288be2c",
"sha256": "cd0c9cbb447b71c467517ec791bb5dd1e4296801c857a0da2489457e5e75bb96"
},
"downloads": -1,
"filename": "lptp-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac769f48c853873e19ab6b282288be2c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 20309,
"upload_time": "2024-05-19T19:26:44",
"upload_time_iso_8601": "2024-05-19T19:26:44.529132Z",
"url": "https://files.pythonhosted.org/packages/64/08/bc2ad93bb25dd168ac159b3eb178745cbe01d8364d98adb9ce7dddf91fef/lptp-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40aa1a007c26a8e7438455e7a06fe275fc9bafd761491b9b15e72b4c81a33fa6",
"md5": "b847e42eb5348cc570d33d6d48676ccf",
"sha256": "ef234348bd6a3c13eac556cbd1b98b73e76302a3f2a6e80be38f3c0c3ff1bac7"
},
"downloads": -1,
"filename": "lptp-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "b847e42eb5348cc570d33d6d48676ccf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 13592,
"upload_time": "2024-05-19T19:26:46",
"upload_time_iso_8601": "2024-05-19T19:26:46.175592Z",
"url": "https://files.pythonhosted.org/packages/40/aa/1a007c26a8e7438455e7a06fe275fc9bafd761491b9b15e72b4c81a33fa6/lptp-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-19 19:26:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Zoom-Developer",
"github_project": "LPTP",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "lptp"
}