# rfernet
Python extension for Fernet encryption/decryption, faster than other alternatives.
This library uses the rust library `fernet-rs` https://github.com/mozilla-services/fernet-rs.
CI & Building wheels copied from `cryptography` and `orjson`
# Benchmark
Compared to cryptography's Fernet (CPU):
```
In [2]: from cryptography.fernet import Fernet as cFernet
In [3]: from rfernet import Fernet as rFernet
In [4]:
In [4]: plain = b"asd" * 1000
In [5]: key = rFernet.generate_new_key()
In [7]: r_fernet = rFernet(key)
In [8]: c_fernet = cFernet(key)
In [9]: %timeit r_fernet.encrypt(plain)
18.4 µs ± 117 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
In [10]: %timeit c_fernet.encrypt(plain)
77.7 µs ± 921 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
```
Memory:
```
# rfernet
[ Top 10 ]
<frozen importlib._bootstrap>:219: size=4444 B, count=38, average=117 B
test2.py:4: size=576 B, count=1, average=576 B
<frozen importlib._bootstrap_external>:59: size=156 B, count=1, average=156 B
test2.py:6: size=93 B, count=1, average=93 B
<frozen importlib._bootstrap>:371: size=80 B, count=1, average=80 B
<frozen importlib._bootstrap>:105: size=72 B, count=1, average=72 B
<frozen importlib._bootstrap_external>:1352: size=56 B, count=1, average=56 B
<frozen importlib._bootstrap_external>:606: size=56 B, count=1, average=56 B
test2.py:7: size=48 B, count=1, average=48 B
<frozen importlib._bootstrap_external>:1030: size=40 B, count=1, average=40 B
# cryptography's Fernet
[ Top 10 ]
<frozen importlib._bootstrap_external>:525: size=3134 KiB, count=31814, average=101 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py:91: size=449 KiB, count=3169, average=145 B
<frozen importlib._bootstrap>:219: size=404 KiB, count=3384, average=122 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:126: size=146 KiB, count=717, average=209 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py:89: size=119 KiB, count=1773, average=69 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:127: size=68.7 KiB, count=447, average=157 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/inspect.py:2793: size=46.8 KiB, count=282, average=170 B
<frozen importlib._bootstrap_external>:59: size=41.7 KiB, count=265, average=161 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:135: size=40.8 KiB, count=339, average=123 B
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/idna/idnadata.py:826: size=36.7 KiB, count=3, average=12.2 KiB
```
Memory test source code:
```
import tracemalloc
tracemalloc.start()
from cryptography.fernet import Fernet as cFernet
plain = b"asd" * 1000
key = cFernet.generate_key()
c_fernet = cFernet(key)
c_fernet.encrypt(plain)
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')
print("[ Top 10 ]")
for stat in top_stats[:10]:
print(stat)
```
Raw data
{
"_id": null,
"home_page": null,
"name": "rfernet",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "fast, fernet",
"author": "Aviram Hassan <aviramyhassan@gmail.com>",
"author_email": "Aviram Hassan <aviramyhassan@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/da/29/109469a60a4724a7014f7b95b72b5cb82556a9660b86e5a2b00de9e80eb1/rfernet-0.3.5.tar.gz",
"platform": null,
"description": "# rfernet\nPython extension for Fernet encryption/decryption, faster than other alternatives.\nThis library uses the rust library `fernet-rs` https://github.com/mozilla-services/fernet-rs.\n\nCI & Building wheels copied from `cryptography` and `orjson`\n\n# Benchmark\nCompared to cryptography's Fernet (CPU):\n```\nIn [2]: from cryptography.fernet import Fernet as cFernet\n\nIn [3]: from rfernet import Fernet as rFernet\n\nIn [4]:\n\nIn [4]: plain = b\"asd\" * 1000\n\nIn [5]: key = rFernet.generate_new_key()\n\nIn [7]: r_fernet = rFernet(key)\n\nIn [8]: c_fernet = cFernet(key)\n\nIn [9]: %timeit r_fernet.encrypt(plain)\n18.4 \u00b5s \u00b1 117 ns per loop (mean \u00b1 std. dev. of 7 runs, 100000 loops each)\n\nIn [10]: %timeit c_fernet.encrypt(plain)\n77.7 \u00b5s \u00b1 921 ns per loop (mean \u00b1 std. dev. of 7 runs, 10000 loops each)\n```\nMemory:\n```\n# rfernet\n[ Top 10 ]\n<frozen importlib._bootstrap>:219: size=4444 B, count=38, average=117 B\ntest2.py:4: size=576 B, count=1, average=576 B\n<frozen importlib._bootstrap_external>:59: size=156 B, count=1, average=156 B\ntest2.py:6: size=93 B, count=1, average=93 B\n<frozen importlib._bootstrap>:371: size=80 B, count=1, average=80 B\n<frozen importlib._bootstrap>:105: size=72 B, count=1, average=72 B\n<frozen importlib._bootstrap_external>:1352: size=56 B, count=1, average=56 B\n<frozen importlib._bootstrap_external>:606: size=56 B, count=1, average=56 B\ntest2.py:7: size=48 B, count=1, average=48 B\n<frozen importlib._bootstrap_external>:1030: size=40 B, count=1, average=40 B\n\n# cryptography's Fernet\n[ Top 10 ]\n<frozen importlib._bootstrap_external>:525: size=3134 KiB, count=31814, average=101 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py:91: size=449 KiB, count=3169, average=145 B\n<frozen importlib._bootstrap>:219: size=404 KiB, count=3384, average=122 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:126: size=146 KiB, count=717, average=209 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py:89: size=119 KiB, count=1773, average=69 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:127: size=68.7 KiB, count=447, average=157 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/inspect.py:2793: size=46.8 KiB, count=282, average=170 B\n<frozen importlib._bootstrap_external>:59: size=41.7 KiB, count=265, average=161 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py:135: size=40.8 KiB, count=339, average=123 B\n/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/idna/idnadata.py:826: size=36.7 KiB, count=3, average=12.2 KiB\n```\nMemory test source code:\n```\nimport tracemalloc\n\ntracemalloc.start()\nfrom cryptography.fernet import Fernet as cFernet\nplain = b\"asd\" * 1000\nkey = cFernet.generate_key()\nc_fernet = cFernet(key)\nc_fernet.encrypt(plain)\n\nsnapshot = tracemalloc.take_snapshot()\ntop_stats = snapshot.statistics('lineno')\n\nprint(\"[ Top 10 ]\")\nfor stat in top_stats[:10]:\n print(stat)\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fast Fernet bindings for Python",
"version": "0.3.5",
"project_urls": null,
"split_keywords": [
"fast",
" fernet"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8df582db9c9eff341f54bc415341f92790ce090cb7b94c34d416ded07b59fbe6",
"md5": "400bf9fb251da4641e723fd3b208c6a4",
"sha256": "1051ce3f1746a45033d4e0773796ecd28007c2af82b95e63cbd8a426600d59e4"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "400bf9fb251da4641e723fd3b208c6a4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 214695,
"upload_time": "2025-08-11T18:34:32",
"upload_time_iso_8601": "2025-08-11T18:34:32.728264Z",
"url": "https://files.pythonhosted.org/packages/8d/f5/82db9c9eff341f54bc415341f92790ce090cb7b94c34d416ded07b59fbe6/rfernet-0.3.5-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "77e9471074c2bcdb82b782d3c0ce591cae428ad348a63ce6d8ee92a29c8da9fe",
"md5": "6c60aca1e1f4d741e481c840ba94c45d",
"sha256": "1780fa5049a2d7f227baed8bf04a34a2cbb2e324e96c9812b2adadf437485d80"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp310-cp310-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "6c60aca1e1f4d741e481c840ba94c45d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1822713,
"upload_time": "2025-08-11T18:35:06",
"upload_time_iso_8601": "2025-08-11T18:35:06.529651Z",
"url": "https://files.pythonhosted.org/packages/77/e9/471074c2bcdb82b782d3c0ce591cae428ad348a63ce6d8ee92a29c8da9fe/rfernet-0.3.5-cp310-cp310-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f83d1f76113b7eacc21ae226381a3f4344183a5fd81b1d1fe4c6ef79524b6b16",
"md5": "14a61d1a9a5fd8c5e359f4e2a70da9cb",
"sha256": "a2df32cc93f7f405564f0fd5e9456f33b91562c04e802c08b9b8e488bb864ecf"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "14a61d1a9a5fd8c5e359f4e2a70da9cb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1918322,
"upload_time": "2025-08-11T18:35:14",
"upload_time_iso_8601": "2025-08-11T18:35:14.063601Z",
"url": "https://files.pythonhosted.org/packages/f8/3d/1f76113b7eacc21ae226381a3f4344183a5fd81b1d1fe4c6ef79524b6b16/rfernet-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e62e08e15960964403c67b768c279298df2e0ca6afa60f74d72dc5bc28eb54ef",
"md5": "e32e38dbb7b555234c2883b900925f6a",
"sha256": "1d1f84b6d0719a28a895e9f78ee56fd73cc15b0ea7c73684f571170e2de2d3cf"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e32e38dbb7b555234c2883b900925f6a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 2117532,
"upload_time": "2025-08-11T18:42:59",
"upload_time_iso_8601": "2025-08-11T18:42:59.472753Z",
"url": "https://files.pythonhosted.org/packages/e6/2e/08e15960964403c67b768c279298df2e0ca6afa60f74d72dc5bc28eb54ef/rfernet-0.3.5-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "db19d99d0a25cc125e96d1f754791d01b6cf767377814cadbed340c0c38d42ac",
"md5": "56476be084f9b51ba8d81492c85b2deb",
"sha256": "71a33c229ac8a55c5645e0e37a6914203141df682f5d7040cc4d66ff1ae707fb"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "56476be084f9b51ba8d81492c85b2deb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 214067,
"upload_time": "2025-08-11T18:34:27",
"upload_time_iso_8601": "2025-08-11T18:34:27.510279Z",
"url": "https://files.pythonhosted.org/packages/db/19/d99d0a25cc125e96d1f754791d01b6cf767377814cadbed340c0c38d42ac/rfernet-0.3.5-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "16362ae954d3cd8cc916154a91c9b5b59348762b2b04cf4ca544ff3dacba659a",
"md5": "d92aaa9e7a03cadb208696245aca068a",
"sha256": "6678990086a2355894a399f51ae09d52afae712852eea76db5fc7928ece9c529"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp311-cp311-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "d92aaa9e7a03cadb208696245aca068a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1822394,
"upload_time": "2025-08-11T18:35:09",
"upload_time_iso_8601": "2025-08-11T18:35:09.189384Z",
"url": "https://files.pythonhosted.org/packages/16/36/2ae954d3cd8cc916154a91c9b5b59348762b2b04cf4ca544ff3dacba659a/rfernet-0.3.5-cp311-cp311-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dbd12ec9c7e927d29eb2458bf4de224d269fbc13c073a955a7b87342c0dd09a6",
"md5": "57f1c69b0116a090f5b39f67a013cfa2",
"sha256": "8ff4a0b307416ee5b01019a6204b27cbebd01598dcc473d8bedc9a3a189c0abb"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "57f1c69b0116a090f5b39f67a013cfa2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1918260,
"upload_time": "2025-08-11T18:35:19",
"upload_time_iso_8601": "2025-08-11T18:35:19.509404Z",
"url": "https://files.pythonhosted.org/packages/db/d1/2ec9c7e927d29eb2458bf4de224d269fbc13c073a955a7b87342c0dd09a6/rfernet-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2531c1cbc580fd7253c12b44553c0307e17e9159ba1edc8a2fc1809c56cddeed",
"md5": "70c483ebb6a9c7cb077716d2c0007ab5",
"sha256": "d2b967010b13cd782935845a26db3f01b9d12d2ab587f80b397c6ebc292cbe85"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "70c483ebb6a9c7cb077716d2c0007ab5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2117536,
"upload_time": "2025-08-11T18:43:01",
"upload_time_iso_8601": "2025-08-11T18:43:01.215764Z",
"url": "https://files.pythonhosted.org/packages/25/31/c1cbc580fd7253c12b44553c0307e17e9159ba1edc8a2fc1809c56cddeed/rfernet-0.3.5-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "723d58e5c3ea9c3a6fa071725d936837e7d21dbdf03bc1a1fc36aba591880aef",
"md5": "0795f43bb6d67b0966d7a089fe0d03d2",
"sha256": "1fad62b0a16d83c6662cb8ac56fdd573172dc393b1ee45a5c391c5ed20df7a34"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "0795f43bb6d67b0966d7a089fe0d03d2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 211850,
"upload_time": "2025-08-11T18:34:54",
"upload_time_iso_8601": "2025-08-11T18:34:54.537430Z",
"url": "https://files.pythonhosted.org/packages/72/3d/58e5c3ea9c3a6fa071725d936837e7d21dbdf03bc1a1fc36aba591880aef/rfernet-0.3.5-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c455521277903015ab38a200a450e1a383308d245f83a446f929f454697ff70e",
"md5": "5529cc603bc4058b9261f2a1d73aecb1",
"sha256": "bbd0d4bbd43707ede2474a42c1aeb7172b7d0f24c0751dc435cea1406d889d21"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp312-cp312-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "5529cc603bc4058b9261f2a1d73aecb1",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 1822262,
"upload_time": "2025-08-11T18:35:05",
"upload_time_iso_8601": "2025-08-11T18:35:05.591837Z",
"url": "https://files.pythonhosted.org/packages/c4/55/521277903015ab38a200a450e1a383308d245f83a446f929f454697ff70e/rfernet-0.3.5-cp312-cp312-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bc4eb62d235aff82eef3523af5510cc99db76e080330217410117eaf792afe00",
"md5": "853ddf4922c60c5292de1eaf1af4188e",
"sha256": "8b11cc5dc00d45230cdb8a10021da4bb2bca787a1af3e8e18d7c9ab016ca592b"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "853ddf4922c60c5292de1eaf1af4188e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 1918058,
"upload_time": "2025-08-11T18:34:57",
"upload_time_iso_8601": "2025-08-11T18:34:57.303077Z",
"url": "https://files.pythonhosted.org/packages/bc/4e/b62d235aff82eef3523af5510cc99db76e080330217410117eaf792afe00/rfernet-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "977ee20fa5f8ee38d0e453e39fd4deef79ffc1e7865ebee3829368d09009ce87",
"md5": "e4215ee52526167d5de72394476904e9",
"sha256": "ed5aecc89ea4dc255619954113a510b2ef67956cfab9c4f1f5ed558d9e8539fa"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "e4215ee52526167d5de72394476904e9",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2117779,
"upload_time": "2025-08-11T18:43:02",
"upload_time_iso_8601": "2025-08-11T18:43:02.300270Z",
"url": "https://files.pythonhosted.org/packages/97/7e/e20fa5f8ee38d0e453e39fd4deef79ffc1e7865ebee3829368d09009ce87/rfernet-0.3.5-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c7b5032e439b9a96cd8e7472e8b68f727bcaa01df5e8ef446cea73210b8e4589",
"md5": "eaa9e7d73f31c8c242374ddc1456d900",
"sha256": "1a11ae44a8bf52a6c654ae4c83c0f87b3edaaf38484303bc753994f0d9bbaf08"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "eaa9e7d73f31c8c242374ddc1456d900",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 212070,
"upload_time": "2025-08-11T18:34:11",
"upload_time_iso_8601": "2025-08-11T18:34:11.603085Z",
"url": "https://files.pythonhosted.org/packages/c7/b5/032e439b9a96cd8e7472e8b68f727bcaa01df5e8ef446cea73210b8e4589/rfernet-0.3.5-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "893a0e6f9ee749a662e62cc20bff7e54b58e4f65fb924a1d39df43792aebaa23",
"md5": "863360055c99f5c7c4897af36a43b1a0",
"sha256": "57ac9481353d1f19d3433369ebde53cab1f7ff4928b891dae13fb44c64a11d20"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp313-cp313-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "863360055c99f5c7c4897af36a43b1a0",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 1822710,
"upload_time": "2025-08-11T18:35:13",
"upload_time_iso_8601": "2025-08-11T18:35:13.055944Z",
"url": "https://files.pythonhosted.org/packages/89/3a/0e6f9ee749a662e62cc20bff7e54b58e4f65fb924a1d39df43792aebaa23/rfernet-0.3.5-cp313-cp313-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "470384035d440617be512b39fc8674482c2ac51d4dbc292b04672909aeced404",
"md5": "3c7560a5f0c7294eda33c0497c8472a7",
"sha256": "c487bc3b81fcb18c3f281808ea23dcb1bbc430911f693dd9284bde6f52cd2d43"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3c7560a5f0c7294eda33c0497c8472a7",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 1918248,
"upload_time": "2025-08-11T18:36:18",
"upload_time_iso_8601": "2025-08-11T18:36:18.952227Z",
"url": "https://files.pythonhosted.org/packages/47/03/84035d440617be512b39fc8674482c2ac51d4dbc292b04672909aeced404/rfernet-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f315ab2f5e1411cf9c03cc51229d23ee61e687d7c1effba95dba70c1df819411",
"md5": "119fc3d999bd4f6501d39317ec65d70d",
"sha256": "b230d8167679c4c576086892f8ad71b4d30cddb011dd74572c9a213903d94e7a"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "119fc3d999bd4f6501d39317ec65d70d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 2117684,
"upload_time": "2025-08-11T18:43:03",
"upload_time_iso_8601": "2025-08-11T18:43:03.611595Z",
"url": "https://files.pythonhosted.org/packages/f3/15/ab2f5e1411cf9c03cc51229d23ee61e687d7c1effba95dba70c1df819411/rfernet-0.3.5-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "08145cf2bd90bba3bf629f870c5a0d43a7cf4bff83512bded5d7b91f178d920c",
"md5": "9bc75c0140f5b490d812523810b226f2",
"sha256": "ee6ef424cf611bb9ad9f3a4f2ac61831fc80b1d8eb3aeefe3aff0725a665ff7e"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9bc75c0140f5b490d812523810b226f2",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 214819,
"upload_time": "2025-08-11T18:34:27",
"upload_time_iso_8601": "2025-08-11T18:34:27.313026Z",
"url": "https://files.pythonhosted.org/packages/08/14/5cf2bd90bba3bf629f870c5a0d43a7cf4bff83512bded5d7b91f178d920c/rfernet-0.3.5-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "50e085dae66331a3a3eba32dda8baf12c7360a82676c4e6b4c9aa04a9cc84288",
"md5": "733f8d457cc35289473c1040711e8b9c",
"sha256": "4ba3e8896601fb9f108824da3878488bd8cffc98a120eb6e0407fd56bb1358a5"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp39-cp39-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "733f8d457cc35289473c1040711e8b9c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1823187,
"upload_time": "2025-08-11T18:35:30",
"upload_time_iso_8601": "2025-08-11T18:35:30.627364Z",
"url": "https://files.pythonhosted.org/packages/50/e0/85dae66331a3a3eba32dda8baf12c7360a82676c4e6b4c9aa04a9cc84288/rfernet-0.3.5-cp39-cp39-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "90b7373c9d83adc7633ba6724eb34a4f937c6597363848c9185f9cffa9f5ab39",
"md5": "3f8416bfb138e811971dc5d409d09e71",
"sha256": "f0e50dd2cd80d281fdd994f47298c44092b7f1621fb8664e0127b082f0b81aa1"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp39-cp39-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3f8416bfb138e811971dc5d409d09e71",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1918868,
"upload_time": "2025-08-11T18:35:25",
"upload_time_iso_8601": "2025-08-11T18:35:25.205306Z",
"url": "https://files.pythonhosted.org/packages/90/b7/373c9d83adc7633ba6724eb34a4f937c6597363848c9185f9cffa9f5ab39/rfernet-0.3.5-cp39-cp39-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "18eb62697d6052ebf1ab4830d6d9cf4d7177961a023862feffa15f5b306429e4",
"md5": "da72200b710d7a91c371b34719449d90",
"sha256": "44d2a9284c24559b784d5891461202b0cad2a1b33040cb598554e25c5584f977"
},
"downloads": -1,
"filename": "rfernet-0.3.5-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "da72200b710d7a91c371b34719449d90",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 2117860,
"upload_time": "2025-08-11T18:43:04",
"upload_time_iso_8601": "2025-08-11T18:43:04.667155Z",
"url": "https://files.pythonhosted.org/packages/18/eb/62697d6052ebf1ab4830d6d9cf4d7177961a023862feffa15f5b306429e4/rfernet-0.3.5-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "da29109469a60a4724a7014f7b95b72b5cb82556a9660b86e5a2b00de9e80eb1",
"md5": "614e160289c673254bb3e158778fbcf4",
"sha256": "07e98fc5d2a5ae6af4b529f113197c5f0c7bce7f03fdbd4d4f764ab27ac949f6"
},
"downloads": -1,
"filename": "rfernet-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "614e160289c673254bb3e158778fbcf4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6010,
"upload_time": "2025-08-11T18:33:45",
"upload_time_iso_8601": "2025-08-11T18:33:45.618614Z",
"url": "https://files.pythonhosted.org/packages/da/29/109469a60a4724a7014f7b95b72b5cb82556a9660b86e5a2b00de9e80eb1/rfernet-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-11 18:33:45",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rfernet"
}