# zksnake
Python implementation of zk-SNARKs (Zero Knowledge Succint Non-interactive ARgument of Knowledge) using simple symbolic expression.
<!-- prettier-ignore-start -->
> [!WARNING]
**This library is intended to be used as proof of concept, prototyping, and educational purpose only. It is still unstable and not fully tested!**
<!-- prettier-ignore-end -->
## Proving schemes and curves
zksnake currently only supports [**Groth16**](https://eprint.iacr.org/2016/260.pdf) and [**PlonK**](https://eprint.iacr.org/2019/953.pdf) (original version) along with `BN254` and `BLS12-381` as supported curves. More proving schemes will be implemented in the future (hopefully).
## Usage
### Build constraints
```python
from zksnake.arithmetization import Var, ConstraintSystem, R1CS
from zksnake.constant import BN254_SCALAR_FIELD
x = Var('x')
y = Var('y')
v1 = Var('v1')
# prove the solution of y == x**3 + x + 5
# with x as input and y as output
cs = ConstraintSystem(['x'], ['y'], BN254_SCALAR_FIELD)
cs.add_constraint(v1 == x * x)
cs.add_constraint(y - 5 - x == v1 * x)
cs.set_public(y)
r1cs = R1CS(cs)
r1cs.compile()
```
Alternatively, you can import the constraints from [Circom](https://github.com/iden3/circom):
```python
from zksnake.arithmetization import R1CS
r1cs = R1CS.from_file("circuit.r1cs", "circuit.sym")
r1cs.compile()
```
Note that some constraints that are complex or expensive (require off-circuit computation) cannot be imported directly and require you to add "hint" function to pre-define the variable value (see [Example](./examples/example_bitify_circom.py)).
### Prove and verify proof
```python
from zksnake.groth16 import Groth16
# trusted setup
proof_system = Groth16(r1cs)
proof_system.setup()
# solve the constraint system
solution = r1cs.solve({'x': 3})
public_witness, private_witness = r1cs.generate_witness(solution)
# proving
proof = proof_system.prove(public_witness, private_witness)
# verification
assert proof_system.verify(proof, public_witness)
```
## Development
Requirements:
- python3 >= 3.9
- rust >= 1.77
Install maturin:
```
pip install maturin
```
Setup virtual environment:
```
python3 -m venv .venv
source .venv/bin/activate
```
Compile and install the editable module into venv:
```
maturin develop -r -E dev
```
Test the script:
```
python3 -m pytest tests
```
Raw data
{
"_id": null,
"home_page": null,
"name": "zksnake",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Merricx <imam@merri.cx>",
"keywords": "cryptography, zksnark, zkp, r1cs, zk-snarks",
"author": null,
"author_email": "Merricx <imam@merri.cx>",
"download_url": "https://files.pythonhosted.org/packages/fa/88/5837db4105126ed3ee6c901675972243386f62bdc5ee61df8f8a50213347/zksnake-0.1.0.tar.gz",
"platform": null,
"description": "# zksnake\n\nPython implementation of zk-SNARKs (Zero Knowledge Succint Non-interactive ARgument of Knowledge) using simple symbolic expression.\n\n<!-- prettier-ignore-start -->\n> [!WARNING] \n**This library is intended to be used as proof of concept, prototyping, and educational purpose only. It is still unstable and not fully tested!**\n<!-- prettier-ignore-end -->\n\n## Proving schemes and curves\n\nzksnake currently only supports [**Groth16**](https://eprint.iacr.org/2016/260.pdf) and [**PlonK**](https://eprint.iacr.org/2019/953.pdf) (original version) along with `BN254` and `BLS12-381` as supported curves. More proving schemes will be implemented in the future (hopefully).\n\n## Usage\n\n### Build constraints\n\n```python\nfrom zksnake.arithmetization import Var, ConstraintSystem, R1CS\nfrom zksnake.constant import BN254_SCALAR_FIELD\n\nx = Var('x')\ny = Var('y')\nv1 = Var('v1')\n\n# prove the solution of y == x**3 + x + 5\n# with x as input and y as output\ncs = ConstraintSystem(['x'], ['y'], BN254_SCALAR_FIELD)\ncs.add_constraint(v1 == x * x)\ncs.add_constraint(y - 5 - x == v1 * x)\ncs.set_public(y)\n\nr1cs = R1CS(cs)\nr1cs.compile()\n```\n\nAlternatively, you can import the constraints from [Circom](https://github.com/iden3/circom):\n\n```python\nfrom zksnake.arithmetization import R1CS\n\nr1cs = R1CS.from_file(\"circuit.r1cs\", \"circuit.sym\")\nr1cs.compile()\n```\n\nNote that some constraints that are complex or expensive (require off-circuit computation) cannot be imported directly and require you to add \"hint\" function to pre-define the variable value (see [Example](./examples/example_bitify_circom.py)).\n\n### Prove and verify proof\n\n```python\nfrom zksnake.groth16 import Groth16\n\n# trusted setup\nproof_system = Groth16(r1cs)\nproof_system.setup()\n\n# solve the constraint system\nsolution = r1cs.solve({'x': 3})\npublic_witness, private_witness = r1cs.generate_witness(solution)\n\n# proving\nproof = proof_system.prove(public_witness, private_witness)\n\n# verification\nassert proof_system.verify(proof, public_witness)\n```\n\n## Development\n\nRequirements:\n\n- python3 >= 3.9\n- rust >= 1.77\n\nInstall maturin:\n\n```\npip install maturin\n```\n\nSetup virtual environment:\n\n```\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\nCompile and install the editable module into venv:\n\n```\nmaturin develop -r -E dev\n```\n\nTest the script:\n\n```\npython3 -m pytest tests\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "zkSNARKs in Python",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/merricx/zksnake/issues",
"Homepage": "https://github.com/merricx/zksnake",
"Repository": "https://github.com/merricx/zksnake.git"
},
"split_keywords": [
"cryptography",
" zksnark",
" zkp",
" r1cs",
" zk-snarks"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "642037d278a577bd25d46aab6d38257ea5e823310ac84f182b429b080e0245f6",
"md5": "fbf45757bcc53861746b872e73869eb4",
"sha256": "b970de7e8b491ecdf754cf6218b5ddfa098202fc68ea02f47c2063af54a4b889"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "fbf45757bcc53861746b872e73869eb4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1081317,
"upload_time": "2025-02-23T20:23:00",
"upload_time_iso_8601": "2025-02-23T20:23:00.510140Z",
"url": "https://files.pythonhosted.org/packages/64/20/37d278a577bd25d46aab6d38257ea5e823310ac84f182b429b080e0245f6/zksnake-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "973b042168714d24032fd9d7a5c75aa64adb599d3a32b6081883f6e6dba9f2db",
"md5": "a32f26af3f9a08e27d0ba7a92fa72ddb",
"sha256": "b40cb54710eaffa2d12e0f9d41caf7a684be6b437e460c349f906f125820706e"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "a32f26af3f9a08e27d0ba7a92fa72ddb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1705124,
"upload_time": "2025-02-23T20:23:14",
"upload_time_iso_8601": "2025-02-23T20:23:14.253035Z",
"url": "https://files.pythonhosted.org/packages/97/3b/042168714d24032fd9d7a5c75aa64adb599d3a32b6081883f6e6dba9f2db/zksnake-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dea138edfb7a87001795d0dcce7682c69be5c06179f0c9436f96ee3536e1d21c",
"md5": "1ac727fa71e2acdb25dbf7570966314e",
"sha256": "9ed7eb59d101e5664c37df2782e4b16ddd049841ac4fd2e4a60af32edaa33f33"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "1ac727fa71e2acdb25dbf7570966314e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1551421,
"upload_time": "2025-02-23T20:23:58",
"upload_time_iso_8601": "2025-02-23T20:23:58.184740Z",
"url": "https://files.pythonhosted.org/packages/de/a1/38edfb7a87001795d0dcce7682c69be5c06179f0c9436f96ee3536e1d21c/zksnake-0.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b2c65980505fa21b473a3f0c6ce70d246e35ee170c4d38e2b9761480ab32bb0",
"md5": "abde7ad23191117e0ba7863acf67195e",
"sha256": "fa857e44dde6e2dce5a1b88adfd2bcd9e37d0a92f6abfba2061507f84d292403"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "abde7ad23191117e0ba7863acf67195e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1236404,
"upload_time": "2025-02-23T20:23:30",
"upload_time_iso_8601": "2025-02-23T20:23:30.969623Z",
"url": "https://files.pythonhosted.org/packages/6b/2c/65980505fa21b473a3f0c6ce70d246e35ee170c4d38e2b9761480ab32bb0/zksnake-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7577a4134a3624b22e7e1c1a0af0dfd5572835322d1151916e93516314d3d8fe",
"md5": "689f72bf2e9c4cec852738b22329b5bb",
"sha256": "5f64111b22ec800bc5482f7c94d102ae76d62d0dff1cc37521d170763f92dc36"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "689f72bf2e9c4cec852738b22329b5bb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1381296,
"upload_time": "2025-02-23T20:23:44",
"upload_time_iso_8601": "2025-02-23T20:23:44.845460Z",
"url": "https://files.pythonhosted.org/packages/75/77/a4134a3624b22e7e1c1a0af0dfd5572835322d1151916e93516314d3d8fe/zksnake-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "144e1f447a503063d15214c7e1d2c8a7cb1d432a45479b5bd29b5177e91b9260",
"md5": "28ec4c5ad37854c7047ee601ae83ac42",
"sha256": "673e2a62e60d68ac579667245038f7d69ef58fe250258b98607e099a38c97285"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "28ec4c5ad37854c7047ee601ae83ac42",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1034330,
"upload_time": "2025-02-23T20:24:09",
"upload_time_iso_8601": "2025-02-23T20:24:09.380121Z",
"url": "https://files.pythonhosted.org/packages/14/4e/1f447a503063d15214c7e1d2c8a7cb1d432a45479b5bd29b5177e91b9260/zksnake-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c94c3b45a5cbcd9af3c186eb7c4d4beda7ae651a53c7262da49504462517485c",
"md5": "3465db4ebadb7ae41de7d84c02635c8a",
"sha256": "cdb749d4dd8570ea297ef78258a0016a135e0a8bf5dd31f5f1939a972bb626d5"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "3465db4ebadb7ae41de7d84c02635c8a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1116784,
"upload_time": "2025-02-23T20:24:37",
"upload_time_iso_8601": "2025-02-23T20:24:37.870526Z",
"url": "https://files.pythonhosted.org/packages/c9/4c/3b45a5cbcd9af3c186eb7c4d4beda7ae651a53c7262da49504462517485c/zksnake-0.1.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "41d475fa93ede44e3c6bd8759e379e2961ef65ee94bbce884d596753f05bd750",
"md5": "935ba1d6af508f6ffed70eaae4ce498c",
"sha256": "de741f12546a3ec0cfcf93d3fe21fccd426445b66df2110a2e2396d33b3278b0"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "935ba1d6af508f6ffed70eaae4ce498c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 816845,
"upload_time": "2025-02-23T20:24:30",
"upload_time_iso_8601": "2025-02-23T20:24:30.352621Z",
"url": "https://files.pythonhosted.org/packages/41/d4/75fa93ede44e3c6bd8759e379e2961ef65ee94bbce884d596753f05bd750/zksnake-0.1.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "074c3e6229c3b63dbb5e90e7e5ab9be53f0171424c6d2019eaaa5d683da14dea",
"md5": "c9dc1fe48a1f9c17152db5e0bb7b27dc",
"sha256": "88a8b93c1d8713417c9c9723dd78c081d98af8176d9e6544b69eb4fef06e7c2a"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "c9dc1fe48a1f9c17152db5e0bb7b27dc",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 987823,
"upload_time": "2025-02-23T20:24:23",
"upload_time_iso_8601": "2025-02-23T20:24:23.879495Z",
"url": "https://files.pythonhosted.org/packages/07/4c/3e6229c3b63dbb5e90e7e5ab9be53f0171424c6d2019eaaa5d683da14dea/zksnake-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0480433be0b09c9a6144a0c1d8c2ae6d3dada87ee2017307b32c14d9fc7ebdd2",
"md5": "9701367e66fcd7d1cb08991ac0268cbf",
"sha256": "d9bbc3be177f20be588d7d1ee540eacbc196e8685d2421a584b40d3ed1abbd8a"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9701367e66fcd7d1cb08991ac0268cbf",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 997718,
"upload_time": "2025-02-23T20:24:20",
"upload_time_iso_8601": "2025-02-23T20:24:20.277206Z",
"url": "https://files.pythonhosted.org/packages/04/80/433be0b09c9a6144a0c1d8c2ae6d3dada87ee2017307b32c14d9fc7ebdd2/zksnake-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "35b9f05ec9d4dc9bc65f978af43149485c80284e963b02f38f74e98851c20a8d",
"md5": "5e4224621bce3676e33ac2aa2e5f3c99",
"sha256": "a8546cc5b29cd47a1c7e56815e17bc1733ae6115f3a4584b50e125995fba99a5"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "5e4224621bce3676e33ac2aa2e5f3c99",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1080125,
"upload_time": "2025-02-23T20:23:02",
"upload_time_iso_8601": "2025-02-23T20:23:02.642897Z",
"url": "https://files.pythonhosted.org/packages/35/b9/f05ec9d4dc9bc65f978af43149485c80284e963b02f38f74e98851c20a8d/zksnake-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dcde0d2f6b45451c75179969e8ef5936fa62ceaa963e89eaebaf35f898faba43",
"md5": "43c438e0378c7e824b1b80c84f7d3d10",
"sha256": "b3258114153e55afff3e694eec4a0a1017c176cbf4799e494c40d74e3917d772"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "43c438e0378c7e824b1b80c84f7d3d10",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1706342,
"upload_time": "2025-02-23T20:23:16",
"upload_time_iso_8601": "2025-02-23T20:23:16.280792Z",
"url": "https://files.pythonhosted.org/packages/dc/de/0d2f6b45451c75179969e8ef5936fa62ceaa963e89eaebaf35f898faba43/zksnake-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a7bbee62a7001366f548a1663ccf7937f07762775d2e6d954cabb8a60b8c4e67",
"md5": "92f414a7ea65ce53cff6457fbba353b4",
"sha256": "b66c2e6d8ebca600d3f59d5741f922df98cf53295731952df041b2813e2c186f"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "92f414a7ea65ce53cff6457fbba353b4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1551493,
"upload_time": "2025-02-23T20:24:00",
"upload_time_iso_8601": "2025-02-23T20:24:00.326539Z",
"url": "https://files.pythonhosted.org/packages/a7/bb/ee62a7001366f548a1663ccf7937f07762775d2e6d954cabb8a60b8c4e67/zksnake-0.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f511b88596a83ea0838b4f069e6c9d72b9ab30d3a8b1919ef783f7f8807814f4",
"md5": "7c346470b2e2eaee066c4bc70e222cc4",
"sha256": "9bc79c07f1c503b9f0d5d91213581be84c2e7ecfdfb3020c7e196e4e7135de39"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "7c346470b2e2eaee066c4bc70e222cc4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1235947,
"upload_time": "2025-02-23T20:23:32",
"upload_time_iso_8601": "2025-02-23T20:23:32.341859Z",
"url": "https://files.pythonhosted.org/packages/f5/11/b88596a83ea0838b4f069e6c9d72b9ab30d3a8b1919ef783f7f8807814f4/zksnake-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "57c0d694ca4eb14fb9576cc9144bfc66b149a24276bb98e41667b5beb0621df9",
"md5": "f3d9e7cacc043dd2e8e44f0e97d697d0",
"sha256": "27a359298e0a4b51b42e41dad8fe886676476fc6004d9548a932f7d12cc68234"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "f3d9e7cacc043dd2e8e44f0e97d697d0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1380891,
"upload_time": "2025-02-23T20:23:46",
"upload_time_iso_8601": "2025-02-23T20:23:46.250622Z",
"url": "https://files.pythonhosted.org/packages/57/c0/d694ca4eb14fb9576cc9144bfc66b149a24276bb98e41667b5beb0621df9/zksnake-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "237327c250166577d7adb1de695d37d3d1b5a1bd0835045f0a0d695e8009aa94",
"md5": "1afa65c9b9465f4ccf18d2f3387d5fce",
"sha256": "a5e4d746b602816cc8c89400dbcb604216f58b162a85348f10305197681f018d"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1afa65c9b9465f4ccf18d2f3387d5fce",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1033564,
"upload_time": "2025-02-23T20:24:11",
"upload_time_iso_8601": "2025-02-23T20:24:11.435181Z",
"url": "https://files.pythonhosted.org/packages/23/73/27c250166577d7adb1de695d37d3d1b5a1bd0835045f0a0d695e8009aa94/zksnake-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "249a00f2f10751445b97fc9c8050e2afc695d37273deb606b6c98f36779d7a0d",
"md5": "d30d4c39afa2addf8a8aaec9a19dbd8b",
"sha256": "eb589aac99a6a4c603efa6ae6bdf7a08496be56913b8dec3af391a1630802070"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "d30d4c39afa2addf8a8aaec9a19dbd8b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1116299,
"upload_time": "2025-02-23T20:24:39",
"upload_time_iso_8601": "2025-02-23T20:24:39.579626Z",
"url": "https://files.pythonhosted.org/packages/24/9a/00f2f10751445b97fc9c8050e2afc695d37273deb606b6c98f36779d7a0d/zksnake-0.1.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "17c5f55751a49b62823effd287f4ac587b75fed8eb78886f333f72e458190b98",
"md5": "98647bd0c377e75f97ad5d2360c57bb2",
"sha256": "035bb278847c1767b608fd807efc4f86e35767bf518391929288f69f7fcb9e66"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "98647bd0c377e75f97ad5d2360c57bb2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 817241,
"upload_time": "2025-02-23T20:24:31",
"upload_time_iso_8601": "2025-02-23T20:24:31.622354Z",
"url": "https://files.pythonhosted.org/packages/17/c5/f55751a49b62823effd287f4ac587b75fed8eb78886f333f72e458190b98/zksnake-0.1.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "acf06f7a88ccc7fe4162574de4f5a77cfb09979ce1d78d3bd923d0db4051d067",
"md5": "b741fd5e6c0fc530fceea7ef0cde40aa",
"sha256": "149eb71dc589c2ac9a9e4fd8784eb58675c84bd89ff8e117aa01940f121d8de7"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "b741fd5e6c0fc530fceea7ef0cde40aa",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 985865,
"upload_time": "2025-02-23T20:24:26",
"upload_time_iso_8601": "2025-02-23T20:24:26.080187Z",
"url": "https://files.pythonhosted.org/packages/ac/f0/6f7a88ccc7fe4162574de4f5a77cfb09979ce1d78d3bd923d0db4051d067/zksnake-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b45703ae5539399c685c93f74138e04be57cca0098a19153390c95cbd8a466ed",
"md5": "9c498ef84732022f52e5a4ca3d984efc",
"sha256": "df277f4b52cbb79a83144c03851ab41af6291eb9070ad45854bc32345a20b7eb"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9c498ef84732022f52e5a4ca3d984efc",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1007624,
"upload_time": "2025-02-23T20:24:21",
"upload_time_iso_8601": "2025-02-23T20:24:21.460549Z",
"url": "https://files.pythonhosted.org/packages/b4/57/03ae5539399c685c93f74138e04be57cca0098a19153390c95cbd8a466ed/zksnake-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8fdacbb0ee99e73b715f0c62ac54d4a164c9e424d7c8f8b327c70db202ca939",
"md5": "86288dabbcc3943727fb4b27fade9f08",
"sha256": "bab06de16584f6b7c4b83e589f653876f734ee454be404f62ca953bb8cf4c46e"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "86288dabbcc3943727fb4b27fade9f08",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1076946,
"upload_time": "2025-02-23T20:23:06",
"upload_time_iso_8601": "2025-02-23T20:23:06.240166Z",
"url": "https://files.pythonhosted.org/packages/b8/fd/acbb0ee99e73b715f0c62ac54d4a164c9e424d7c8f8b327c70db202ca939/zksnake-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a624e94fbdeeb325646742d2c4149722a24212a0e65ec547100421bdc502d0fc",
"md5": "4f9b99eff244830ec1b7ff77383f1084",
"sha256": "83b9f7fe6abcb809477014d1bc0b7a960798b12764ce2115e756303e675c532c"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "4f9b99eff244830ec1b7ff77383f1084",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1709863,
"upload_time": "2025-02-23T20:23:18",
"upload_time_iso_8601": "2025-02-23T20:23:18.371485Z",
"url": "https://files.pythonhosted.org/packages/a6/24/e94fbdeeb325646742d2c4149722a24212a0e65ec547100421bdc502d0fc/zksnake-0.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "73d8a357ae76762d210d439ebebf6504a218164394e5adfd61ded011cf07a395",
"md5": "c2b641f56effd04d2ba69a4a6e0938e1",
"sha256": "9d202b972473fdc5f36dae6abebad8e78df08ae48bc02e7c334e0b5fe2d66930"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "c2b641f56effd04d2ba69a4a6e0938e1",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1546421,
"upload_time": "2025-02-23T20:24:01",
"upload_time_iso_8601": "2025-02-23T20:24:01.814913Z",
"url": "https://files.pythonhosted.org/packages/73/d8/a357ae76762d210d439ebebf6504a218164394e5adfd61ded011cf07a395/zksnake-0.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f7fb2285fc62157eac27a029e5e9702f6a55dbd6372a1032d9e1a869f2108c33",
"md5": "a52883e457867fa1213ccbd20e7a3d0f",
"sha256": "d731e9c868b194ce0dc70973642234b0c5bdc56f5d8e6675df6140693fb6959a"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "a52883e457867fa1213ccbd20e7a3d0f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1257969,
"upload_time": "2025-02-23T20:23:33",
"upload_time_iso_8601": "2025-02-23T20:23:33.595866Z",
"url": "https://files.pythonhosted.org/packages/f7/fb/2285fc62157eac27a029e5e9702f6a55dbd6372a1032d9e1a869f2108c33/zksnake-0.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0a2d8266c7508981e6015a290124dd5a49c6f5390c015cbb8f66406a2ad9d58c",
"md5": "411a2c152ff59c0144f7813c99e80bb5",
"sha256": "90973be7898596d4c122c81d0a2775721dcf5e13220a41d4e370cb52fb98f778"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "411a2c152ff59c0144f7813c99e80bb5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1335171,
"upload_time": "2025-02-23T20:23:48",
"upload_time_iso_8601": "2025-02-23T20:23:48.307188Z",
"url": "https://files.pythonhosted.org/packages/0a/2d/8266c7508981e6015a290124dd5a49c6f5390c015cbb8f66406a2ad9d58c/zksnake-0.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "420d793aa099001876f041d53dc2cadc7bb82a9c519d925ea496aab9db3aea3d",
"md5": "756efaeb55d3d462112f78dd01ba16e4",
"sha256": "251368d416a798ff288b1075604d54b88b26262fdbac619260fb322660551480"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "756efaeb55d3d462112f78dd01ba16e4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1036011,
"upload_time": "2025-02-23T20:24:13",
"upload_time_iso_8601": "2025-02-23T20:24:13.502986Z",
"url": "https://files.pythonhosted.org/packages/42/0d/793aa099001876f041d53dc2cadc7bb82a9c519d925ea496aab9db3aea3d/zksnake-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "890f30fb0e80ff74a4944836267d3d912ccb7c184386e23c3c357795a6267ba8",
"md5": "398ce07f14fb914f79a09a2871c3263c",
"sha256": "fbd564da872798521893381ef00773a48cd5637ec9e2c5ba4e0e04023f394da8"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "398ce07f14fb914f79a09a2871c3263c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1101523,
"upload_time": "2025-02-23T20:24:40",
"upload_time_iso_8601": "2025-02-23T20:24:40.827724Z",
"url": "https://files.pythonhosted.org/packages/89/0f/30fb0e80ff74a4944836267d3d912ccb7c184386e23c3c357795a6267ba8/zksnake-0.1.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0abb367696ae1a635603bf88c8d68b55f31582235af40bee24da1169649ccc30",
"md5": "1ba1824a3761ebadb455d5a3079b01ca",
"sha256": "96a687038f68ee8026a5dc04f994496be2cddfc8a80feb3482f43b0d4611e4e4"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "1ba1824a3761ebadb455d5a3079b01ca",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 820970,
"upload_time": "2025-02-23T20:24:32",
"upload_time_iso_8601": "2025-02-23T20:24:32.854535Z",
"url": "https://files.pythonhosted.org/packages/0a/bb/367696ae1a635603bf88c8d68b55f31582235af40bee24da1169649ccc30/zksnake-0.1.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "91c78791651f072e12a4dd542feb80f36119afc6a43d5bab6b44d81a9540888c",
"md5": "4c224a14f6902400ad69a34262510600",
"sha256": "490ad44bed9c2dce562a8f8bbffee600e5badaffd88affe4f376326fba15fb96"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "4c224a14f6902400ad69a34262510600",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 985994,
"upload_time": "2025-02-23T20:24:27",
"upload_time_iso_8601": "2025-02-23T20:24:27.339250Z",
"url": "https://files.pythonhosted.org/packages/91/c7/8791651f072e12a4dd542feb80f36119afc6a43d5bab6b44d81a9540888c/zksnake-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c55915b4587fb6aa5242d78e20804a9468159602e430311fed0005f49a98726",
"md5": "7a50c97a8986f9d28b2f50f736cfd192",
"sha256": "2876d42e8bc29244f43e19909ec29ef486afa199751e626fab00bc7d8431901c"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7a50c97a8986f9d28b2f50f736cfd192",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1007475,
"upload_time": "2025-02-23T20:24:22",
"upload_time_iso_8601": "2025-02-23T20:24:22.671802Z",
"url": "https://files.pythonhosted.org/packages/7c/55/915b4587fb6aa5242d78e20804a9468159602e430311fed0005f49a98726/zksnake-0.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "80f0fb5984c4846cd9abec90891853968471a80164d736d81eba26233d6965ac",
"md5": "6f635f8bf2627310b1cfb37308dfab1e",
"sha256": "7fe9101fdd4eb9b6d2f5bb9ead6b7879d07ae28717765240219f62bc60613ca7"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "6f635f8bf2627310b1cfb37308dfab1e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1076950,
"upload_time": "2025-02-23T20:23:08",
"upload_time_iso_8601": "2025-02-23T20:23:08.258280Z",
"url": "https://files.pythonhosted.org/packages/80/f0/fb5984c4846cd9abec90891853968471a80164d736d81eba26233d6965ac/zksnake-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b95cc9d92f428dbb200663d07941e0ca061f66b7686295203ee296afe9c42927",
"md5": "1167cd1402ca5cd32977541c9fd5fe45",
"sha256": "2d2789646711d6b4adbd43931601fde1fa197426c3e613c15104b1f954b5a204"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "1167cd1402ca5cd32977541c9fd5fe45",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1709643,
"upload_time": "2025-02-23T20:23:21",
"upload_time_iso_8601": "2025-02-23T20:23:21.904911Z",
"url": "https://files.pythonhosted.org/packages/b9/5c/c9d92f428dbb200663d07941e0ca061f66b7686295203ee296afe9c42927/zksnake-0.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31cc1b384799f0a5c7933467f39592ac4d98bcba9b4938385603277e54c3a747",
"md5": "3aa606b512b64bcb0931519097ab3db6",
"sha256": "f39d633e4f64744c12fa61a98eecc352c7f93e38bef91d641eda0f697d7da320"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "3aa606b512b64bcb0931519097ab3db6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1546101,
"upload_time": "2025-02-23T20:24:03",
"upload_time_iso_8601": "2025-02-23T20:24:03.169251Z",
"url": "https://files.pythonhosted.org/packages/31/cc/1b384799f0a5c7933467f39592ac4d98bcba9b4938385603277e54c3a747/zksnake-0.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eb1551236b17e683d73a5e71c8b9416993d7e50718a751473982b3009bcd07ee",
"md5": "acf3079fc176acb57b686bd94effc26b",
"sha256": "46b2a30363cad5bc53be300d9e5730162db3cbdb26f21556221fe794815d0c1b"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "acf3079fc176acb57b686bd94effc26b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1257387,
"upload_time": "2025-02-23T20:23:35",
"upload_time_iso_8601": "2025-02-23T20:23:35.990837Z",
"url": "https://files.pythonhosted.org/packages/eb/15/51236b17e683d73a5e71c8b9416993d7e50718a751473982b3009bcd07ee/zksnake-0.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0d9e9baf6559c7e9c3937b6155ca6b36b3637eaa9bc543cb17caa44618239e1a",
"md5": "40ecddb021c6e48562706f8032e8c4b5",
"sha256": "80982b1a4c0a0a9b02a7daa1183a2d5b1101f29183f5ef25577567b60e47520f"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "40ecddb021c6e48562706f8032e8c4b5",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1334854,
"upload_time": "2025-02-23T20:23:49",
"upload_time_iso_8601": "2025-02-23T20:23:49.786809Z",
"url": "https://files.pythonhosted.org/packages/0d/9e/9baf6559c7e9c3937b6155ca6b36b3637eaa9bc543cb17caa44618239e1a/zksnake-0.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "150627275f4f2698a0ace0a24cb447b48fb8db32d5567baba77f9137fe0b30e0",
"md5": "f9a761bb175c41be0ab777f9d3e06c87",
"sha256": "995ef89fbfdaa5c29154d933619d50dc73f094f39348afd0c170f42754d1c486"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f9a761bb175c41be0ab777f9d3e06c87",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1035777,
"upload_time": "2025-02-23T20:24:15",
"upload_time_iso_8601": "2025-02-23T20:24:15.710011Z",
"url": "https://files.pythonhosted.org/packages/15/06/27275f4f2698a0ace0a24cb447b48fb8db32d5567baba77f9137fe0b30e0/zksnake-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0458249aad38886f8e5afd0c3c3acaae0e3556051bde93dd02006da32ddab7db",
"md5": "a6ffe3dac79280f61e7c9a59afb6dff6",
"sha256": "81f6665902910d0854164685f21244bc7175ee5389840c08aa7a8ca04d6ce35d"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "a6ffe3dac79280f61e7c9a59afb6dff6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1101505,
"upload_time": "2025-02-23T20:24:42",
"upload_time_iso_8601": "2025-02-23T20:24:42.017013Z",
"url": "https://files.pythonhosted.org/packages/04/58/249aad38886f8e5afd0c3c3acaae0e3556051bde93dd02006da32ddab7db/zksnake-0.1.0-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6376a23d65e1c76e3de41a489de366cd9ae45e79d63974bd0619dfa93eeebb04",
"md5": "aa28f4be384ab3ba8d2c799f1bd498fb",
"sha256": "8376a8628f38fcbc1eeb39a589e433ecf67f2484542279c261388e75afae3c0d"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "aa28f4be384ab3ba8d2c799f1bd498fb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 820735,
"upload_time": "2025-02-23T20:24:35",
"upload_time_iso_8601": "2025-02-23T20:24:35.356002Z",
"url": "https://files.pythonhosted.org/packages/63/76/a23d65e1c76e3de41a489de366cd9ae45e79d63974bd0619dfa93eeebb04/zksnake-0.1.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "72c3ea284f1c723bb4399f50fac5e0e0a4311602d90c17376f75e77c61ec9e3e",
"md5": "9b1cf25d92bfa3387d76e45b44b296f3",
"sha256": "496a27ea88017d6086975b8568949ec220159ea4f7cca21d8a716edc51a35918"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9b1cf25d92bfa3387d76e45b44b296f3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 998282,
"upload_time": "2025-02-23T20:03:51",
"upload_time_iso_8601": "2025-02-23T20:03:51.543805Z",
"url": "https://files.pythonhosted.org/packages/72/c3/ea284f1c723bb4399f50fac5e0e0a4311602d90c17376f75e77c61ec9e3e/zksnake-0.1.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5ae83a7a3ce1870a168247b84ab7da134d29847815bb4ab8e701a9fff4ecb322",
"md5": "009416f8ff3c1faa26a863369132d231",
"sha256": "38348d668aa2646da9ae394d3a43eccd46a0659643c51960f60037055f4a7e47"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "009416f8ff3c1faa26a863369132d231",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1081828,
"upload_time": "2025-02-23T20:23:10",
"upload_time_iso_8601": "2025-02-23T20:23:10.343361Z",
"url": "https://files.pythonhosted.org/packages/5a/e8/3a7a3ce1870a168247b84ab7da134d29847815bb4ab8e701a9fff4ecb322/zksnake-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a44e8b7db13229bf572f609b1824d087225b5afd461d3c41cb88c9fd6df11728",
"md5": "91ffdc73c432aaaa2b98fdb3d56fe3f9",
"sha256": "b35174a609f77494474d58ecc48e64a5494d5d4624d2ee64abb2037611c82252"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "91ffdc73c432aaaa2b98fdb3d56fe3f9",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1705774,
"upload_time": "2025-02-23T20:23:23",
"upload_time_iso_8601": "2025-02-23T20:23:23.262935Z",
"url": "https://files.pythonhosted.org/packages/a4/4e/8b7db13229bf572f609b1824d087225b5afd461d3c41cb88c9fd6df11728/zksnake-0.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c26326ec031e9019a4c799ac71ba44ddc0d19a9722efcf568ae8924cc0201fb",
"md5": "58272a039403b746a6e8c13e75939457",
"sha256": "e0779244721a5646cc020b30fcd8acb1b6207daa9934d0947e260d6b135e2424"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "58272a039403b746a6e8c13e75939457",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1551755,
"upload_time": "2025-02-23T20:24:04",
"upload_time_iso_8601": "2025-02-23T20:24:04.542872Z",
"url": "https://files.pythonhosted.org/packages/6c/26/326ec031e9019a4c799ac71ba44ddc0d19a9722efcf568ae8924cc0201fb/zksnake-0.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "439081a1cae0fe030a073d51340f4216ac0eb5e5f43902621cc4eb466cb34d9f",
"md5": "864567945271cd994901ebbdba1f701d",
"sha256": "349c612765b4bf8333503c66f5bca3bd9ea43e8b520fff7486ea2b816f34c896"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "864567945271cd994901ebbdba1f701d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1237973,
"upload_time": "2025-02-23T20:23:38",
"upload_time_iso_8601": "2025-02-23T20:23:38.079109Z",
"url": "https://files.pythonhosted.org/packages/43/90/81a1cae0fe030a073d51340f4216ac0eb5e5f43902621cc4eb466cb34d9f/zksnake-0.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9d208fec24d05589ff4fdd61d6fc874d799452e2a28e5473f764452915ebce2d",
"md5": "11f30152b4fd92308f6138a949fc33e8",
"sha256": "7cfed8012d6ccdf67e3b87ac55c85b7d58a98cbcf7bad7140398d4285d4f99d7"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "11f30152b4fd92308f6138a949fc33e8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1383035,
"upload_time": "2025-02-23T20:23:51",
"upload_time_iso_8601": "2025-02-23T20:23:51.919223Z",
"url": "https://files.pythonhosted.org/packages/9d/20/8fec24d05589ff4fdd61d6fc874d799452e2a28e5473f764452915ebce2d/zksnake-0.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99317a228689e6d7a660fc277fea787b79f91dfb0e04d9e89408df83632f93ab",
"md5": "72f6f0d67278b403152a83366028f928",
"sha256": "f6f5e379cfb9275b9231739f6273f53de689eba8e3526affd49c9431f84d73f1"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "72f6f0d67278b403152a83366028f928",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1034901,
"upload_time": "2025-02-23T20:24:16",
"upload_time_iso_8601": "2025-02-23T20:24:16.992708Z",
"url": "https://files.pythonhosted.org/packages/99/31/7a228689e6d7a660fc277fea787b79f91dfb0e04d9e89408df83632f93ab/zksnake-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "12b1bbb2d93b4e6b135bb339795c38d07ed3bbb265b2c3dd15eebe2c14639637",
"md5": "f687e9c1c03f84a720c216c0cb93fc57",
"sha256": "fc89611432d2e09d26c61a1c882b8e83db09480c16fb88398917e902d7c9cb1c"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "f687e9c1c03f84a720c216c0cb93fc57",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1117337,
"upload_time": "2025-02-23T20:24:44",
"upload_time_iso_8601": "2025-02-23T20:24:44.078023Z",
"url": "https://files.pythonhosted.org/packages/12/b1/bbb2d93b4e6b135bb339795c38d07ed3bbb265b2c3dd15eebe2c14639637/zksnake-0.1.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c802ef2b65238c6a6e95ec3f8ac3a83c35f5e434da55446b54b193859286a3e9",
"md5": "f371e3a1171bc67a43a868f87d947373",
"sha256": "4e3cea70c0d5dcc2f84457411ec0c7ad6a14928df83e82106654e67837251190"
},
"downloads": -1,
"filename": "zksnake-0.1.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "f371e3a1171bc67a43a868f87d947373",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 817530,
"upload_time": "2025-02-23T20:24:36",
"upload_time_iso_8601": "2025-02-23T20:24:36.602302Z",
"url": "https://files.pythonhosted.org/packages/c8/02/ef2b65238c6a6e95ec3f8ac3a83c35f5e434da55446b54b193859286a3e9/zksnake-0.1.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9cc053edc47bc888fc7d81f0445e9779da3f2760bbb901bb202c65aaec0ee7dd",
"md5": "1b72b82f61ca1effda55efb6559bc1c2",
"sha256": "4c3d8a2c0a1a457a8b5556edc6e5f70dfd6d7153753df7ef07626deaa5fa7275"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "1b72b82f61ca1effda55efb6559bc1c2",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1088780,
"upload_time": "2025-02-23T20:23:11",
"upload_time_iso_8601": "2025-02-23T20:23:11.633596Z",
"url": "https://files.pythonhosted.org/packages/9c/c0/53edc47bc888fc7d81f0445e9779da3f2760bbb901bb202c65aaec0ee7dd/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "46956c45f405372bd8ad07f45f1c6f9e18297c88044fd4e4c90e647ab834013e",
"md5": "193ccf4cf30e713ba9112e424167b25e",
"sha256": "bde9070505240490cd15df6d62c0987060090767bdf39d7ca10efe344d2c77b7"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "193ccf4cf30e713ba9112e424167b25e",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1706749,
"upload_time": "2025-02-23T20:23:24",
"upload_time_iso_8601": "2025-02-23T20:23:24.693418Z",
"url": "https://files.pythonhosted.org/packages/46/95/6c45f405372bd8ad07f45f1c6f9e18297c88044fd4e4c90e647ab834013e/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "becbda718225ed8f07c98245576c9b79c4e9eff2418ac44305c859303ae93b19",
"md5": "6468508f026e486219c9de87f1536fdf",
"sha256": "9e9699e4b92111b1cdb868a2166a1c5d40faddda56c3703494c9f6e621e6d183"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "6468508f026e486219c9de87f1536fdf",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1554006,
"upload_time": "2025-02-23T20:24:07",
"upload_time_iso_8601": "2025-02-23T20:24:07.950994Z",
"url": "https://files.pythonhosted.org/packages/be/cb/da718225ed8f07c98245576c9b79c4e9eff2418ac44305c859303ae93b19/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4531f1b162ae07dd3356f549f97bfca6ed3770d4b5956432f62f0bca3bf75b67",
"md5": "e419589a4956542a335dafee0247a1b0",
"sha256": "62034ec65a89b62b9f417d3f986bab6d948d21752c55df73d6b4d4c2e80af3de"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "e419589a4956542a335dafee0247a1b0",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1237910,
"upload_time": "2025-02-23T20:23:39",
"upload_time_iso_8601": "2025-02-23T20:23:39.341465Z",
"url": "https://files.pythonhosted.org/packages/45/31/f1b162ae07dd3356f549f97bfca6ed3770d4b5956432f62f0bca3bf75b67/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b2420498b2b67cf7690584b940193c68936f8a8370fdaf74da432125d7742306",
"md5": "c88233e22b66d57dcbbb421374c1c652",
"sha256": "16ab74ae8d4af8b7869722183d9731c653dcfb8f9953cc24c3c8af97937660e8"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "c88233e22b66d57dcbbb421374c1c652",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1340111,
"upload_time": "2025-02-23T20:23:54",
"upload_time_iso_8601": "2025-02-23T20:23:54.578923Z",
"url": "https://files.pythonhosted.org/packages/b2/42/0498b2b67cf7690584b940193c68936f8a8370fdaf74da432125d7742306/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7ce33cac37dc75729e72f3e2cf7b51a9ee6de5dec31ab8edc051d523901b5042",
"md5": "f9c50df2d16f6c8d970ba13738cfc895",
"sha256": "a991136e1a8234181db62f16c41b6d57845bb66d0f566b7345ae6a6af8ce2633"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f9c50df2d16f6c8d970ba13738cfc895",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.9",
"size": 1034401,
"upload_time": "2025-02-23T20:24:18",
"upload_time_iso_8601": "2025-02-23T20:24:18.226010Z",
"url": "https://files.pythonhosted.org/packages/7c/e3/3cac37dc75729e72f3e2cf7b51a9ee6de5dec31ab8edc051d523901b5042/zksnake-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "965d2370b4f7092c0e8765edc85b0c5f2edfef3000fed3b6285436f89024a22a",
"md5": "987d1d053a8c2fc31640a44e5b93bb64",
"sha256": "fc775bb1da00a45b1e918ccd8e471eea9850e95944ebfdf63b2b77b2d9c96eba"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "987d1d053a8c2fc31640a44e5b93bb64",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.9",
"size": 1088994,
"upload_time": "2025-02-23T20:23:12",
"upload_time_iso_8601": "2025-02-23T20:23:12.848047Z",
"url": "https://files.pythonhosted.org/packages/96/5d/2370b4f7092c0e8765edc85b0c5f2edfef3000fed3b6285436f89024a22a/zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "59c9e7896e2ac3fd0d2250087c549becbd339f2c731a0f142141d049c6a4c3c5",
"md5": "272293ae012a863cbfe21318faee0337",
"sha256": "280d6ace4af7f0780f31598d526aba97c1e401da884d88eaabca6e730d0e9c7f"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "272293ae012a863cbfe21318faee0337",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.9",
"size": 1706479,
"upload_time": "2025-02-23T20:23:26",
"upload_time_iso_8601": "2025-02-23T20:23:26.888301Z",
"url": "https://files.pythonhosted.org/packages/59/c9/e7896e2ac3fd0d2250087c549becbd339f2c731a0f142141d049c6a4c3c5/zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cc5aef52c30ea5eadacca6bf84108d513828fb82b6d987491664ac1ac08dacfd",
"md5": "e144e2f0460ab9074a097588a64166dd",
"sha256": "79beaed5bb3dc100d1ad14b592326ceaf4d2c8b6ad13e232c5751fcb1a1c9fc3"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "e144e2f0460ab9074a097588a64166dd",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.9",
"size": 1238476,
"upload_time": "2025-02-23T20:23:40",
"upload_time_iso_8601": "2025-02-23T20:23:40.643325Z",
"url": "https://files.pythonhosted.org/packages/cc/5a/ef52c30ea5eadacca6bf84108d513828fb82b6d987491664ac1ac08dacfd/zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "32b2541de36279b0ba1857165ccd127fa6c20653878403b609a54b3ec813e9d5",
"md5": "a72de5610be31018d315b1d7b2617936",
"sha256": "b4e48ab3790394c4b08c7ce984166d395c2805219f0699c5e07b4b4bcf4c3494"
},
"downloads": -1,
"filename": "zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "a72de5610be31018d315b1d7b2617936",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.9",
"size": 1340978,
"upload_time": "2025-02-23T20:23:56",
"upload_time_iso_8601": "2025-02-23T20:23:56.187813Z",
"url": "https://files.pythonhosted.org/packages/32/b2/541de36279b0ba1857165ccd127fa6c20653878403b609a54b3ec813e9d5/zksnake-0.1.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fa885837db4105126ed3ee6c901675972243386f62bdc5ee61df8f8a50213347",
"md5": "04bcc32cb8d46f2310c36316e72a6edb",
"sha256": "a9b824d2b2b35bfaf0e9ac0e87d3b5889b01c39cee2102094d8f01b9c6c46077"
},
"downloads": -1,
"filename": "zksnake-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "04bcc32cb8d46f2310c36316e72a6edb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 159701,
"upload_time": "2025-02-23T20:24:29",
"upload_time_iso_8601": "2025-02-23T20:24:29.408460Z",
"url": "https://files.pythonhosted.org/packages/fa/88/5837db4105126ed3ee6c901675972243386f62bdc5ee61df8f8a50213347/zksnake-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-23 20:24:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "merricx",
"github_project": "zksnake",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "zksnake"
}