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.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

lptp-1.0.0-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file lptp-1.0.0.tar.gz.

File metadata

  • Download URL: lptp-1.0.0.tar.gz
  • Upload date:
  • Size: 3.3 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.0.tar.gz
Algorithm Hash digest
SHA256 7eaade30e9ef83965b6f56b9cd44370e57a9b96dd67ca0e5828ca82bbbb6db34
MD5 a034991effab6e74ae9a12524bd351b2
BLAKE2b-256 d454b0db8fec8ca338c2e065dd9ca3b0e8ae6cb1b27f2e71f03b0a347aecafee

See more details on using hashes here.

File details

Details for the file lptp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lptp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dd22e4477e7584f2b103b194831225299e88b683b8cd7eca83358a861fae151
MD5 c101cb4ecb60d97b472e6de7f6759fda
BLAKE2b-256 165b98b00a9ce6210b58b05b00b0effe3a65f10642c3f044be341a22bf0b22be

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