All Projects â†’ whtsky â†’ bencoder.pyx

whtsky / bencoder.pyx

Licence: BSD-3-Clause license
A fast bencode implementation in Cython

Programming Languages

python
139335 projects - #7 most used programming language
cython
566 projects

Projects that are alternatives of or similar to bencoder.pyx

bento
🍱 A fast, correct, pure-Elixir library for reading and writing Bencoded metainfo (.torrent) files.
Stars: ✭ 71 (+173.08%)
Mutual labels:  bittorrent, bencode, bencoding
bencode
PHP Bencode (BitTorrent) Encoder/Decoder
Stars: ✭ 19 (-26.92%)
Mutual labels:  bittorrent, bencode
bencode
Bencode Input/Output Streams for Java
Stars: ✭ 49 (+88.46%)
Mutual labels:  bencode, bencoder
haze
A bittorrent client, for learning purposes
Stars: ✭ 103 (+296.15%)
Mutual labels:  bittorrent
Katastrophe
Command Line Tool to download torrents
Stars: ✭ 85 (+226.92%)
Mutual labels:  bittorrent
ut pex
Implementation of ut_pex bittorrent protocol (PEX) for webtorrent
Stars: ✭ 54 (+107.69%)
Mutual labels:  bittorrent
I2P-in-Private-Browsing-Mode-Firefox
I2P in Private Browsing mode for Firefox, built using Webextensions and Contextual Identities
Stars: ✭ 31 (+19.23%)
Mutual labels:  bittorrent
torrenttools
Commandline tool for inspecting, creating and editing BitTorrent metafiles.
Stars: ✭ 125 (+380.77%)
Mutual labels:  bittorrent
CheckWebPeer
Check WebRTC peers of torrents.
Stars: ✭ 19 (-26.92%)
Mutual labels:  bittorrent
rarbg-api
A simple node.js wrapper for rarbg.to api
Stars: ✭ 21 (-19.23%)
Mutual labels:  bittorrent
torrent-hound
Search torrents from multiple websites via the CLI
Stars: ✭ 28 (+7.69%)
Mutual labels:  bittorrent
videostream
Video Streaming site using Laravel and WebTorrent
Stars: ✭ 36 (+38.46%)
Mutual labels:  bittorrent
webtorrent-webui
Web user interface for Webtorrent, based on the Transmission web UI
Stars: ✭ 41 (+57.69%)
Mutual labels:  bittorrent
uWebTorrentTracker
🔆 Simple, robust, WebTorrent tracker server implementation
Stars: ✭ 58 (+123.08%)
Mutual labels:  bittorrent
MlDHT
MLDHT is an elixir package that provides a mainline DHT implementation according to BEP 05.
Stars: ✭ 88 (+238.46%)
Mutual labels:  bittorrent
dottorrent-cli
Command-line tool for creating .torrent files, powered by dottorrent
Stars: ✭ 20 (-23.08%)
Mutual labels:  bittorrent
CombinedPrivacyBlockLists
Ad-blocking hosts files, IP block lists, PAC filters, and ABP / uBO subscriptions, all merged from multiple reputable sources, combined with my own research. Also, script-based utilities to help you create such things yourself. Updated at least once a week, often more frequently.
Stars: ✭ 131 (+403.85%)
Mutual labels:  bittorrent
PeerflixServerZH
🚀 Peerflix Server(BT) æą‰åŒ–ã€įžŽåŒ–
Stars: ✭ 32 (+23.08%)
Mutual labels:  bittorrent
autobrr
Automation for downloads.
Stars: ✭ 288 (+1007.69%)
Mutual labels:  bittorrent
cpp-bencoding
A C++ bencoding library supporting both decoding and encoding.
Stars: ✭ 20 (-23.08%)
Mutual labels:  bencoding

Bencoder.pyx

A fast bencode implementation in Cython supports both Python2 & Python3 .

PyPI License Codecov Coverage

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

Versoin 3.0.0

  • Add support for Python 3.9 & 3.10
  • Drop support for Python 2
  • Build wheels for musl & aarch64

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].