跳转到主要内容

jbenet的multiaddr的Python实现

项目描述

py-multiaddr

https://img.shields.io/pypi/v/multiaddr.svg https://api.travis-ci.com/multiformats/py-multiaddr.svg?branch=master https://codecov.io/github/multiformats/py-multiaddr/coverage.svg?branch=master Documentation Status

multiaddr的Python实现

用法

简单

from multiaddr import Multiaddr

# construct from a string
m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")

# construct from bytes
m2 = Multiaddr(bytes_addr=m1.to_bytes())

assert str(m1) == "/ip4/127.0.0.1/udp/1234"
assert str(m1) == str(m2)
assert m1.to_bytes() == m2.to_bytes()
assert m1 == m2
assert m2 == m1
assert not (m1 != m2)
assert not (m2 != m1)

协议

from multiaddr import Multiaddr

m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")

# get the multiaddr protocol description objects
m1.protocols()
# [Protocol(code=4, name='ip4', size=32), Protocol(code=17, name='udp', size=16)]

封装/解封装

from multiaddr import Multiaddr

m1 = Multiaddr("/ip4/127.0.0.1/udp/1234")
m1.encapsulate(Multiaddr("/sctp/5678"))
# <Multiaddr /ip4/127.0.0.1/udp/1234/sctp/5678>
m1.decapsulate(Multiaddr("/udp"))
# <Multiaddr /ip4/127.0.0.1>

隧道

Multiaddr允许非常优雅地表达隧道。

printer = Multiaddr("/ip4/192.168.0.13/tcp/80")
proxy = Multiaddr("/ip4/10.20.30.40/tcp/443")
printerOverProxy = proxy.encapsulate(printer)
print(printerOverProxy)
# /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80

proxyAgain = printerOverProxy.decapsulate(printer)
print(proxyAgain)
# /ip4/10.20.30.40/tcp/443

维护者

原作者:@sbuss

贡献

欢迎贡献。请查看问题

查看我们的贡献文档,了解我们如何工作以及一般性的贡献信息。请注意,与multiformats相关的所有互动都受IPFS 行为准则的约束。

许可证

双许可

历史

0.0.7 (2019-5-8)

  • 包含子包

  • 重构 util 和 codec

0.0.5 (2019-5-7)

  • 去十六进制化字节

  • 新异常

  • 其他改进 [通过 alexander255 #42]

0.0.2 (2016-5-4)

  • 修复了在decapsulate中抛出IndexError的bug,而不是当原始multiaddr不包含要解封装的multiaddr时,返回Multiaddr的副本。[通过 fredthomsen #9]

  • 增加测试覆盖率 [通过 fredthomsen #9]

0.0.1 (2016-1-22)

  • 首次在PyPI上发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

multiaddr-0.0.9.tar.gz (24.7 kB 查看哈希值)

上传时间 源代码

构建分发

multiaddr-0.0.9-py2.py3-none-any.whl (16.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面