基于模式的操作关系库
项目描述
sbolr - 基于模式的操作关系库
这个库提供了一个创建用于与charmed operators和Juju一起使用的关联端点库的基础。它试图使创建Pythonic的关联接口协议实现变得简单易懂,同时鼓励良好的模式,例如使用基于模式的接口协议验证、提供测试charms的辅助工具以及以干净的方式呈现关系问题。
示例
一个示例端点类及其使用可能如下
class RandomURLRequirer(sborl.relation.EndpointWrapper):
INTERFACE = "random-url"
ROLE = "requires"
SCHEMA = Path(__file__) / "schema.yaml"
LIMIT = 1
@property
def url(self):
if not self.is_ready():
return None
relation = self.relations[0]
return self.unwrap(relation)[relation.app]["url"]
class MyCharm(ops.charm.CharmBase):
def __init__(self, *args):
super().__init__(*args)
self.random_url = RandomURLRequirer(charm=self, endpoint="random-url-provider")
self.framework.observe(self.random_url.on.ready, self._log_url)
def _log_url(self, event):
log.info(f"Got random URL: {self.random_url.url}")
项目详情
关闭
sbolr-0.0.8.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89ad7da15424e70cfea366664942b5431096734664a6f8ddedffd78c8932738d |
|
MD5 | c1441a5b7b3fb463cc7be3d493cdf6b4 |
|
BLAKE2b-256 | ca932fe1ef81ef0b4245895ac3a6ffc9dc3685745f02a7576a4a68f40068c957 |