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.0b6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2240ca420bae066ae76ef92e79cbb03990909117cba6ed3503d9d5649195e62 |
|
MD5 | d3dc7569bacb6984293254f7ec4bacd8 |
|
BLAKE2b-256 | b5e5d2a52f66cb3927721bdc1945331dbcbd69e43acff8b065007e4799bb6419 |