Yet another bencode implementation in Cython
Project description
A fast bencode implementation in Cython supports both Python2 & Python3 .
Install
pip install bencoder.pyx
Usage
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
ChangeLog
Version 2.0.1
Add support for Python 3.8
Drop support for Python 3.4
Version 2.0.0
Use built-in dict instead of OrderedDict on Python >= 3.7
Drop support for Python 3.3
Fix bytes parsing when used with python-future #41
Version 1.2.1
Drop support for Python 2.6
Performance boost for bencode method. #7
Version 1.2.0
Add bdecode2 method. #6
Version 1.1.3
Performance Improvement
Fix package metainfo #3
Version 1.1.2
Support encode large int
Version 1.1.0
Use OrderedDict instaed of dict
Support encoding subclasses of dict
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
bencoder.pyx-2.0.1.tar.gz
(84.2 kB
view hashes)
Built Distributions
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cc58e08b16300e5c18ce3379136d862cd1ea4b1ca6bd643eb5a5b1a818c6d91 |
|
MD5 | 6e708279297a01870db6044860669152 |
|
BLAKE2b-256 | 2aa5103ba7e0b8edf8c94abef21c601d98feceb5a5ea4b11921e5c0c77ff79a2 |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daa6558e8a9492f910ab4080458dba6f462df11ddd3966bbbe266e42014190d7 |
|
MD5 | 9e02820855ab7b898fe1d52ee3cfa33d |
|
BLAKE2b-256 | cc0885699d639a641e4ba5c26e4d23bd298d8ab009801b5cc2c4104d2812f67d |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a5bef5a0539fb6c66b0b158d7339e22e26921de1e16fa52624cd7a42a07c1fb |
|
MD5 | eef4bec5215a01b111fcb6eb2a0c6ece |
|
BLAKE2b-256 | 819a7d3010557b2b5b8a243b1d439f5fcccf80690191a0838105b70ee2321c58 |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b9df8f8d75f30e541dd012ee8f745e7abd9723fbb56ebf999746ee10773978 |
|
MD5 | 5ddd7b97e1c380b43175507b45f5ec61 |
|
BLAKE2b-256 | afdfced92b3ee8498a84ece82a5f1dced29fa79998e4cbcad7029b78ed1b4337 |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c9a2794b0d30bbaa23e4bc6dc7b39a187d12aaa083ca5ee9deeb51c456690e0 |
|
MD5 | 9522d51714cdcc4137d43c0579587621 |
|
BLAKE2b-256 | c753ec4c56e7ba27bf495231c5dc490d18c4ee32301e4098e42536925dafc2b2 |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b665ed05fcbf261c795ab9d110a0bc9a835c72ec527bd80a5c49cf7716a5a173 |
|
MD5 | 77b1777e655dc39c4a489e5e5ca23fd0 |
|
BLAKE2b-256 | f31be26061a483e90b49a9705734380e3ec9a0c07f21e18a1faf4178cd333cc0 |
Close
Hashes for bencoder.pyx-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 936806c811b734511c34c216a4b94ea37c9c1f0aa76d62ee279338f86fc500c6 |
|
MD5 | 344045762169e62f01db661594e2df65 |
|
BLAKE2b-256 | 3938d6660d6626d42b01d35e621919739ba5838bcc45c0c59b7b9b7ff32acfe5 |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6df01b2b1fab529b8e6758b2f91ac5430e6aff9dd40ce2a69255abec2af7f68 |
|
MD5 | ea18478bc2f4ab761924bb82179eabba |
|
BLAKE2b-256 | 7b91b3a1f4ff21e5218ac34a8ddc93d31513c9d1d8821b77774bb644d36ae04a |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3fc93d9694ff159740cdcc1e06db8118dda5b3f64cb36cd35b6c2d9670fa457 |
|
MD5 | f39c159fad05d2fc63919586e72e3282 |
|
BLAKE2b-256 | 09fd4b68cd17365758588aac0d7c4e1f71a65d5a4f85fac8c5baef4d62e605a1 |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3fca1839d6e752c0648a23ccc749a6396bbd9c81bea77c62ce2f10e81422d24 |
|
MD5 | 97eee2bcefa07bd8458ae270ab7f0713 |
|
BLAKE2b-256 | 5a3f2d4885b1f802f1111f7b154390f5e11b14ffbba5d110ec22530016e71b53 |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea86a4c87c01963d19c1fee552922c4318cf4f136d4f89e73c792920c17ed56f |
|
MD5 | 5580bda038bbbcdb7be8ac1d6724e6ac |
|
BLAKE2b-256 | 8099127904f38a8b51cb91a45c8f28b7e663bc8d712204d893769ccb37e4004e |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b318542178bbe635fde088eb6bc042dde1c80969080b2cdd65e9fb9e9c4a52c |
|
MD5 | c3eb5a11a7ce39e13b9cb6b554b7ca40 |
|
BLAKE2b-256 | 01a694fdd970259f098dc90b0aa580e10c7094d64bdb4441ca45a058da580c69 |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c8fb1c024530db82e2378afd4896b8587c685faa1af57b94b70ec6e8631ca8b |
|
MD5 | 440507ad69efa6da4130cec3a722d067 |
|
BLAKE2b-256 | 893b92a1b7e4e5a51f49d73e3e92306573343603781267916097616ab783fa11 |
Close
Hashes for bencoder.pyx-2.0.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e409691d935d2831516174d9b0b1b399b63c6688ed50b99610e87d0f2bc1c4d6 |
|
MD5 | b33c060ae40e0d642ca0db65f75aaec5 |
|
BLAKE2b-256 | 33e8c5a7499c432f50f9978e006d55c53cee6ea604e660763948090017d0d3e9 |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 654ed2a4ff62e2e3ce1a8587af58b73f72a712bf9c4579bd52e786a0cb01f760 |
|
MD5 | 1067c8d4e61f30996d58c8e80af57a03 |
|
BLAKE2b-256 | 92a04762751cd7b123e98dab7597b22d51b9c6796cd0874d2a3604844de3ead2 |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13e24b4f4162caaad261ed1897c1758686038a3762e5af31d696362d510d386c |
|
MD5 | c1e1eb514d01891a6e339d0bc64999ae |
|
BLAKE2b-256 | 4607bc5fa08a116a9f6bfbdfa0b007c969bf3bb7a38d5c6881f999a9a5bdec69 |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd4156e26836eaea5593666a8388b56ca9ba05d90b2338f1e866f558db52e89c |
|
MD5 | 2ff0890d1930c3c33bd2dcb11bbe6ba8 |
|
BLAKE2b-256 | 7a3d80a2d91e7feba8ff86cde2fd1eb14c268797c4bfd9ad32a43763735e1645 |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d6d0ea530bd9e04de3da9713d1d3184777ab80ff35da1d7986f9921654e21b2 |
|
MD5 | bbd2137142aabb78e9b19e5f3aa9f40e |
|
BLAKE2b-256 | a87ce3329cb301de75d48851ab0fac579be2594e36930c28f71c24fe052efe8e |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5107d459067548440e432d2985a116ee06c870814328fca58f16be4e3202c47 |
|
MD5 | c279bdde19673e1cae9ef618d4f5cb8b |
|
BLAKE2b-256 | 3a12d1fd2e585b9930484b113e8b74a7c3d608432f6ebabb38ca3e992c6b7bb9 |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c528b4275d721bb42edf2a4df44e3aef34fff4bfe8623557249931dc7088266 |
|
MD5 | 357edb06873d72399d0eef0813fddaa3 |
|
BLAKE2b-256 | bc99e5369b7906c4cca95ac9ae7068f03bc49dd0623737b64cc68048e5b4780f |
Close
Hashes for bencoder.pyx-2.0.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef0bd8a837a59e69bf55f114a58cb549e71c444264489337fbfe7adb6c54cec7 |
|
MD5 | 3f32987effa066f03ee32b5df97bfd1b |
|
BLAKE2b-256 | 43308ccf8718e97b4588e0d0942f24b52bd239c5bb0bd3aac176e60e99d21d91 |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5862ac82302c4690d50cbeb96f189c08e20d19c5a4ce525474322694f24b6b16 |
|
MD5 | 7bd462defeb32972b7b4377863c04528 |
|
BLAKE2b-256 | 78adc0974cbd9fbddd45c189bfe41afc99559fbdf728223d12a764b994dc5b03 |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9b157eec84742ae44a36cbfc858527b069ca614d329f588a6e94a54ebb99f12 |
|
MD5 | 2c7ce8830703a32210ea3465ba0d77b2 |
|
BLAKE2b-256 | c2f899d91a2425f741b5ccde6b3fbc8b30a284be270fd08ff8e89e5779e3e75a |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 033d2b1321aefc9d9fad6a01c6f89f9f5a4e34d2763b8bdb267851f1dbc4861f |
|
MD5 | 4c25436365dadc49d3be80dbe1141d52 |
|
BLAKE2b-256 | 80811d50214afbfac1492b9b026be0f678bad885b5dcddb944d01826b8f1378c |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82081933fb345df36b77b49015551e293b4949abe1105d8acaba230ce9921dfa |
|
MD5 | a64b5eaae4f477e4e237564add782a57 |
|
BLAKE2b-256 | 2361bb242aa8dfca1061b442d6a3e71307fb4568722aa6f32b04bf213372a6dd |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0e25d5d1035cdae6e30874bc25eb6d8395dfda0ffae1de8e6ab6a991c7a844f |
|
MD5 | eecdf6fcfd53fb7dd476617664ab63f1 |
|
BLAKE2b-256 | 39809479878d5bdf8d523999059212615e9e74d56df6e2751811ff8c32d40d29 |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac481e5dc1174b9ec3e0fc94f20c814af24ce21378abd3d94e7d4d89862bf02b |
|
MD5 | bed1e78d98633e7f9dcbe013777b346a |
|
BLAKE2b-256 | fb09f848b34e28c6202e2539a1f96225bb9ba47e105a8ecbf3b3bb934eaf6130 |
Close
Hashes for bencoder.pyx-2.0.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5586b8b2faff8623a3a9502d8eb38f652ab3a7135d857e54e81abd9423e28051 |
|
MD5 | 8468422108daa1b5550aa68fd859f936 |
|
BLAKE2b-256 | cdd73508a1c751ddd37ecfa2e51eed1b2c3dd275c74dfb40ccd52d40d78ebebf |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41a57f58fdd3df10e86f9da1a34a23a18268f7a86bd4984dc9c683021fb16c70 |
|
MD5 | 0cfc593a238847067bead050e62d893c |
|
BLAKE2b-256 | 4efd73f389392401cbaf19c8d07b4a0616cad534574030eb7c54b83365100ec7 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27mu-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6d86a875f672929f68252599ccb80629b16ab66cce155d06dbc185cdeb2501e |
|
MD5 | 11b241552d29c5dcd10206d0661e5977 |
|
BLAKE2b-256 | 2261dd93e123d6e44af583e6c37458eef09022dba473f0e2b16427d6cdf532e2 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 914b642e8536489ff9a0ab9a3ad13f16e7b3b307977e14fb45856e3cb5b774ae |
|
MD5 | 237cbd3371f890b14bb0a52c86e5bef1 |
|
BLAKE2b-256 | e18732be4d33e402b80a79a15bbbe8850aac6a3ae7ee603503e1d87c6539cb72 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de3b1e34a1b72881f05a7cc1f1d66aa5a7f6e6a63893ea3c602e2b4ecc95d3b7 |
|
MD5 | 1bc8ad18d485b4db6ca7d1480d3e0d94 |
|
BLAKE2b-256 | 65afb8762b8b59042cf84ca417af0ea67f7411b89718651dd8a476c49418dc65 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a38dc1e753a747b19baf1c08161973b6c0ecc09408a55cd8a0e07f05c394c124 |
|
MD5 | d6769d8eeb4f47e0c0d33da2183d1bfe |
|
BLAKE2b-256 | dbc8e4e1665769709159a5fa9246fa858177c73a4f78eacc405712d0f3c7be0f |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c56076c51456bd89513b593b03d8835d55a6898998e22fd04b8b1e521bf59f69 |
|
MD5 | c7d1572eedac38182b03b67efc822e65 |
|
BLAKE2b-256 | 7eb873d87efa7cc452f74d83128984f1abe99bb87fe6e4419f7a2e49dfec4a88 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9e3b46c3c45f3a11bb184b12f0a5470c93dbc8dbdcb77be27bb5d6950908061 |
|
MD5 | 79ed6e8aa712422d56f49759015b9c3b |
|
BLAKE2b-256 | 308e8257f89699caefd1aebb5dd91e8c2c1856426824af42b3900a22a920861e |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029436f0b4435c27f1dab87c51dad3acbc16a722f62db5a06262cb0217a74dc0 |
|
MD5 | 7844db6e0a5c0e8b10a52ccd60032186 |
|
BLAKE2b-256 | 81d29afe8d89b3141efa2dddb2e0de27dcb40ac7bf12b8c3e2b479aadce21ed5 |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 655d243bff3d9fa87952290e86b16421756fb5d0559923ffed4874894c4cc73a |
|
MD5 | bbec951050954959c0675b52db6cb235 |
|
BLAKE2b-256 | 7f57cd9e32d9bb3095877969c80ba9dad7a33f237b3f8890fa8c77f635c0376a |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a8de9d6c796ab98cd6de79341c7182275e32d843a5713b2189ce94de7781454 |
|
MD5 | 12e615f752a1bc7c3173b48c018941e2 |
|
BLAKE2b-256 | 3c6c5ea279ecc2ed337683292d3582b054b07102a1ec7f669fcadfbed5333a2a |
Close
Hashes for bencoder.pyx-2.0.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 026563056245471e77618e57d02a5aea2266fec4238d6041ec50e6532426a3f8 |
|
MD5 | 8dcd4eb82e72aac03fb4dcc9509f6ac9 |
|
BLAKE2b-256 | 55eac0a665eba70f0eb4d3dad8b388ba086159efcc1c06cfa709f0df85b964e3 |