Metadata-Version: 2.1
Name: fast-bencode
Version: 1.1.2
Summary: Bencode and decode for python
Home-page: https://github.com/synodriver/fast-bencode
Author: synodriver
Author-email: diguohuangjiajinweijun@gmail.com
License: BitTorrent Open Source License
Keywords: bittorrent bencode bdecode
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6
Description-Content-Type: text/markdown

<h1 align="center"><i>✨ fast-bencode ✨ </i></h1>

<h3 align="center">The cython version of bencode</a> </h3>

[![pypi](https://img.shields.io/pypi/v/fast-bencode.svg)](https://pypi.org/project/fast-bencode/)
![python](https://img.shields.io/pypi/pyversions/fast-bencode)
![implementation](https://img.shields.io/pypi/implementation/fast-bencode)
![wheel](https://img.shields.io/pypi/wheel/fast-bencode)
![license](https://img.shields.io/github/license/synodriver/fast-bencode.svg)
![action](https://img.shields.io/github/workflow/status/synodriver/fast-bencode/run%20unitest)

### forked from [bencode](https://github.com/bittorrent/bencode) to support latest version of python

- extra cython extension to speedup
- ```typing``` with mypy check

### Usage

```python
from pprint import pprint
from bencode import bdecode, bencode

with open("test.torrent", "rb") as f:
    data = f.read()

raw = bdecode(data)
pprint(raw)

assert bencode(raw) == data
```
- There are alias function ```loads``` for ```bdecode``` and ```dumps``` for ```bencode```


### build
```bash
git clone https://github.com/synodriver/fast-bencode.git
cd fast-bencode
python setup.py build_ext -i
```
