Skip to main content

Данный протокол является протоколом 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lptp-1.0.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

lptp-1.0.2-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

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

Hashes for lptp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 ef234348bd6a3c13eac556cbd1b98b73e76302a3f2a6e80be38f3c0c3ff1bac7
MD5 b847e42eb5348cc570d33d6d48676ccf
BLAKE2b-256 40aa1a007c26a8e7438455e7a06fe275fc9bafd761491b9b15e72b4c81a33fa6

See more details on using hashes here.

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

Hashes for lptp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd0c9cbb447b71c467517ec791bb5dd1e4296801c857a0da2489457e5e75bb96
MD5 ac769f48c853873e19ab6b282288be2c
BLAKE2b-256 6408bc2ad93bb25dd168ac159b3eb178745cbe01d8364d98adb9ce7dddf91fef

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