Plugin package
Project description
This package contains the runtime for the Polywrap plugin system.
Quickstart
Imports
>>> from typing import Any, Dict, List, Union, Optional, cast >>> from polywrap_manifest import AnyWrapManifest >>> from polywrap_plugin import PluginModule >>> from polywrap_core import InvokerClient, Uri
Define a plugin module
>>> class GreetingModule(PluginModule[None]): ... def __init__(self, config: None): ... super().__init__(config) ... ... def greeting(self, args: Dict[str, Any], client: InvokerClient, env: Optional[Any] = None): ... return f"Greetings from: {args['name']}"
Create a plugin wrapper
>>> greeting_module = GreetingModule(None) >>> manifest = cast(AnyWrapManifest, NotImplemented) >>> wrapper = PluginWrapper(greeting_module, manifest)
Invocation
>>> args = { ... "name": "Joe" ... } >>> result = wrapper.invoke( ... uri=Uri.from_str("ens/greeting.eth"), ... method="greeting", ... args=args, ... client=cast(InvokerClient, NotImplemented), ... ) >>> assert result.result == "Greetings from: Joe"
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
Close
Hashes for polywrap_plugin-0.1.0b5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80df16e9a0885bcbf463db4d6ff84fd0fde3791397d118038740963414cbab8a |
|
MD5 | 306404f9e10e2ab391ed3a8775bad766 |
|
BLAKE2b-256 | eae3a8516d48c225b9c97d7a17f78e84bc99a6874b049ef1002a4d48a38235c5 |