Данный протокол является протоколом RPC вида и служит для вызова процедур на удалённом сервере. Проект является исключительно учебным и не рекомендуется для реального использования.
Project description
Lite Procedure Transfer Protocol (LPTP)
Данный протокол является протоколом RPC вида и служит для вызова процедур на удалённом сервере. Проект является исключительно учебным и не рекомендуется для реального использования.
Установка
pip install lptp
Пример использования
Клиент
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())
Сервер
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 с описанием всех процедур сервера. Работа клиентской стороны невозможна без этого файла.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lptp-1.0.2.tar.gz
.
File metadata
- Download URL: lptp-1.0.2.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef234348bd6a3c13eac556cbd1b98b73e76302a3f2a6e80be38f3c0c3ff1bac7 |
|
MD5 | b847e42eb5348cc570d33d6d48676ccf |
|
BLAKE2b-256 | 40aa1a007c26a8e7438455e7a06fe275fc9bafd761491b9b15e72b4c81a33fa6 |
File details
Details for the file lptp-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: lptp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd0c9cbb447b71c467517ec791bb5dd1e4296801c857a0da2489457e5e75bb96 |
|
MD5 | ac769f48c853873e19ab6b282288be2c |
|
BLAKE2b-256 | 6408bc2ad93bb25dd168ac159b3eb178745cbe01d8364d98adb9ce7dddf91fef |