Name | bencode.cy JSON |
Version |
1.2.2
JSON |
| download |
home_page | None |
Summary | A fast bencode implementation in Cython that supports Python 3. It uses Cython's pure Python syntax. |
upload_time | 2025-10-10 07:30:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
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
[](https://pypi.org/project/bencode.cy/)
[](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[](https://pypi.org/project/bencode.cy/)\n[](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"
}