bencode.cy


Namebencode.cy JSON
Version 1.2.2 PyPI version JSON
download
home_pageNone
SummaryA fast bencode implementation in Cython that supports Python 3. It uses Cython's pure Python syntax.
upload_time2025-10-10 07:30:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords bencode bencoder bdecode bittorrent bencoding cython
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Bencode.cy
[![PyPI License](https://img.shields.io/pypi/l/bencode.cy.svg)](https://pypi.org/project/bencode.cy/)
[![PyPI Version](https://img.shields.io/pypi/v/bencode.cy.svg)](https://pypi.org/project/bencode.cy/)

A fast bencode implementation based on Cython, supporting Python 3.9+. 

The bencode functions are 15% to 230% faster than other compiled libraries, and the decode methods are 40% to 320% faster than other compiled libraries. 

On average, they outperform pure Python versions by 250%.

Based on my tests, it is currently among the faster bencode libraries available. 

It is written using Cython's pure Python syntax, so it can run directly without Cython compilation. Of course, performance is significantly better after compilation. 



## Installation

```bash
pip install bencode.cy
```

or, if you use uv (it might be better):

```bash
uv add bencode.cy
```


## Usage Examples

```python
from bencode import bencode, bdecode, compiled

assert True == compiled # Check if the code has been compiled with Cython

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[b'announce'])
```

## Speed Benchmark

`bencode.cy.encode` and `bencode.cy.decode` are the Cython-compiled versions of this library. `bencode.cy.encodepy` and `bencode.cy.decodepy` are the Python versions. They are the same code—one compiled, one not—which is quite interesting.

`bencoder.pyx.encode` and `bencoder.pyx.decode` are the encoding/decoding functions from the [bencoder.pyx](https://github.com/whtsky/bencoder.pyx) library. However, it currently only supports up to Python 3.11 and is slightly slower, though I learned a lot from its code.

`fastbencode.encode` and `fastbencode.decode` are from another excellent library, [fastbencode](https://github.com/dust8/bencoding), which is written in Rust.

`better_bencode.encode` and `better_bencode.decode` are a C version of the bencoder library from [better_bencode](https://github.com/kosqx/better-bencode), but I don't know why it is so slow. Maybe Python 3.11 on macOS wasn't compiled to C.

`bencodepy.encode` and `bdecodepy.decode` are part of a pure Python version of the bencoder library from [BencodePy](https://github.com/eweast/BencodePy).

From the comparison, this library is currently among the fastest options. You can see more detailed results below.

### deocde benchmar result
| Name               | OPS (Kops/s)      | Mean          | StdDev        | Min           | Max             | Median        | IQR           | Outliers    | Rounds  | Iterations |
|--------------------|-------------------|---------------|---------------|---------------|-----------------|---------------|---------------|-------------|---------|------------|
| bencode.cy.decode     | 521.4145 (1.0)    | 1.9179 (1.0)  | 0.2650 (1.0)  | 1.7500 (1.0)  | 36.3330 (1.0)   | 1.8750 (1.0)  | 0.0410 (1.0)  | 2174;3385   | 40001   | 1          |
| bencode2.decode    | 490.4606 (0.94)   | 2.0389 (1.06) | 1.0887 (4.11) | 1.8750 (1.07) | 201.3750 (5.54) | 2.0000 (1.07) | 0.0420 (1.02) | 1082;12577  | 134085  | 1          |
| bencode_rs.decode  | 485.7196 (0.93)   | 2.0588 (1.07) | 0.5006 (1.89) | 1.8750 (1.07) | 64.9580 (1.79)  | 2.0410 (1.09) | 0.0420 (1.02) | 1664;16625  | 153847  | 1          |
| bencoder.pyx.decode| 191.7128 (0.37)   | 5.2161 (2.72) | 0.6630 (2.50) | 4.8750 (2.79) | 95.9590 (2.64)  | 5.1660 (2.76) | 0.0840 (2.05) | 1254;5630   | 68185   | 1          |
| bencode.cy.decodepy   | 164.2124 (0.31)   | 6.0897 (3.18) | 0.6805 (2.57) | 5.6670 (3.24) | 97.4160 (2.68)  | 6.0420 (3.22) | 0.1250 (3.05) | 829;2364    | 66116   | 1          |
| better_bencode.decode | 134.0034 (0.26) | 7.4625 (3.89) | 0.8133 (3.07) | 7.0000 (4.00) | 84.9580 (2.34)  | 7.4170 (3.96) | 0.0840 (2.05) | 499;3408    | 34238   | 1          |
| fastbencode.decode | 123.1785 (0.24)   | 8.1183 (4.23) | 1.1346 (4.28) | 5.0000 (2.86) | 107.4170 (2.96) | 8.0000 (4.27) | 0.2920 (7.12) | 1585;3315   | 63493   | 1          |
| bencodepy.decode   | 103.0055 (0.20)   | 9.7082 (5.06) | 0.7732 (2.92) | 9.1660 (5.24) | 84.0830 (2.31)  | 9.6670 (5.16) | 0.1670 (4.07) | 636;1559    | 39089   | 1          |
| bcoding.decode     | 53.2570 (0.10)    | 18.7769 (9.79)| 1.7134 (6.46) | 15.4580 (8.83)| 90.7500 (2.50)  | 18.9580 (10.11)| 0.5010 (12.21)| 1638;1730   | 11205   | 1          |

### encode benchmar result

| Name               | OPS (Kops/s)      | Mean           | StdDev          | Min            | Max               | Median         | IQR             | Outliers     | Rounds  | Iterations |
|--------------------|-------------------|----------------|-----------------|----------------|-------------------|----------------|-----------------|--------------|---------|------------|
| bencode.cy.encode     | 287.5983 (1.0)    | 3.4771 (1.0)   | 0.6224 (1.27)   | 3.2500 (1.0)   | 57.9590 (1.0)     | 3.4170 (1.0)   | 0.0430 (1.0)    | 565;8949     | 57143   | 1          |
| bencoder.pyx.encode| 256.2142 (0.89)   | 3.9030 (1.12)  | 0.4911 (1.0)    | 3.6660 (1.13)  | 93.9170 (1.62)    | 3.8750 (1.13)  | 0.0820 (1.91)   | 1054;3805    | 97163   | 1          |
| bencode.cy.encodepy   | 188.4005 (0.66)   | 5.3078 (1.53)  | 0.5279 (1.08)   | 5.0000 (1.54)  | 72.0420 (1.24)    | 5.2910 (1.55)  | 0.0830 (1.93)   | 1188;8115    | 83620   | 1          |
| bencode2.encode    | 183.6796 (0.64)   | 5.4443 (1.57)  | 2.0376 (4.15)   | 3.5840 (1.10)  | 68.7500 (1.19)    | 4.5000 (1.32)  | 2.7090 (62.98)  | 89;18        | 3999    | 1          |
| bencode_rs.encode  | 145.0679 (0.50)   | 6.8933 (1.98)  | 1.5164 (3.09)   | 4.3330 (1.33)  | 60.3750 (1.04)    | 7.4590 (2.18)  | 2.5420 (59.09)  | 3136;32      | 10601   | 1          |
| bcoding.encode     | 140.0668 (0.49)   | 7.1394 (2.05)  | 1.3146 (2.68)   | 6.6670 (2.05)  | 100.0000 (1.73)   | 7.0410 (2.06)  | 0.1660 (3.86)   | 410;1235     | 22494   | 1          |
| better_bencode.encode | 132.9986 (0.46) | 7.5189 (2.16)  | 0.6240 (1.27)   | 7.0830 (2.18)  | 69.4170 (1.20)    | 7.4590 (2.18)  | 0.1260 (2.93)   | 754;3475     | 53571   | 1          |
| fastbencode.encode | 93.0336 (0.32)    | 10.7488 (3.09) | 2.6568 (5.41)   | 8.2500 (2.54)  | 94.7080 (1.63)    | 9.2080 (2.69)  | 5.0420 (117.21) | 7655;25      | 23977   | 1          |
| bencodepy.encode   | 75.6976 (0.26)    | 13.2105 (3.80) | 29.4086 (59.88) | 8.3330 (2.56)  | 4,704.4170 (81.17)| 9.2500 (2.71)  | 0.3340 (7.76)   | 1831;3331    | 51065   | 1          |

Test Environment: Python 3.11.13, MacBook Air M2, macOS 26.01, October 2025

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bencode.cy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "bencode, bencoder, bdecode, bittorrent, bencoding, cython",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/92/c9/a51d3e858fd8937670bee111ba3bd38aa97acd40070512e5c9f1424283d1/bencode_cy-1.2.2.tar.gz",
    "platform": null,
    "description": "# Bencode.cy\n[![PyPI License](https://img.shields.io/pypi/l/bencode.cy.svg)](https://pypi.org/project/bencode.cy/)\n[![PyPI Version](https://img.shields.io/pypi/v/bencode.cy.svg)](https://pypi.org/project/bencode.cy/)\n\nA fast bencode implementation based on Cython, supporting Python 3.9+. \n\nThe bencode functions are 15% to 230% faster than other compiled libraries, and the decode methods are 40% to 320% faster than other compiled libraries. \n\nOn average, they outperform pure Python versions by 250%.\n\nBased on my tests, it is currently among the faster bencode libraries available. \n\nIt is written using Cython's pure Python syntax, so it can run directly without Cython compilation. Of course, performance is significantly better after compilation. \n\n\n\n## Installation\n\n```bash\npip install bencode.cy\n```\n\nor, if you use uv (it might be better):\n\n```bash\nuv add bencode.cy\n```\n\n\n## Usage Examples\n\n```python\nfrom bencode import bencode, bdecode, compiled\n\nassert True == compiled # Check if the code has been compiled with Cython\n\nassert bencode(\"WWWWWW\") == b'6:WWWWWW'\nassert bencode(233) == b'i233e'\n\nwith open(\"debian-8.3.0-amd64-netinst.iso.torrent\", \"rb\") as f:\n    torrent = bdecode(f.read())\n    print(torrent[b'announce'])\n```\n\n## Speed Benchmark\n\n`bencode.cy.encode` and `bencode.cy.decode` are the Cython-compiled versions of this library. `bencode.cy.encodepy` and `bencode.cy.decodepy` are the Python versions. They are the same code\u2014one compiled, one not\u2014which is quite interesting.\n\n`bencoder.pyx.encode` and `bencoder.pyx.decode` are the encoding/decoding functions from the [bencoder.pyx](https://github.com/whtsky/bencoder.pyx) library. However, it currently only supports up to Python 3.11 and is slightly slower, though I learned a lot from its code.\n\n`fastbencode.encode` and `fastbencode.decode` are from another excellent library, [fastbencode](https://github.com/dust8/bencoding), which is written in Rust.\n\n`better_bencode.encode` and `better_bencode.decode` are a C version of the bencoder library from [better_bencode](https://github.com/kosqx/better-bencode), but I don't know why it is so slow. Maybe Python 3.11 on macOS wasn't compiled to C.\n\n`bencodepy.encode` and `bdecodepy.decode` are part of a pure Python version of the bencoder library from [BencodePy](https://github.com/eweast/BencodePy).\n\nFrom the comparison, this library is currently among the fastest options. You can see more detailed results below.\n\n### deocde benchmar result\n| Name               | OPS (Kops/s)      | Mean          | StdDev        | Min           | Max             | Median        | IQR           | Outliers    | Rounds  | Iterations |\n|--------------------|-------------------|---------------|---------------|---------------|-----------------|---------------|---------------|-------------|---------|------------|\n| bencode.cy.decode     | 521.4145 (1.0)    | 1.9179 (1.0)  | 0.2650 (1.0)  | 1.7500 (1.0)  | 36.3330 (1.0)   | 1.8750 (1.0)  | 0.0410 (1.0)  | 2174;3385   | 40001   | 1          |\n| bencode2.decode    | 490.4606 (0.94)   | 2.0389 (1.06) | 1.0887 (4.11) | 1.8750 (1.07) | 201.3750 (5.54) | 2.0000 (1.07) | 0.0420 (1.02) | 1082;12577  | 134085  | 1          |\n| bencode_rs.decode  | 485.7196 (0.93)   | 2.0588 (1.07) | 0.5006 (1.89) | 1.8750 (1.07) | 64.9580 (1.79)  | 2.0410 (1.09) | 0.0420 (1.02) | 1664;16625  | 153847  | 1          |\n| bencoder.pyx.decode| 191.7128 (0.37)   | 5.2161 (2.72) | 0.6630 (2.50) | 4.8750 (2.79) | 95.9590 (2.64)  | 5.1660 (2.76) | 0.0840 (2.05) | 1254;5630   | 68185   | 1          |\n| bencode.cy.decodepy   | 164.2124 (0.31)   | 6.0897 (3.18) | 0.6805 (2.57) | 5.6670 (3.24) | 97.4160 (2.68)  | 6.0420 (3.22) | 0.1250 (3.05) | 829;2364    | 66116   | 1          |\n| better_bencode.decode | 134.0034 (0.26) | 7.4625 (3.89) | 0.8133 (3.07) | 7.0000 (4.00) | 84.9580 (2.34)  | 7.4170 (3.96) | 0.0840 (2.05) | 499;3408    | 34238   | 1          |\n| fastbencode.decode | 123.1785 (0.24)   | 8.1183 (4.23) | 1.1346 (4.28) | 5.0000 (2.86) | 107.4170 (2.96) | 8.0000 (4.27) | 0.2920 (7.12) | 1585;3315   | 63493   | 1          |\n| bencodepy.decode   | 103.0055 (0.20)   | 9.7082 (5.06) | 0.7732 (2.92) | 9.1660 (5.24) | 84.0830 (2.31)  | 9.6670 (5.16) | 0.1670 (4.07) | 636;1559    | 39089   | 1          |\n| bcoding.decode     | 53.2570 (0.10)    | 18.7769 (9.79)| 1.7134 (6.46) | 15.4580 (8.83)| 90.7500 (2.50)  | 18.9580 (10.11)| 0.5010 (12.21)| 1638;1730   | 11205   | 1          |\n\n### encode benchmar result\n\n| Name               | OPS (Kops/s)      | Mean           | StdDev          | Min            | Max               | Median         | IQR             | Outliers     | Rounds  | Iterations |\n|--------------------|-------------------|----------------|-----------------|----------------|-------------------|----------------|-----------------|--------------|---------|------------|\n| bencode.cy.encode     | 287.5983 (1.0)    | 3.4771 (1.0)   | 0.6224 (1.27)   | 3.2500 (1.0)   | 57.9590 (1.0)     | 3.4170 (1.0)   | 0.0430 (1.0)    | 565;8949     | 57143   | 1          |\n| bencoder.pyx.encode| 256.2142 (0.89)   | 3.9030 (1.12)  | 0.4911 (1.0)    | 3.6660 (1.13)  | 93.9170 (1.62)    | 3.8750 (1.13)  | 0.0820 (1.91)   | 1054;3805    | 97163   | 1          |\n| bencode.cy.encodepy   | 188.4005 (0.66)   | 5.3078 (1.53)  | 0.5279 (1.08)   | 5.0000 (1.54)  | 72.0420 (1.24)    | 5.2910 (1.55)  | 0.0830 (1.93)   | 1188;8115    | 83620   | 1          |\n| bencode2.encode    | 183.6796 (0.64)   | 5.4443 (1.57)  | 2.0376 (4.15)   | 3.5840 (1.10)  | 68.7500 (1.19)    | 4.5000 (1.32)  | 2.7090 (62.98)  | 89;18        | 3999    | 1          |\n| bencode_rs.encode  | 145.0679 (0.50)   | 6.8933 (1.98)  | 1.5164 (3.09)   | 4.3330 (1.33)  | 60.3750 (1.04)    | 7.4590 (2.18)  | 2.5420 (59.09)  | 3136;32      | 10601   | 1          |\n| bcoding.encode     | 140.0668 (0.49)   | 7.1394 (2.05)  | 1.3146 (2.68)   | 6.6670 (2.05)  | 100.0000 (1.73)   | 7.0410 (2.06)  | 0.1660 (3.86)   | 410;1235     | 22494   | 1          |\n| better_bencode.encode | 132.9986 (0.46) | 7.5189 (2.16)  | 0.6240 (1.27)   | 7.0830 (2.18)  | 69.4170 (1.20)    | 7.4590 (2.18)  | 0.1260 (2.93)   | 754;3475     | 53571   | 1          |\n| fastbencode.encode | 93.0336 (0.32)    | 10.7488 (3.09) | 2.6568 (5.41)   | 8.2500 (2.54)  | 94.7080 (1.63)    | 9.2080 (2.69)  | 5.0420 (117.21) | 7655;25      | 23977   | 1          |\n| bencodepy.encode   | 75.6976 (0.26)    | 13.2105 (3.80) | 29.4086 (59.88) | 8.3330 (2.56)  | 4,704.4170 (81.17)| 9.2500 (2.71)  | 0.3340 (7.76)   | 1831;3331    | 51065   | 1          |\n\nTest Environment: Python 3.11.13, MacBook Air M2, macOS 26.01, October 2025\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A fast bencode implementation in Cython that supports Python 3. It uses Cython's pure Python syntax.",
    "version": "1.2.2",
    "project_urls": {
        "Homepage": "https://github.com/touxiaoling/bencode.cy",
        "Issues": "https://github.com/touxiaoling/bencode.cy/issues",
        "Repository": "https://github.com/touxiaoling/bencode.cy"
    },
    "split_keywords": [
        "bencode",
        " bencoder",
        " bdecode",
        " bittorrent",
        " bencoding",
        " cython"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "555196d158177a34893ae2d603a65548be032556af67f60921ae888a7c34e01e",
                "md5": "9b57f0d2096d9cb7c682a46b594395d1",
                "sha256": "fd44d3dc4851e7d9fb9e2ec409294fd9e8473782ebbaeec078b02fc8777eba34"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9b57f0d2096d9cb7c682a46b594395d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 104078,
            "upload_time": "2025-10-10T07:30:24",
            "upload_time_iso_8601": "2025-10-10T07:30:24.020925Z",
            "url": "https://files.pythonhosted.org/packages/55/51/96d158177a34893ae2d603a65548be032556af67f60921ae888a7c34e01e/bencode_cy-1.2.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "978fc9a361a998ca31d7dfb41e3a306badfd755d6df64acd42bac2ae67eb1fb5",
                "md5": "8deee0ed2543b536fdcc5bf891e4d1d4",
                "sha256": "86f981b17876ba6c692624b0334ef5292faf18eb10281f2a8e74d3020bd6e664"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8deee0ed2543b536fdcc5bf891e4d1d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 236700,
            "upload_time": "2025-10-10T07:30:25",
            "upload_time_iso_8601": "2025-10-10T07:30:25.470505Z",
            "url": "https://files.pythonhosted.org/packages/97/8f/c9a361a998ca31d7dfb41e3a306badfd755d6df64acd42bac2ae67eb1fb5/bencode_cy-1.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "29921a3d2a43bccc6b6fb7a1a7162b543233dd50b9965cf36bf9e0aa48a7d2b8",
                "md5": "3f2438a7328141b741e643a545e2ccb4",
                "sha256": "4ec150d5fabec99845d53d1aeb747365ac38a903d45dad8e9c6e663dd30ce706"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3f2438a7328141b741e643a545e2ccb4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 104771,
            "upload_time": "2025-10-10T07:30:26",
            "upload_time_iso_8601": "2025-10-10T07:30:26.806258Z",
            "url": "https://files.pythonhosted.org/packages/29/92/1a3d2a43bccc6b6fb7a1a7162b543233dd50b9965cf36bf9e0aa48a7d2b8/bencode_cy-1.2.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "79166e245b48b7d0892ca90a76e93fefcc6a1e69ed41cb1bb7058d95602e68b3",
                "md5": "f14d90b3e7fd8ce9b3c75737cbf89e15",
                "sha256": "b3eacd0929b1357d49991f60e89684c86522966c76d387abe09df9228814e7fc"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f14d90b3e7fd8ce9b3c75737cbf89e15",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 130793,
            "upload_time": "2025-10-10T07:30:28",
            "upload_time_iso_8601": "2025-10-10T07:30:28.676526Z",
            "url": "https://files.pythonhosted.org/packages/79/16/6e245b48b7d0892ca90a76e93fefcc6a1e69ed41cb1bb7058d95602e68b3/bencode_cy-1.2.2-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "be6842d60b15b6ae6ea5cbcf87ec761bf30b4b810033c5dff9bbcbbf4becb7ca",
                "md5": "caf7e8d50a5264de88dd6285fed966d5",
                "sha256": "810835bc43c2b8ed1321cc28c658ec881f2995341db9f0aceba79ce69b879893"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "caf7e8d50a5264de88dd6285fed966d5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 251716,
            "upload_time": "2025-10-10T07:30:29",
            "upload_time_iso_8601": "2025-10-10T07:30:29.716564Z",
            "url": "https://files.pythonhosted.org/packages/be/68/42d60b15b6ae6ea5cbcf87ec761bf30b4b810033c5dff9bbcbbf4becb7ca/bencode_cy-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf4839c9bd13d9140309f12389f1478f002080996cef2ebf94a6eff5b23315d9",
                "md5": "afb7a12452170829e98db6cb2a2f0ffd",
                "sha256": "b5146c596973b7f59f1bc91d7b57ac421bfbb1370426924fd6424cbdd8674a6f"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "afb7a12452170829e98db6cb2a2f0ffd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 104719,
            "upload_time": "2025-10-10T07:30:30",
            "upload_time_iso_8601": "2025-10-10T07:30:30.979606Z",
            "url": "https://files.pythonhosted.org/packages/cf/48/39c9bd13d9140309f12389f1478f002080996cef2ebf94a6eff5b23315d9/bencode_cy-1.2.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6dd0fe0fc960e2bfcc0eefb109a2e735316486dfdbd8028212cd66ac4ce35eea",
                "md5": "d662ff7e5348f456fce34b07f8aa6107",
                "sha256": "970eb7cab92173e8b4f4679f33d1af72d1882b51f77cf42caa7970b1418c170c"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp312-cp312-macosx_15_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d662ff7e5348f456fce34b07f8aa6107",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 104550,
            "upload_time": "2025-10-10T07:30:31",
            "upload_time_iso_8601": "2025-10-10T07:30:31.960020Z",
            "url": "https://files.pythonhosted.org/packages/6d/d0/fe0fc960e2bfcc0eefb109a2e735316486dfdbd8028212cd66ac4ce35eea/bencode_cy-1.2.2-cp312-cp312-macosx_15_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "968c2176fd5727d068601f53f71e6e94f4d069402f1df235ef5d1affe428b5b9",
                "md5": "6d6b2e3bd664f95b43224d9b9d486fc9",
                "sha256": "b04525bcac62937d035f057399bb59738e5073809d87e945afb72933a2efcb42"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6d6b2e3bd664f95b43224d9b9d486fc9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 257826,
            "upload_time": "2025-10-10T07:30:33",
            "upload_time_iso_8601": "2025-10-10T07:30:33.171905Z",
            "url": "https://files.pythonhosted.org/packages/96/8c/2176fd5727d068601f53f71e6e94f4d069402f1df235ef5d1affe428b5b9/bencode_cy-1.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9d00bf6ba4c6eab1408cae659537de1c19550e666ba042c5f7e991378129c6e9",
                "md5": "61a6a87c8bb19b62be51787f4614812b",
                "sha256": "c282722ffbfda126556174d0f1cd5f1c4e9e96331ac34a8260955a8ee979d585"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "61a6a87c8bb19b62be51787f4614812b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 105305,
            "upload_time": "2025-10-10T07:30:34",
            "upload_time_iso_8601": "2025-10-10T07:30:34.668393Z",
            "url": "https://files.pythonhosted.org/packages/9d/00/bf6ba4c6eab1408cae659537de1c19550e666ba042c5f7e991378129c6e9/bencode_cy-1.2.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bc2b6ab9503f5043a11cbfe3d100ae4a68fff88015204a2a140ccc179ca9b479",
                "md5": "fa188b71329d9a395da427820838a68b",
                "sha256": "aee1dcbe1e7cffadc8ee91e76f0c94deb73306421b59a28607ce5daac3d6ee43"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa188b71329d9a395da427820838a68b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 255696,
            "upload_time": "2025-10-10T07:30:36",
            "upload_time_iso_8601": "2025-10-10T07:30:36.181285Z",
            "url": "https://files.pythonhosted.org/packages/bc/2b/6ab9503f5043a11cbfe3d100ae4a68fff88015204a2a140ccc179ca9b479/bencode_cy-1.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "392bf21bdb6a56deb7ec7c54ea43d1833c0300e016c264c88490e127a7827e73",
                "md5": "74fecc615cab7f3bf4917339f593dc0b",
                "sha256": "a3fd7157280faf22bfd13e0db5a54300f87a4d2f6817f9673a5d5e53fc6139b7"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "74fecc615cab7f3bf4917339f593dc0b",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 254105,
            "upload_time": "2025-10-10T07:30:37",
            "upload_time_iso_8601": "2025-10-10T07:30:37.268937Z",
            "url": "https://files.pythonhosted.org/packages/39/2b/f21bdb6a56deb7ec7c54ea43d1833c0300e016c264c88490e127a7827e73/bencode_cy-1.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "10dbb33c10994aeeeb5cf2bd60d7593fc2039e03dc1f12b150f669e956434a4e",
                "md5": "b52ea691d4fe43fa183c8b9c290273c2",
                "sha256": "3b32e68cd7123232701e773d72bd940610b320c2ba72fe60aab56332e3b1e35b"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp314-cp314t-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b52ea691d4fe43fa183c8b9c290273c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 106001,
            "upload_time": "2025-10-10T07:30:38",
            "upload_time_iso_8601": "2025-10-10T07:30:38.727458Z",
            "url": "https://files.pythonhosted.org/packages/10/db/b33c10994aeeeb5cf2bd60d7593fc2039e03dc1f12b150f669e956434a4e/bencode_cy-1.2.2-cp314-cp314t-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e3b9ba788c7244aa6dbaf56b75642947fafe68efbed511cfbdf476535602bfc0",
                "md5": "c9cd5e1dd667d4a57ba4bd853111fd18",
                "sha256": "d26682ccd60e8ec97104833475ea6f02f834bb7f1ff575962b68bc972e30463d"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c9cd5e1dd667d4a57ba4bd853111fd18",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 283285,
            "upload_time": "2025-10-10T07:30:39",
            "upload_time_iso_8601": "2025-10-10T07:30:39.990340Z",
            "url": "https://files.pythonhosted.org/packages/e3/b9/ba788c7244aa6dbaf56b75642947fafe68efbed511cfbdf476535602bfc0/bencode_cy-1.2.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0616a7a7e8f7618fe7684baeaae14713c7d14c7172b3c43bfd6283cb02b3d0c3",
                "md5": "88b87d3fa6efe1ca8d8fbda6c64b230a",
                "sha256": "64e9ba3f2262ab9bb90b25056502e3ff5e869e779968fa3c159da5a00f8830e6"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp314-cp314t-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "88b87d3fa6efe1ca8d8fbda6c64b230a",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 109145,
            "upload_time": "2025-10-10T07:30:41",
            "upload_time_iso_8601": "2025-10-10T07:30:41.102966Z",
            "url": "https://files.pythonhosted.org/packages/06/16/a7a7e8f7618fe7684baeaae14713c7d14c7172b3c43bfd6283cb02b3d0c3/bencode_cy-1.2.2-cp314-cp314t-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f8b2fea7ab167ff8618bd8823a1b1b150af9a84aa800b47a3ef8234589accb16",
                "md5": "b7fe2721e3b0655f2ba25326c2584fa4",
                "sha256": "6fa2338fa9a7303df2a0f6b8c064761ada021b7224a4e86b58052f9d5955c395"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "b7fe2721e3b0655f2ba25326c2584fa4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 130395,
            "upload_time": "2025-10-10T07:30:42",
            "upload_time_iso_8601": "2025-10-10T07:30:42.360626Z",
            "url": "https://files.pythonhosted.org/packages/f8/b2/fea7ab167ff8618bd8823a1b1b150af9a84aa800b47a3ef8234589accb16/bencode_cy-1.2.2-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87755fa72009bdde224cd3610c7f949a3eb4e1f9766f66881fe5de1ac630c649",
                "md5": "ed15893f4166102a8b4749a1950ed8f2",
                "sha256": "1627e772305abe93f09eb59c5ddd8b39a867e7cbaf28827dae3471de9b446682"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed15893f4166102a8b4749a1950ed8f2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 235750,
            "upload_time": "2025-10-10T07:30:43",
            "upload_time_iso_8601": "2025-10-10T07:30:43.661781Z",
            "url": "https://files.pythonhosted.org/packages/87/75/5fa72009bdde224cd3610c7f949a3eb4e1f9766f66881fe5de1ac630c649/bencode_cy-1.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "88c871d98a21a233b056b1e90fc724912265f2e9827fc8c75064cd09c70a4f35",
                "md5": "2b1c990f07e92e2ded634e2945cd04e7",
                "sha256": "59990540390968e2b1b5cec45e3b60e197e367ee895d81a13fd1f519a7017d29"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2b1c990f07e92e2ded634e2945cd04e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 104772,
            "upload_time": "2025-10-10T07:30:45",
            "upload_time_iso_8601": "2025-10-10T07:30:45.050411Z",
            "url": "https://files.pythonhosted.org/packages/88/c8/71d98a21a233b056b1e90fc724912265f2e9827fc8c75064cd09c70a4f35/bencode_cy-1.2.2-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "92c9a51d3e858fd8937670bee111ba3bd38aa97acd40070512e5c9f1424283d1",
                "md5": "5191d01e6ec0982851f61778e011f61e",
                "sha256": "43eb4cc53ba5bee249524e8c29da948678a1aabd410eae6c8752a9ba8d0950d1"
            },
            "downloads": -1,
            "filename": "bencode_cy-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5191d01e6ec0982851f61778e011f61e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 81327,
            "upload_time": "2025-10-10T07:30:45",
            "upload_time_iso_8601": "2025-10-10T07:30:45.946655Z",
            "url": "https://files.pythonhosted.org/packages/92/c9/a51d3e858fd8937670bee111ba3bd38aa97acd40070512e5c9f1424283d1/bencode_cy-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-10 07:30:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "touxiaoling",
    "github_project": "bencode.cy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "bencode.cy"
}
        
Elapsed time: 2.45313s