跳转到主要内容

Cython中的另一个bencode实现

项目描述

Cython中快速bencode实现,支持Python2和Python3。

PyPI License Codecov Coverage

安装

pip install bencoder.pyx

用法

from bencoder import bencode, bdecode, bdecode2

assert bencode("WWWWWW") == b'6:WWWWWW'
assert bencode(233) == b'i233e'

with open("debian-8.3.0-amd64-netinst.iso.torrent", "rb") as f:
    torrent = bdecode(f.read())
    print(torrent['announce'])

decoded, length = bdecode2(b'6:WWWWWWi233e')
assert decoded == b'WWWWWW'
assert length == 8

变更日志

版本 3.0.1

  • 添加对Python 3.11的支持

版本 3.0.0

  • 添加对Python 3.9和3.10的支持

  • 移除对Python 2的支持

  • 为musl和aarch64构建轮子

版本 2.0.1

  • 添加对Python 3.8的支持

  • 移除对Python 3.4的支持

版本 2.0.0

  • 在Python >= 3.7上使用内置dict代替OrderedDict

  • 移除对Python 3.3的支持

  • 修复与python-future一起使用时的bytes解析问题 #41

版本 1.2.1

  • 移除对Python 2.6的支持

  • bencode方法性能提升。 #7

版本 1.2.0

  • 添加 bdecode2 方法。 #6

版本 1.1.3

  • 性能提升

  • 修复包元信息 #3

版本 1.1.2

  • 支持编码大整数

版本 1.1.0

  • 使用 OrderedDict 替代 dict

  • 支持编码 dict 的子类

项目详情


下载文件

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

源代码分发

bencoder.pyx-3.0.1.tar.gz (85.7 kB 查看哈希)

上传时间 源代码

构建分发

bencoder.pyx-3.0.1-pp39-pypy39_pp73-win_amd64.whl (32.8 kB 查看哈希)

上传时间 PyPy Windows x86-64

bencoder.pyx-3.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.0 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45.4 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (46.9 kB 查看哈希)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (35.2 kB 查看哈希)

上传时间 PyPy macOS 10.9+ x86-64

bencoder.pyx-3.0.1-pp38-pypy38_pp73-win_amd64.whl (33.0 kB 查看哈希)

上传于 PyPy Windows x86-64

bencoder.pyx-3.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (46.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (35.1 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

bencoder.pyx-3.0.1-pp37-pypy37_pp73-win_amd64.whl (33.0 kB 查看哈希值)

上传于 PyPy Windows x86-64

bencoder.pyx-3.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (45.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (47.0 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (35.1 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp311-cp311-win_amd64.whl (39.2 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86-64

bencoder.pyx-3.0.1-cp311-cp311-win32.whl (34.7 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86

bencoder.pyx-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl (287.5 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp311-cp311-musllinux_1_1_s390x.whl (295.4 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp311-cp311-musllinux_1_1_ppc64le.whl (295.9 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp311-cp311-musllinux_1_1_i686.whl (266.4 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl (282.8 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (293.4 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (293.9 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (282.8 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (271.7 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp311-cp311-macosx_11_0_arm64.whl (41.4 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

bencoder.pyx-3.0.1-cp311-cp311-macosx_10_9_x86_64.whl (46.2 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp311-cp311-macosx_10_9_universal2.whl (84.6 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

bencoder.pyx-3.0.1-cp310-cp310-win_amd64.whl (39.5 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

bencoder.pyx-3.0.1-cp310-cp310-win32.whl (35.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

bencoder.pyx-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl (266.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp310-cp310-musllinux_1_1_s390x.whl (272.2 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp310-cp310-musllinux_1_1_ppc64le.whl (273.2 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp310-cp310-musllinux_1_1_i686.whl (257.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl (261.1 kB 查看哈希值)

上传时间: CPython 3.10 musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (269.5 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (270.6 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (259.0 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.6 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (250.1 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp310-cp310-macosx_11_0_arm64.whl (42.4 kB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

bencoder.pyx-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl (47.2 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp310-cp310-macosx_10_9_universal2.whl (86.3 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

bencoder.pyx-3.0.1-cp39-cp39-win_amd64.whl (41.4 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

bencoder.pyx-3.0.1-cp39-cp39-win32.whl (36.3 kB 查看哈希)

上传于 CPython 3.9 Windows x86

bencoder.pyx-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl (262.5 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp39-cp39-musllinux_1_1_s390x.whl (268.2 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp39-cp39-musllinux_1_1_ppc64le.whl (270.6 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp39-cp39-musllinux_1_1_i686.whl (252.9 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl (257.4 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (265.5 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (268.5 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (256.1 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (260.4 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (247.4 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp39-cp39-macosx_11_0_arm64.whl (43.7 kB 查看哈希值)

上传时间: CPython 3.9 macOS 11.0+ ARM64

bencoder.pyx-3.0.1-cp39-cp39-macosx_10_9_x86_64.whl (48.8 kB 查看哈希值)

上传时间: CPython 3.9 macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp39-cp39-macosx_10_9_universal2.whl (89.4 kB 查看哈希值)

上传时间: CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

bencoder.pyx-3.0.1-cp38-cp38-win_amd64.whl (41.5 kB 查看哈希值)

上传时间: CPython 3.8 Windows x86-64

bencoder.pyx-3.0.1-cp38-cp38-win32.whl (36.5 kB 查看哈希值)

上传时间: CPython 3.8 Windows x86

bencoder.pyx-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl (273.5 kB 查看哈希值)

上传时间: CPython 3.8 musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp38-cp38-musllinux_1_1_s390x.whl (280.8 kB 查看哈希值)

上传时间: CPython 3.8 musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp38-cp38-musllinux_1_1_ppc64le.whl (283.2 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp38-cp38-musllinux_1_1_i686.whl (265.2 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl (268.4 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (266.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (270.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (255.9 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.0 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (248.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp38-cp38-macosx_11_0_arm64.whl (44.0 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

bencoder.pyx-3.0.1-cp38-cp38-macosx_10_9_x86_64.whl (48.7 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp38-cp38-macosx_10_9_universal2.whl (89.6 kB 查看哈希值)

上传时间: CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

bencoder.pyx-3.0.1-cp37-cp37m-win_amd64.whl (40.8 kB 查看哈希值)

上传时间: CPython 3.7m Windows x86-64

bencoder.pyx-3.0.1-cp37-cp37m-win32.whl (35.9 kB 查看哈希值)

上传时间: CPython 3.7m Windows x86

bencoder.pyx-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl (226.4 kB 查看哈希值)

上传时间: CPython 3.7m musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp37-cp37m-musllinux_1_1_s390x.whl (233.2 kB 查看哈希值)

上传时间: CPython 3.7m musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp37-cp37m-musllinux_1_1_ppc64le.whl (236.8 kB 查看哈希值)

上传时间: CPython 3.7m musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp37-cp37m-musllinux_1_1_i686.whl (220.3 kB 查看哈希值)

上传时间: CPython 3.7m musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl (222.7 kB 查看哈希值)

上传时间: CPython 3.7m musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (232.6 kB 查看哈希值)

上传时间: CPython 3.7m manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (236.0 kB 查看哈希值)

上传时间: CPython 3.7m manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (221.5 kB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (226.0 kB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (212.8 kB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (47.6 kB 查看哈希值)

上传时间 CPython 3.7m macOS 10.9+ x86-64

bencoder.pyx-3.0.1-cp36-cp36m-win_amd64.whl (46.2 kB 查看哈希值)

上传时间 CPython 3.6m Windows x86-64

bencoder.pyx-3.0.1-cp36-cp36m-win32.whl (39.5 kB 查看哈希值)

上传时间 CPython 3.6m Windows x86

bencoder.pyx-3.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl (228.7 kB 查看哈希值)

上传时间 CPython 3.6m musllinux: musl 1.1+ x86-64

bencoder.pyx-3.0.1-cp36-cp36m-musllinux_1_1_s390x.whl (235.7 kB 查看哈希值)

上传时间 CPython 3.6m musllinux: musl 1.1+ s390x

bencoder.pyx-3.0.1-cp36-cp36m-musllinux_1_1_ppc64le.whl (239.0 kB 查看哈希值)

上传时间 CPython 3.6m musllinux: musl 1.1+ ppc64le

bencoder.pyx-3.0.1-cp36-cp36m-musllinux_1_1_i686.whl (221.8 kB 查看哈希值)

上传时间 CPython 3.6m musllinux: musl 1.1+ i686

bencoder.pyx-3.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl (224.1 kB 查看哈希)

上传于 CPython 3.6m musllinux: musl 1.1+ ARM64

bencoder.pyx-3.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (235.0 kB 查看哈希)

上传于 CPython 3.6m manylinux: glibc 2.17+ s390x

bencoder.pyx-3.0.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (238.8 kB 查看哈希)

上传于 CPython 3.6m manylinux: glibc 2.17+ ppc64le

bencoder.pyx-3.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (223.6 kB 查看哈希)

上传于 CPython 3.6m manylinux: glibc 2.17+ ARM64

bencoder.pyx-3.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228.1 kB 查看哈希)

上传于 CPython 3.6m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

bencoder.pyx-3.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (214.1 kB 查看哈希)

上传于 CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

bencoder.pyx-3.0.1-cp36-cp36m-macosx_10_9_x86_64.whl (48.8 kB 查看哈希)

上传于 CPython 3.6m macOS 10.9+ x86-64

由以下支持