Skip to main content

The Python Telepact library

Project description

Telepact

Installation

pip install telepact

Usage

API:

[
    {
        "fn.greet": {
            "subject": "string"
        },
        "->": {
            "Ok_": {
                "message": "string"
            }
        }
    }
]

Server:

files = TelepactSchemaFiles('/directory/containing/api/files')
schema = TelepactSchema.from_file_json_map(files.filenames_to_json)

async def handler(request_message: 'Message') -> 'Message':
    function_name = request_message.body.keys[0]
    arguments = request_message.body[function_name]

    if function_name == 'fn.greet':
        subject = arguments['subject']
        return Message({}, {'Ok_': {'message': f'Hello {subject}!'}})

    raise Exception('Function not found')

options = Server.Options()
server = Server(schema, handler, options)

# Wire up request/response bytes from your transport of choice
response_bytes = server.process(request_bytes)

Client:

async def adapter(m: Message, s: Serializer) -> Message:
    request_bytes = s.serialize(m)

    # Wire up request/response bytes to your transport of choice

    return s.deserialize(response_bytes)

options = Client.Options()
client = Client(adapter, options)

For more concrete usage examples, see the tests.

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

telepact-1.0.0a127.tar.gz (44.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

telepact-1.0.0a127-py3-none-any.whl (151.7 kB view details)

Uploaded Python 3

File details

Details for the file telepact-1.0.0a127.tar.gz.

File metadata

  • Download URL: telepact-1.0.0a127.tar.gz
  • Upload date:
  • Size: 44.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for telepact-1.0.0a127.tar.gz
Algorithm Hash digest
SHA256 d59d958aaf8148f4fee9658b47bbc0abd94618c37683d3451709466f81f1d8cb
MD5 c23b36f611f692c20ba755f5682b3600
BLAKE2b-256 8139d353dbbaa8d89d2d35ad34067a339495ba24cef584e4fe9de66c39f77bab

See more details on using hashes here.

File details

Details for the file telepact-1.0.0a127-py3-none-any.whl.

File metadata

  • Download URL: telepact-1.0.0a127-py3-none-any.whl
  • Upload date:
  • Size: 151.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for telepact-1.0.0a127-py3-none-any.whl
Algorithm Hash digest
SHA256 73dbf8ed7edc31ef26bd3250ad6e8daa5cd6f213461af6e44c30a1ac2ba51532
MD5 12be9a475d0694e141a3fee40cf76937
BLAKE2b-256 b5cf64e346460c9e52b499cfac4e9acea31489a44561f807a1cd3c8de5021c67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page