# πβοΈπ§¬ Pyskani [![Stars](https://img.shields.io/github/stars/althonos/pyskani.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pyskani/stargazers)
*[PyO3](https://pyo3.rs/) bindings and Python interface to [skani](https://github.com/bluenote-1577/skani), a method for fast fast genomic identity calculation using sparse chaining.*
[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pyskani/test.yml?branch=main&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pyskani/actions)
[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pyskani/branch/main.svg?style=flat-square&maxAge=3600)](https://codecov.io/gh/althonos/pyskani/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/mit/)
[![PyPI](https://img.shields.io/pypi/v/pyskani.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyskani)
[![Bioconda](https://img.shields.io/conda/vn/bioconda/pyskani?style=flat-square&maxAge=3600&logo=anaconda)](https://anaconda.org/bioconda/pyskani)
[![AUR](https://img.shields.io/aur/version/python-pyskani?logo=archlinux&style=flat-square&maxAge=3600)](https://aur.archlinux.org/packages/python-pyskani)
[![Wheel](https://img.shields.io/pypi/wheel/pyskani.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyskani/#files)
[![Python Versions](https://img.shields.io/pypi/pyversions/pyskani.svg?style=flat-square&maxAge=600)](https://pypi.org/project/pyskani/#files)
[![Python Implementations](https://img.shields.io/pypi/implementation/pyskani.svg?style=flat-square&maxAge=600&label=impl)](https://pypi.org/project/pyskani/#files)
[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyskani/)
[![Mirror](https://img.shields.io/badge/mirror-EMBL-009f4d?style=flat-square&maxAge=2678400)](https://git.embl.de/larralde/pyskani/)
[![Issues](https://img.shields.io/github/issues/althonos/pyskani.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pyskani/issues)
[![Docs](https://img.shields.io/readthedocs/pyskani/latest?style=flat-square&maxAge=600)](https://pyskani.readthedocs.io)
[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyskani/blob/master/CHANGELOG.md)
[![Downloads](https://img.shields.io/pypi/dm/pyskani?style=flat-square&color=303f9f&maxAge=86400&label=downloads)](https://pepy.tech/project/pyskani)
## πΊοΈ Overview
`skani`[\[1\]](#ref1) is a method developed by [Jim Shaw](https://jim-shaw-bluenote.github.io/)
and [Yun William Yu](https://github.com/yunwilliamyu) for fast and robust
metagenomic sequence comparison through sparse chaining. It improves on
FastANI by being more accurate and much faster, while requiring less memory.
`pyskani` is a Python module, implemented using the [PyO3](https://pyo3.rs/)
framework, that provides bindings to `skani`. It directly links to the
`skani` code, which has the following advantages over CLI wrappers:
- **pre-built wheels**: `pyskani` is distributed on PyPI and features
pre-built wheels for common platforms, including x86-64 and Arm64 UNIX.
- **single dependency**: If your software or your analysis pipeline is
distributed as a Python package, you can add `pyskani` as a dependency to
your project, and stop worrying about the `skani` binary being present on
the end-user machine.
- **sans I/O**: Everything happens in memory, in Python objects you control,
making it easier to pass your sequences to `skani` without having to write
them to a temporary file.
*This library is still a work-in-progress, and in an experimental stage,
but it should already pack enough features to be used in a standard pipeline.*
## π§ Installing
Pyskani can be installed directly from [PyPI](https://pypi.org/project/pyskani/),
which hosts some pre-built CPython wheels for x86-64 Unix platforms, as well
as the code required to compile from source with Rust:
```console
$ pip install pyskani
```
<!-- Otherwise, pyskani is also available as a [Bioconda](https://anaconda.org/bioconda/pyskani)
package:
```console
$ conda install -c bioconda pyskani
``` -->
In the event you have to compile the package from source, all the required
Rust libraries are vendored in the source distribution, and a Rust compiler
will be setup automatically if there is none on the host machine.
## π Citation
Pyskani is scientific software, and builds on top of `skani`. Please cite [`skani`](https://github.com/bluenote-1577/skani) if you are using it in
an academic work, for instance as:
> `pyskani`, a Python library binding to `skani` (Shaw & Yu, 2023).
## π‘ Examples
### π Creating a database
A database can be created either in memory or using a folder on the machine
filesystem to store the sketches. Independently of the storage, a database
can be used immediately for querying, or saved to a different location.
Here is how to create a database into memory,
using [Biopython](https://github.com/biopython/biopython)
to load the record:
```python
database = pyskani.Database()
record = Bio.SeqIO.read("vendor/skani/test_files/e.coli-EC590.fasta", "fasta")
database.sketch("E. coli EC590", bytes(record.seq))
```
For draft genomes, simply pass more arguments to the `sketch` method, for
which you can use the splat operator:
```python
database = pyskani.Database()
records = Bio.SeqIO.parse("vendor/skani/test_files/e.coli-o157.fasta", "fasta")
sequences = (bytes(record.seq) for record in records)
database.sketch("E. coli O157", *sequences)
```
### ποΈ Loading a database
To load a database, either created from `skani` or `pyskani`, you can either
load all sketches into memory, for fast querying:
```python
database = pyskani.Database.load("path/to/sketches")
```
Or load the files lazily to save memory, at the cost of slower querying:
```python
database = pyskani.Database.open("path/to/sketches")
```
### π Querying a database
Once a database has been created or loaded, use the `Database.query` method
to compute ANI for some query genomes:
```python
record = Bio.SeqIO.read("vendor/skani/test_files/e.coli-K12.fasta", "fasta")
hits = database.query("E. coli K12", bytes(record.seq))
```
## π See Also
Computing ANI for closed genomes? You may also be interested in
[`pyfastani`, a Python package for computing ANI](https://github.com/althonos/pyfastani)
using the [FastANI method](https://www.nature.com/articles/s41467-018-07641-9)
developed by [Chirag Jain](https://github.com/cjain7) *et al.*
## π Feedback
### β οΈ Issue Tracker
Found a bug ? Have an enhancement request ? Head over to the
[GitHub issue tracker](https://github.com/althonos/pyskani/issues) if you need
to report or ask something. If you are filing in on a bug, please include as
much information as you can about the issue, and try to recreate the same bug
in a simple, easily reproducible situation.
### ποΈ Contributing
Contributions are more than welcome! See
[`CONTRIBUTING.md`](https://github.com/althonos/pyskani/blob/master/CONTRIBUTING.md)
for more details.
## βοΈ License
This library is provided under the [MIT License](https://choosealicense.com/licenses/mit/).
The `skani` code was written by [Jim Shaw](https://jim-shaw-bluenote.github.io/)
and is distributed under the terms of the [MIT License](https://choosealicense.com/licenses/mit/)
as well. See `vendor/skani/LICENSE` for more information. Source distributions
of `pyskani` vendors additional sources under their own terms using
the [`cargo vendor`](https://doc.rust-lang.org/cargo/commands/cargo-vendor.html)
command.
*This project is in no way not affiliated, sponsored, or otherwise endorsed
by the [original `skani` authors](https://jim-shaw-bluenote.github.io/).
It was developed by [Martin Larralde](https://github.com/althonos/) during his
PhD project at the [European Molecular Biology Laboratory](https://www.embl.de/)
in the [Zeller team](https://github.com/zellerlab).*
## π References
- <a id="ref1">\[1\]</a> Jim Shaw and Yun William Yu. ast and robust metagenomic sequence comparison through sparse chaining with skani (2023). Nature Methods. [doi:10.1038/s41592-023-02018-3](https://doi.org/10.1038/s41592-023-02018-3). [PMID:37735570](https://pubmed.ncbi.nlm.nih.gov/37735570/).
Raw data
{
"_id": null,
"home_page": "https://github.com/althonos/pyskani/",
"name": "pyskani",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "bioinformatics, genomics, average, nucleotide, identity",
"author": "Martin Larralde <martin.larralde@embl.de>",
"author_email": "Martin Larralde <martin.larralde@embl.de>",
"download_url": "https://files.pythonhosted.org/packages/45/23/06fd9b6a88c9129ccc4b535d4be2342908ed18928d31eca79ddec62560a6/pyskani-0.1.3.tar.gz",
"platform": null,
"description": "# \ud83d\udc0d\u26d3\ufe0f\ud83e\uddec Pyskani [![Stars](https://img.shields.io/github/stars/althonos/pyskani.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pyskani/stargazers)\n\n*[PyO3](https://pyo3.rs/) bindings and Python interface to [skani](https://github.com/bluenote-1577/skani), a method for fast fast genomic identity calculation using sparse chaining.*\n\n[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pyskani/test.yml?branch=main&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pyskani/actions)\n[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pyskani/branch/main.svg?style=flat-square&maxAge=3600)](https://codecov.io/gh/althonos/pyskani/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/mit/)\n[![PyPI](https://img.shields.io/pypi/v/pyskani.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyskani)\n[![Bioconda](https://img.shields.io/conda/vn/bioconda/pyskani?style=flat-square&maxAge=3600&logo=anaconda)](https://anaconda.org/bioconda/pyskani)\n[![AUR](https://img.shields.io/aur/version/python-pyskani?logo=archlinux&style=flat-square&maxAge=3600)](https://aur.archlinux.org/packages/python-pyskani)\n[![Wheel](https://img.shields.io/pypi/wheel/pyskani.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyskani/#files)\n[![Python Versions](https://img.shields.io/pypi/pyversions/pyskani.svg?style=flat-square&maxAge=600)](https://pypi.org/project/pyskani/#files)\n[![Python Implementations](https://img.shields.io/pypi/implementation/pyskani.svg?style=flat-square&maxAge=600&label=impl)](https://pypi.org/project/pyskani/#files)\n[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyskani/)\n[![Mirror](https://img.shields.io/badge/mirror-EMBL-009f4d?style=flat-square&maxAge=2678400)](https://git.embl.de/larralde/pyskani/)\n[![Issues](https://img.shields.io/github/issues/althonos/pyskani.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pyskani/issues)\n[![Docs](https://img.shields.io/readthedocs/pyskani/latest?style=flat-square&maxAge=600)](https://pyskani.readthedocs.io)\n[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyskani/blob/master/CHANGELOG.md)\n[![Downloads](https://img.shields.io/pypi/dm/pyskani?style=flat-square&color=303f9f&maxAge=86400&label=downloads)](https://pepy.tech/project/pyskani)\n\n\n## \ud83d\uddfa\ufe0f Overview\n\n`skani`[\\[1\\]](#ref1) is a method developed by [Jim Shaw](https://jim-shaw-bluenote.github.io/)\nand [Yun William Yu](https://github.com/yunwilliamyu) for fast and robust\nmetagenomic sequence comparison through sparse chaining. It improves on\nFastANI by being more accurate and much faster, while requiring less memory.\n\n`pyskani` is a Python module, implemented using the [PyO3](https://pyo3.rs/)\nframework, that provides bindings to `skani`. It directly links to the\n`skani` code, which has the following advantages over CLI wrappers:\n\n- **pre-built wheels**: `pyskani` is distributed on PyPI and features\n pre-built wheels for common platforms, including x86-64 and Arm64 UNIX.\n- **single dependency**: If your software or your analysis pipeline is\n distributed as a Python package, you can add `pyskani` as a dependency to\n your project, and stop worrying about the `skani` binary being present on\n the end-user machine.\n- **sans I/O**: Everything happens in memory, in Python objects you control,\n making it easier to pass your sequences to `skani` without having to write\n them to a temporary file.\n\n*This library is still a work-in-progress, and in an experimental stage,\nbut it should already pack enough features to be used in a standard pipeline.*\n\n\n## \ud83d\udd27 Installing\n\nPyskani can be installed directly from [PyPI](https://pypi.org/project/pyskani/),\nwhich hosts some pre-built CPython wheels for x86-64 Unix platforms, as well\nas the code required to compile from source with Rust:\n```console\n$ pip install pyskani\n```\n<!-- Otherwise, pyskani is also available as a [Bioconda](https://anaconda.org/bioconda/pyskani)\npackage:\n```console\n$ conda install -c bioconda pyskani\n``` -->\n\nIn the event you have to compile the package from source, all the required\nRust libraries are vendored in the source distribution, and a Rust compiler\nwill be setup automatically if there is none on the host machine.\n\n## \ud83d\udd16 Citation\n\nPyskani is scientific software, and builds on top of `skani`. Please cite [`skani`](https://github.com/bluenote-1577/skani) if you are using it in\nan academic work, for instance as:\n\n> `pyskani`, a Python library binding to `skani` (Shaw & Yu, 2023).\n\n## \ud83d\udca1 Examples\n\n### \ud83d\udcdd Creating a database\n\nA database can be created either in memory or using a folder on the machine\nfilesystem to store the sketches. Independently of the storage, a database\ncan be used immediately for querying, or saved to a different location.\n\nHere is how to create a database into memory,\nusing [Biopython](https://github.com/biopython/biopython)\nto load the record:\n```python\ndatabase = pyskani.Database()\nrecord = Bio.SeqIO.read(\"vendor/skani/test_files/e.coli-EC590.fasta\", \"fasta\")\ndatabase.sketch(\"E. coli EC590\", bytes(record.seq))\n```\n\nFor draft genomes, simply pass more arguments to the `sketch` method, for\nwhich you can use the splat operator:\n```python\ndatabase = pyskani.Database()\nrecords = Bio.SeqIO.parse(\"vendor/skani/test_files/e.coli-o157.fasta\", \"fasta\")\nsequences = (bytes(record.seq) for record in records)\ndatabase.sketch(\"E. coli O157\", *sequences)\n```\n\n### \ud83d\uddd2\ufe0f Loading a database\n\nTo load a database, either created from `skani` or `pyskani`, you can either\nload all sketches into memory, for fast querying:\n```python\ndatabase = pyskani.Database.load(\"path/to/sketches\")\n```\n\nOr load the files lazily to save memory, at the cost of slower querying:\n```python\ndatabase = pyskani.Database.open(\"path/to/sketches\")\n```\n\n### \ud83d\udd0e Querying a database\n\nOnce a database has been created or loaded, use the `Database.query` method\nto compute ANI for some query genomes:\n```python\nrecord = Bio.SeqIO.read(\"vendor/skani/test_files/e.coli-K12.fasta\", \"fasta\")\nhits = database.query(\"E. coli K12\", bytes(record.seq))\n```\n\n## \ud83d\udd0e See Also\n\nComputing ANI for closed genomes? You may also be interested in\n[`pyfastani`, a Python package for computing ANI](https://github.com/althonos/pyfastani)\nusing the [FastANI method](https://www.nature.com/articles/s41467-018-07641-9)\ndeveloped by [Chirag Jain](https://github.com/cjain7) *et al.*\n\n## \ud83d\udcad Feedback\n\n### \u26a0\ufe0f Issue Tracker\n\nFound a bug ? Have an enhancement request ? Head over to the\n[GitHub issue tracker](https://github.com/althonos/pyskani/issues) if you need\nto report or ask something. If you are filing in on a bug, please include as\nmuch information as you can about the issue, and try to recreate the same bug\nin a simple, easily reproducible situation.\n\n### \ud83c\udfd7\ufe0f Contributing\n\nContributions are more than welcome! See\n[`CONTRIBUTING.md`](https://github.com/althonos/pyskani/blob/master/CONTRIBUTING.md)\nfor more details.\n\n\n## \u2696\ufe0f License\n\nThis library is provided under the [MIT License](https://choosealicense.com/licenses/mit/).\n\nThe `skani` code was written by [Jim Shaw](https://jim-shaw-bluenote.github.io/)\nand is distributed under the terms of the [MIT License](https://choosealicense.com/licenses/mit/)\nas well. See `vendor/skani/LICENSE` for more information. Source distributions\nof `pyskani` vendors additional sources under their own terms using\nthe [`cargo vendor`](https://doc.rust-lang.org/cargo/commands/cargo-vendor.html)\ncommand.\n\n*This project is in no way not affiliated, sponsored, or otherwise endorsed\nby the [original `skani` authors](https://jim-shaw-bluenote.github.io/).\nIt was developed by [Martin Larralde](https://github.com/althonos/) during his\nPhD project at the [European Molecular Biology Laboratory](https://www.embl.de/)\nin the [Zeller team](https://github.com/zellerlab).*\n\n## \ud83d\udcda References\n\n- <a id=\"ref1\">\\[1\\]</a> Jim Shaw and Yun William Yu. ast and robust metagenomic sequence comparison through sparse chaining with skani (2023). Nature Methods. [doi:10.1038/s41592-023-02018-3](https://doi.org/10.1038/s41592-023-02018-3). [PMID:37735570](https://pubmed.ncbi.nlm.nih.gov/37735570/).\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "PyO3 bindings and Python interface to skani, a method for fast fast genomic identity calculation using sparse chaining.",
"version": "0.1.3",
"project_urls": {
"Bug Tracker": "https://github.com/althonos/pyskani/issues",
"Builds": "https://github.com/althonos/pyskani/actions/",
"Changelog": "https://github.com/althonos/pyskani/blob/master/CHANGELOG.md",
"Documentation": "https://pyskani.readthedocs.io",
"Homepage": "https://github.com/althonos/pyskani/",
"PyPI": "https://pypi.org/project/pyskani"
},
"split_keywords": [
"bioinformatics",
" genomics",
" average",
" nucleotide",
" identity"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "455cd9135b767b93577b50664ef3b79c07759be43bae344d77e61c521a726b78",
"md5": "d1fcc0449acb71886703c18367aa4ba3",
"sha256": "8511db0f2cee361a90d759a347fd802a32cc7451e769daae529c182cd36560f7"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d1fcc0449acb71886703c18367aa4ba3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3406601,
"upload_time": "2024-12-05T15:31:26",
"upload_time_iso_8601": "2024-12-05T15:31:26.482653Z",
"url": "https://files.pythonhosted.org/packages/45/5c/d9135b767b93577b50664ef3b79c07759be43bae344d77e61c521a726b78/pyskani-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "729f8277aed72357b9ba266b11b6a9aebb5c838c2e53ca3a9df0296abe0e3fce",
"md5": "76e791ea4bc13b00475be19b7ec83c2b",
"sha256": "e73d922b0260df89473597606c02d4ebfbcd752655d5e774e48c062b282c863f"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "76e791ea4bc13b00475be19b7ec83c2b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3420020,
"upload_time": "2024-12-05T15:34:30",
"upload_time_iso_8601": "2024-12-05T15:34:30.774692Z",
"url": "https://files.pythonhosted.org/packages/72/9f/8277aed72357b9ba266b11b6a9aebb5c838c2e53ca3a9df0296abe0e3fce/pyskani-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "10ede87ee588016f26b2a7789dfac99545232bac87a632347b740021417ddc86",
"md5": "a4a0b669b32af73b5639e48ad7310d45",
"sha256": "8d4157fdf5fd65ac1ab8b80b4fd9f7f28af37d1df238121975f55d4bd3e7190b"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "a4a0b669b32af73b5639e48ad7310d45",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3308776,
"upload_time": "2024-12-05T15:31:29",
"upload_time_iso_8601": "2024-12-05T15:31:29.043454Z",
"url": "https://files.pythonhosted.org/packages/10/ed/e87ee588016f26b2a7789dfac99545232bac87a632347b740021417ddc86/pyskani-0.1.3-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d56d3c94c171922e68658f35d5498d6884eba4744b5c9a6da26a93da635b435d",
"md5": "864debd526679a8707ed9ae970835ea5",
"sha256": "84f64330411eb3ffd6379d29e485add8b9eebcecc7352125a888b62fb0bb6ee4"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "864debd526679a8707ed9ae970835ea5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3368683,
"upload_time": "2024-12-05T15:31:31",
"upload_time_iso_8601": "2024-12-05T15:31:31.703119Z",
"url": "https://files.pythonhosted.org/packages/d5/6d/3c94c171922e68658f35d5498d6884eba4744b5c9a6da26a93da635b435d/pyskani-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2a6394bbfef33f9531e92ab0331f52c2aa54d90b8484fdccae4f2913f4d9643e",
"md5": "c4d883abbb9e1bf405b68103ee86e7e7",
"sha256": "c061c2a87dae8cfd49b725ab05acb9701c36b17aa1e48ec1acd10bc7a19d8e96"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c4d883abbb9e1bf405b68103ee86e7e7",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3362340,
"upload_time": "2024-12-05T15:31:34",
"upload_time_iso_8601": "2024-12-05T15:31:34.659516Z",
"url": "https://files.pythonhosted.org/packages/2a/63/94bbfef33f9531e92ab0331f52c2aa54d90b8484fdccae4f2913f4d9643e/pyskani-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a93281ac47c74e4eee10bb7139b087ffcca25d7280728399362c6f58b2f6635",
"md5": "758899f9ce6f8681da18bb05c1e55af6",
"sha256": "092ff516f597d6e5bf43e4ba0ba08bf267aef60a07455a5c0a71c1aa2f0061fc"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "758899f9ce6f8681da18bb05c1e55af6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3406408,
"upload_time": "2024-12-05T15:31:37",
"upload_time_iso_8601": "2024-12-05T15:31:37.658924Z",
"url": "https://files.pythonhosted.org/packages/5a/93/281ac47c74e4eee10bb7139b087ffcca25d7280728399362c6f58b2f6635/pyskani-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "542b0dedd8c7e54417615eb067269feb4e23c60bb433b93c6822f3182454623e",
"md5": "831f2bbb44ea8499beebb1197072cae0",
"sha256": "a3f7714a7c741cfb84b3c20cbfbc1165c2e988ede9e8ee3b42ddd81037ba9eee"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "831f2bbb44ea8499beebb1197072cae0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3419718,
"upload_time": "2024-12-05T15:34:35",
"upload_time_iso_8601": "2024-12-05T15:34:35.571841Z",
"url": "https://files.pythonhosted.org/packages/54/2b/0dedd8c7e54417615eb067269feb4e23c60bb433b93c6822f3182454623e/pyskani-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13d0ce27162409179634bdb13d58ed2e7ffb416d151a1209e799a420b79562cd",
"md5": "7575f528697c691a979ba6b3a850805d",
"sha256": "ee609180e06d7a88aef296d5cd46352d359b10189c7bb936600415da99edfc47"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "7575f528697c691a979ba6b3a850805d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3308755,
"upload_time": "2024-12-05T15:31:40",
"upload_time_iso_8601": "2024-12-05T15:31:40.459016Z",
"url": "https://files.pythonhosted.org/packages/13/d0/ce27162409179634bdb13d58ed2e7ffb416d151a1209e799a420b79562cd/pyskani-0.1.3-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67ae2a48714d20feb87002b3426e52b7fdb511b9780c8a0dbab9ce0c9452b5d9",
"md5": "6dfcab2ed14d7ba866e8306b2afacbd1",
"sha256": "37b3f7f6443683d84bfea81d6a3f5c8555858c422423aa377ab24cd359cb2625"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "6dfcab2ed14d7ba866e8306b2afacbd1",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3369472,
"upload_time": "2024-12-05T15:31:44",
"upload_time_iso_8601": "2024-12-05T15:31:44.161918Z",
"url": "https://files.pythonhosted.org/packages/67/ae/2a48714d20feb87002b3426e52b7fdb511b9780c8a0dbab9ce0c9452b5d9/pyskani-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e566f21c59488ae1d7e2d734f8f79e7bd17dcb3e5f0c700b351bed9be49f90e",
"md5": "896e80783ac76b0ba5a8eab09389f9cf",
"sha256": "2a7360952cd7bf16f477e39e0ae351836c29e5dec508aca9bee266e34b670c95"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "896e80783ac76b0ba5a8eab09389f9cf",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3363361,
"upload_time": "2024-12-05T15:31:46",
"upload_time_iso_8601": "2024-12-05T15:31:46.176781Z",
"url": "https://files.pythonhosted.org/packages/0e/56/6f21c59488ae1d7e2d734f8f79e7bd17dcb3e5f0c700b351bed9be49f90e/pyskani-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c84a3d5e1e1e992d8ae6bbe15781ae6c1ce047f2a41cf7323f14b52fc521ace0",
"md5": "e32ba2bb9a3a7bddd0789a8e7973e350",
"sha256": "2ab40e45f238692dbbe6acacf75ec2b9af5a4497c5189d1791dd0a1c5267723d"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "e32ba2bb9a3a7bddd0789a8e7973e350",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3405954,
"upload_time": "2024-12-05T15:31:49",
"upload_time_iso_8601": "2024-12-05T15:31:49.257060Z",
"url": "https://files.pythonhosted.org/packages/c8/4a/3d5e1e1e992d8ae6bbe15781ae6c1ce047f2a41cf7323f14b52fc521ace0/pyskani-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8d903a45899317596cbaa973e153491156ba235cef96267a98d062ec0d21ee9",
"md5": "3924342422c997a01af3a22cc58a3bf6",
"sha256": "cce9038264c9ed24b4cd2e48a62694607c57d647ac34a98c490c08fd052a3dbf"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3924342422c997a01af3a22cc58a3bf6",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3420531,
"upload_time": "2024-12-05T15:34:40",
"upload_time_iso_8601": "2024-12-05T15:34:40.859576Z",
"url": "https://files.pythonhosted.org/packages/a8/d9/03a45899317596cbaa973e153491156ba235cef96267a98d062ec0d21ee9/pyskani-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "db756ca3e6e6960df2e92f462a2cab7e966574f0a64e002dceb29d47b8e7d3b1",
"md5": "486574270967e65704ecea88360b5ae7",
"sha256": "4e96842a7925d7481f5accda8ece65ef9e4f54ae16af886940002e467c195411"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "486574270967e65704ecea88360b5ae7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3308843,
"upload_time": "2024-12-05T15:31:53",
"upload_time_iso_8601": "2024-12-05T15:31:53.602855Z",
"url": "https://files.pythonhosted.org/packages/db/75/6ca3e6e6960df2e92f462a2cab7e966574f0a64e002dceb29d47b8e7d3b1/pyskani-0.1.3-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40475ae6671596aebeb5757cdffa86fd58c51a54165390467497bea326205b66",
"md5": "5a302f2f8b3f9efa4687907efbfff34e",
"sha256": "925832640cb88cd190120527c9fee793b463b2d8eae60b8fbfe5a5e758112a07"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp313-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "5a302f2f8b3f9efa4687907efbfff34e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 3308585,
"upload_time": "2024-12-05T15:31:55",
"upload_time_iso_8601": "2024-12-05T15:31:55.686542Z",
"url": "https://files.pythonhosted.org/packages/40/47/5ae6671596aebeb5757cdffa86fd58c51a54165390467497bea326205b66/pyskani-0.1.3-cp313-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b6a4ae130452c3c3b26d34fcacc069b69d397bf8ec8efaadc90c7353d66df41",
"md5": "a94295e6276d68370604c3f4dc4b48ab",
"sha256": "3ca9837d43de0dce129d3864994968fbb80f8cca248bebeae5fb7e5b588a968a"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "a94295e6276d68370604c3f4dc4b48ab",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3407653,
"upload_time": "2024-12-05T15:31:12",
"upload_time_iso_8601": "2024-12-05T15:31:12.702615Z",
"url": "https://files.pythonhosted.org/packages/9b/6a/4ae130452c3c3b26d34fcacc069b69d397bf8ec8efaadc90c7353d66df41/pyskani-0.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b63e89689409262811cdee13dd97ea322ceb1a77a4cc22c58f4c8cf34a00c0c9",
"md5": "d9dbad0f98e8941f799d84ed366f0936",
"sha256": "957fd1a9dd7ab5bc02d3beed817987a46962a3e9f11e32765553585f7a87a90a"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d9dbad0f98e8941f799d84ed366f0936",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3420147,
"upload_time": "2024-12-05T15:34:18",
"upload_time_iso_8601": "2024-12-05T15:34:18.128920Z",
"url": "https://files.pythonhosted.org/packages/b6/3e/89689409262811cdee13dd97ea322ceb1a77a4cc22c58f4c8cf34a00c0c9/pyskani-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5514eef10b2e1962802aa53216130d62ed5aca97a19f0fc60e415f0bfe82dcfe",
"md5": "0402259799324cd998de465dc2d9fb9f",
"sha256": "ab1e9036d84064594583caa3353921af5eff8c709623eb9602871ed0bdad1177"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp37-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "0402259799324cd998de465dc2d9fb9f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3309337,
"upload_time": "2024-12-05T15:31:14",
"upload_time_iso_8601": "2024-12-05T15:31:14.603448Z",
"url": "https://files.pythonhosted.org/packages/55/14/eef10b2e1962802aa53216130d62ed5aca97a19f0fc60e415f0bfe82dcfe/pyskani-0.1.3-cp37-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d5795686b38af87ef3db9b8c614484958672566d32da25f4e1769d1c1340edd",
"md5": "8bf2d610b366a6b1904e09b0c6779532",
"sha256": "45518a37ee5af97e9d419a30a5b7ab7c304d48c90bb23fc1deba6549e62606f9"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "8bf2d610b366a6b1904e09b0c6779532",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3407488,
"upload_time": "2024-12-05T15:31:17",
"upload_time_iso_8601": "2024-12-05T15:31:17.648553Z",
"url": "https://files.pythonhosted.org/packages/4d/57/95686b38af87ef3db9b8c614484958672566d32da25f4e1769d1c1340edd/pyskani-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "234d66b392ddd3d5d85d3b78db85181b715ac06b1d54dad73b5759d4f75030a6",
"md5": "e7380f3d58bfe485212d69a191879f15",
"sha256": "10ff3ca514d2663fd320b4d43f73b99d1fa37276d1529983ed40067b1dcc2ad1"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e7380f3d58bfe485212d69a191879f15",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3420197,
"upload_time": "2024-12-05T15:34:22",
"upload_time_iso_8601": "2024-12-05T15:34:22.042869Z",
"url": "https://files.pythonhosted.org/packages/23/4d/66b392ddd3d5d85d3b78db85181b715ac06b1d54dad73b5759d4f75030a6/pyskani-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "188903281100579f4c12778cb794482f3a7789abef7f00e6e3e4cc483494dc1d",
"md5": "89259023180d104f6b6b69cf62157003",
"sha256": "2283cb76f8f7dffdb3e606b315aafb181e764c32d160a293da30b099839484f2"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "89259023180d104f6b6b69cf62157003",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3309266,
"upload_time": "2024-12-05T15:31:20",
"upload_time_iso_8601": "2024-12-05T15:31:20.452216Z",
"url": "https://files.pythonhosted.org/packages/18/89/03281100579f4c12778cb794482f3a7789abef7f00e6e3e4cc483494dc1d/pyskani-0.1.3-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce113efa17261ff4c11b0b54cf7c17497c269686b99533f906490428808dc9e4",
"md5": "934c4e554aacebbebafee86a942d7a11",
"sha256": "5853a9de70213f86e40dde09af5b5ea6fc7e4aaca3fd8c7d3c148cdcb6a18cb2"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "934c4e554aacebbebafee86a942d7a11",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3407238,
"upload_time": "2024-12-05T15:31:22",
"upload_time_iso_8601": "2024-12-05T15:31:22.213372Z",
"url": "https://files.pythonhosted.org/packages/ce/11/3efa17261ff4c11b0b54cf7c17497c269686b99533f906490428808dc9e4/pyskani-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e47e4b09ab5c65f83de68a15e7b8c560e10d38e0204c0599dfbef2fc60fb74a1",
"md5": "b41d3400baf9c5965690f5992a65ad6c",
"sha256": "334158facf2b11aa264b7dacbfe373dc491b6cc5965a499d286061e39c195086"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b41d3400baf9c5965690f5992a65ad6c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3420705,
"upload_time": "2024-12-05T15:34:26",
"upload_time_iso_8601": "2024-12-05T15:34:26.902487Z",
"url": "https://files.pythonhosted.org/packages/e4/7e/4b09ab5c65f83de68a15e7b8c560e10d38e0204c0599dfbef2fc60fb74a1/pyskani-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "caf0cd39593859724925e5b5d2f3bf85d4a007665fbb2942a8c87367627a1906",
"md5": "37344eab6597029f346d9ce05aaae69a",
"sha256": "d323440bb3f58b24f5af681860559a49d790dc83c2b278be0333290379cbcf51"
},
"downloads": -1,
"filename": "pyskani-0.1.3-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "37344eab6597029f346d9ce05aaae69a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3309066,
"upload_time": "2024-12-05T15:31:24",
"upload_time_iso_8601": "2024-12-05T15:31:24.343383Z",
"url": "https://files.pythonhosted.org/packages/ca/f0/cd39593859724925e5b5d2f3bf85d4a007665fbb2942a8c87367627a1906/pyskani-0.1.3-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ae3522a14dbc08667e67cd5b9588daa345552bec25f18fa8b9e5292fdb3c871c",
"md5": "2796f5b171166ce93e84f51e5e98197b",
"sha256": "c60e607a16f4e65eb682b278ca29793ef05ec8d712be9795582fc85d342db3ca"
},
"downloads": -1,
"filename": "pyskani-0.1.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "2796f5b171166ce93e84f51e5e98197b",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.7",
"size": 3407510,
"upload_time": "2024-12-05T15:32:08",
"upload_time_iso_8601": "2024-12-05T15:32:08.279906Z",
"url": "https://files.pythonhosted.org/packages/ae/35/22a14dbc08667e67cd5b9588daa345552bec25f18fa8b9e5292fdb3c871c/pyskani-0.1.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "18a1fa89e7d58499f1ec04f30fb543168a3a84bf82f5c7053bda13aea2f63f74",
"md5": "c4e7394087f4ced4230da444ba8530ea",
"sha256": "8eb6a703edc2f5c9ada8142cb3fc9374255d672296450f50a606e7abc8f963db"
},
"downloads": -1,
"filename": "pyskani-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c4e7394087f4ced4230da444ba8530ea",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.7",
"size": 3420468,
"upload_time": "2024-12-05T15:34:49",
"upload_time_iso_8601": "2024-12-05T15:34:49.572938Z",
"url": "https://files.pythonhosted.org/packages/18/a1/fa89e7d58499f1ec04f30fb543168a3a84bf82f5c7053bda13aea2f63f74/pyskani-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c565c4fe418c9a26bb1b33a123f76ee58e2e0cbc809a07df374f59ebf1288fff",
"md5": "14f50ce03abf370b4c2c5b23290d4aac",
"sha256": "09c274d37a7231b8899233c5ebfdea04930c66142ebcb1897fa1a3fa922afee2"
},
"downloads": -1,
"filename": "pyskani-0.1.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "14f50ce03abf370b4c2c5b23290d4aac",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": ">=3.7",
"size": 3410822,
"upload_time": "2024-12-05T15:31:58",
"upload_time_iso_8601": "2024-12-05T15:31:58.841055Z",
"url": "https://files.pythonhosted.org/packages/c5/65/c4fe418c9a26bb1b33a123f76ee58e2e0cbc809a07df374f59ebf1288fff/pyskani-0.1.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff2cf5dc5e629836cd398d6e384de04d8da3a3554a40aae2dae3a1bc15ef4114",
"md5": "d9cc21659819741d9c9fa0905be466a6",
"sha256": "ba4bf338ad79e07fbb31e91dbbc914d6f1c9d8bf02a11e008410887b153cf524"
},
"downloads": -1,
"filename": "pyskani-0.1.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d9cc21659819741d9c9fa0905be466a6",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.7",
"size": 3408256,
"upload_time": "2024-12-05T15:32:00",
"upload_time_iso_8601": "2024-12-05T15:32:00.797402Z",
"url": "https://files.pythonhosted.org/packages/ff/2c/f5dc5e629836cd398d6e384de04d8da3a3554a40aae2dae3a1bc15ef4114/pyskani-0.1.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c3f784feba77c3ca15f54b7b7c50869ca4b44bdcc435e8c53eab4c598c2d1e46",
"md5": "9de6de2259c5ad6d44161318fe1f518e",
"sha256": "10dca63f62f4dbdb8c11e94b14fef06926c2b908432469e00dc343efa8d996af"
},
"downloads": -1,
"filename": "pyskani-0.1.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "9de6de2259c5ad6d44161318fe1f518e",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.7",
"size": 3407964,
"upload_time": "2024-12-05T15:32:05",
"upload_time_iso_8601": "2024-12-05T15:32:05.292809Z",
"url": "https://files.pythonhosted.org/packages/c3/f7/84feba77c3ca15f54b7b7c50869ca4b44bdcc435e8c53eab4c598c2d1e46/pyskani-0.1.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "452306fd9b6a88c9129ccc4b535d4be2342908ed18928d31eca79ddec62560a6",
"md5": "d2a5925d291732744d9833b90e7885f1",
"sha256": "cb8b05f18f12d49a989d21d8bfe9180c9ddb00c595eb8481a3532716b94c4db3"
},
"downloads": -1,
"filename": "pyskani-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "d2a5925d291732744d9833b90e7885f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 2893684,
"upload_time": "2024-12-05T15:19:32",
"upload_time_iso_8601": "2024-12-05T15:19:32.475302Z",
"url": "https://files.pythonhosted.org/packages/45/23/06fd9b6a88c9129ccc4b535d4be2342908ed18928d31eca79ddec62560a6/pyskani-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-05 15:19:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "althonos",
"github_project": "pyskani",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyskani"
}