Skip to main content

Cython bindings and Python interface to FastANI, a method for fast whole-genome similarity estimation.

Project description

🐍⏩🧬 PyFastANI Stars

Cython bindings and Python interface to FastANI, a method for fast whole-genome similarity estimation. Now with multithreading!

Actions Coverage License PyPI Bioconda AUR Wheel Python Versions Python Implementations Source Mirror Issues Docs Changelog Downloads Paper

🗺️ Overview

FastANI is a method published in 2018 by Chirag Jain et al.[1] for high-throughput computation of whole-genome Average Nucleotide Identity (ANI). It uses MashMap to compute orthologous mappings without the need for expensive alignments.

pyfastani is a Python module, implemented using the Cython language, that provides bindings to FastANI. It directly interacts with the FastANI internals, which has the following advantages over CLI wrappers:

  • simpler compilation: FastANI requires several additional libraries, which make compilation of the original binary non-trivial. In PyFastANI, libraries that were needed for threading or I/O are provided as stubs, and Boost::math headers are vendored so you can build the package without hassle. Or even better, just install from one of the provided wheels!
  • single dependency: If your software or your analysis pipeline is distributed as a Python package, you can add pyfastani as a dependency to your project, and stop worrying about the FastANI 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 FastANI without needing to write them to a temporary file.
  • multi-threading: Genome query resolves the fragment mapping step in parallel, leading to shorter querying times even with a single genome.

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

PyFastANI can be installed directly from PyPI, which hosts some pre-built CPython wheels for x86-64 Unix platforms, as well as the code required to compile from source with Cython:

$ pip install pyfastani

In the event you have to compile the package from source, all the required libraries are vendored in the source distribution, so you'll only need a C/C++ compiler.

Otherwise, PyFastANI is also available as a Bioconda package:

$ conda install -c bioconda pyfastani

💡 Example

The following snippets show how to compute the ANI between two genomes, with the reference being a draft genome. For one-to-many or many-to-many searches, simply add additional references with m.add_draft before indexing. Note that any name can be given to the reference sequences, this will just affect the name attribute of the hits returned for a query.

🔬 Biopython

Biopython does not let us access to the sequence directly, so we need to convert it to bytes first with the bytes builtin function. For older versions of Biopython (earlier than 1.79), use record.seq.encode() instead of bytes(record.seq).

import pyfastani
import Bio.SeqIO

sketch = pyfastani.Sketch()

# add a single draft genome to the mapper, and index it
ref = list(Bio.SeqIO.parse("vendor/FastANI/data/Shigella_flexneri_2a_01.fna", "fasta"))
sketch.add_draft("S. flexneri", (bytes(record.seq) for record in ref))

# index the sketch and get a mapper
mapper = sketch.index()

# read the query and query the mapper
query = Bio.SeqIO.read("vendor/FastANI/data/Escherichia_coli_str_K12_MG1655.fna", "fasta")
hits = mapper.query_genome(bytes(query.seq))

for hit in hits:
    print("E. coli K12 MG1655", hit.name, hit.identity, hit.matches, hit.fragments)

🧪 Scikit-bio

Scikit-bio lets us access to the sequence directly as a numpy array, but shows the values as byte strings by default. To make them readable as char (for compatibility with the C code), they must be cast with seq.values.view('B').

import pyfastani
import skbio.io

sketch = pyfastani.Sketch()

ref = list(skbio.io.read("vendor/FastANI/data/Shigella_flexneri_2a_01.fna", "fasta"))
sketch.add_draft("Shigella_flexneri_2a_01", (seq.values.view('B') for seq in ref))

mapper = sketch.index()

# read the query and query the mapper
query = next(skbio.io.read("vendor/FastANI/data/Escherichia_coli_str_K12_MG1655.fna", "fasta"))
hits = mapper.query_genome(query.values.view('B'))

for hit in hits:
    print("E. coli K12 MG1655", hit.name, hit.identity, hit.matches, hit.fragments)

⏱️ Benchmarks

In the original FastANI tool, multi-threading was only used to improve the performance of many-to-many searches: each thread would have a chunk of the reference genomes, and querying would be done in parallel for each reference. However, with a small set of reference genomes, there may not be enough for all the threads to work, so it cannot scale with a large number of threads. In addition, this causes the same query genome to be hashed several times, which is not optimal. In pyfastani, multi-threading is used to compute the hashes and mapping of query genome fragments. This allows parallelism to be useful even when a only few reference genomes are available.

The benchmarks below show the time for querying a single genome (with Mapper.query_draft) using a variable number of threads. Benchmarks were run on a i7-8550U CPU running @1.80GHz with 4 physical / 8 logical cores, using 50 bacterial genomes from the proGenomes database. For clarity, only 5 randomly-selected genomes are shown on the second graph. Each run was repeated 3 times.

Benchmarks

🔖 Citation

If you found PyFastANI useful, please cite our paper, as well as the original FastANI paper.

To cite PyFastANI:

Martin Larralde, Georg Zeller, Laura M. Carroll. 2025. PyOrthoANI, PyFastANI, and Pyskani: a suite of Python libraries for computation of average nucleotide identity. NAR Genomics and Bioinformatics 7(3):lqaf095. doi:10.1093/nargab/lqaf095.

To cite FastANI:

Chirag Jain, Luis M Rodriguez-R, Adam M Phillippy, Konstantinos T Konstantinidis, Srinivas Aluru. 2018. High throughput ANI analysis of 90K prokaryotic genomes reveals clear species boundaries. Nature Communications 9(1):5114. doi:10.1038/s41467-018-07641-9.

🔎 See Also

Computing ANI for metagenomic sequences? You may be interested in pyskani, a Python package for computing ANI using the skani method developed by Jim Shaw and Yun William Yu.

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker 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 for more details.

⚖️ License

This library is provided under the MIT License.

The FastANI code was written by Chirag Jain and is distributed under the terms of the Apache License 2.0, unless otherwise specified in vendored sources. See vendor/FastANI/LICENSE for more information. The cpu_features code was written by Guillaume Chatelet and is distributed under the terms of the Apache License 2.0. See vendor/cpu_features/LICENSE for more information. The Boost::math headers were written by Boost Libraries contributors and is distributed under the terms of the Boost Software License. See vendor/boost-math/LICENSE for more information.

This project is in no way not affiliated, sponsored, or otherwise endorsed by the original FastANI authors. It was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory in the Zeller team.

📚 References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfastani-0.6.2.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (254.8 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pyfastani-0.6.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (284.5 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (335.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (317.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl (252.9 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pyfastani-0.6.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (283.0 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (335.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (316.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl (252.8 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pyfastani-0.6.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (282.6 kB view details)

Uploaded PyPymacOS 10.12+ x86-64

pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (350.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (329.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl (290.1 kB view details)

Uploaded PyPymacOS 10.12+ x86-64

pyfastani-0.6.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (342.2 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (323.3 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-cp311-abi3-macosx_11_0_arm64.whl (254.3 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

pyfastani-0.6.2-cp311-abi3-macosx_10_12_x86_64.whl (284.2 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

pyfastani-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (350.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (328.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-cp310-cp310-macosx_11_0_arm64.whl (268.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyfastani-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl (299.4 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

pyfastani-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (351.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (329.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-cp39-cp39-macosx_11_0_arm64.whl (269.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyfastani-0.6.2-cp39-cp39-macosx_10_12_x86_64.whl (300.2 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

pyfastani-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (334.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-cp38-cp38-macosx_11_0_arm64.whl (273.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

pyfastani-0.6.2-cp38-cp38-macosx_10_12_x86_64.whl (304.3 kB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (342.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

pyfastani-0.6.2-cp37-cp37m-macosx_10_12_x86_64.whl (310.2 kB view details)

Uploaded CPython 3.7mmacOS 10.12+ x86-64

File details

Details for the file pyfastani-0.6.2.tar.gz.

File metadata

  • Download URL: pyfastani-0.6.2.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyfastani-0.6.2.tar.gz
Algorithm Hash digest
SHA256 5a90e6252fcd8b4d9b60151279d533c45c5aeb323fe4d99d431b2847f1415535
MD5 e26b96351ae2bec9a8d3cea850bc84fc
BLAKE2b-256 8e8a9b45981db223e7497480ba2cece3dd6eb3eb5fdffb4f38140b5f81b2b01d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2.tar.gz:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0550bcc3447d962c25f10b12de9ae34c3d031c2484a62fea6b290e20fa4d2cfc
MD5 acb8ee6617a1513eab27dbfee7d7f148
BLAKE2b-256 7589f91d79e6e618e869150f4e11fe770c102dea4a99a49b6c41d98532dc70e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8401918bd2479ee477edd6ce301b172ad3dbf1377204a714a1078dd1a2a9e5c3
MD5 7f368e4d7aa7c95f0aafbbb13ad084d5
BLAKE2b-256 be9a911e65a8fafa758081ceec4d268bae37c18a9ddbd2829457a66712821af9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5ccae5e9fa97dc53b5c9cd8bb75fa38db140b66f8255c9bef94338d5950e903
MD5 a1fa4eb4bf461ed12d70535bd9e3a400
BLAKE2b-256 13fe1050de5ba68cd7f226f6cbb9f6c12c3d11a8f7bad819bd7b9737c17c8ab3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 145492c5ea2606cb83205c915a0a1233c0ce8f9ceb43d2580594333d7ee3536e
MD5 6777080c18afcfe35440ebed601ff32f
BLAKE2b-256 001d916e6ad726db5f03cbbdb8467b41ce591db1ed3888fd006c127130b2e92b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e84ba86669632965e86dfb23188da21005db74f16ea9cac6d08e054d13f2c49d
MD5 f5eb3b6a1135b0ec71f0f00193a6616f
BLAKE2b-256 f2c2d9093b55298e8d637fd9e8fe66981e3b5647210ccdf9d82a50aa811a689e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 39b1e5e6a2f473d11f36d22fd7c8683e7c33b554c40f3c8d923b4213604b52e4
MD5 3997b999d4ad38269baf2028ef2aa7e7
BLAKE2b-256 43c886cfa44409073959e0b855f024a220cea521a599193b5ed5de055cc2707f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f05110ca5da8de2901af87a2fc6e7b65e4237d394d0c73187f6a1b2c4033302
MD5 8c4904675b4bcffbf08e9a5b2c2c3433
BLAKE2b-256 4fcc513b33fd21242de1e682f5b9c2d70fc6f2b0079ff84e2d0ca79433865763

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2a0c89cce0b8f064d2c022a91c6b6d02319839c1208f17c7e2bddaf059734a4b
MD5 6f812835b2c4fc96994a8dc7c46d1db1
BLAKE2b-256 bb56ac9b9662bbeda0ff2161cbaba8ae0ccef3c7f42fa8854823b5f4bc5ab1c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3188698b4c7637058d5605fe6c62dca4b27f633b50c9541c262cb9cbbc10f376
MD5 40c85f48c7d1891ebc16ba510b950a97
BLAKE2b-256 59ad11220d00d8a449029c041870d5775c667241d4e2abb06aab2f7a954e6612

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8097b9204442ee85a29460beb428e24ab2470403224174e7d83bcf4058029c1a
MD5 d2ecd5335305cd58603cb85d738260fa
BLAKE2b-256 fbf66ea2b6b4fb61ef8b6045c38ffff4620d71e30c8e5b7ad39303aa31b76e26

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2437ecc88c957391c7c5ca7fd80727f217a5ce2fa939b08df65d16cf3d6c81a0
MD5 6860a687564f9f95e66ffc1809c386a9
BLAKE2b-256 54c5d2080df0139d37eecb6c5e2d77f89bc8a332ca98d582e042e5b6c37d3a4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00d2eefe072303a6af40ef0a85779a902241c8e61621b8b3eee4bca4255e1a22
MD5 7838d1d1ea23882be737721b33197217
BLAKE2b-256 6a1f8c53d5d37a1a3c7018055657bb3c588f015f5b9749edb89b009bf587224e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 262205b4a90033d373dadc61379ff10768b7ddeae62baf9730d608d903e74709
MD5 ffe0085220dfb7fcec29c8c60cda6fe7
BLAKE2b-256 8e3b810b9bfaf322f9a7f72867c53563217e62b77ff8cf9199267d9b35bf2771

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac34768ae78498dd8f1e7dbd3a2a4cb7b2016abfeb53591a83a7a62830b0ec44
MD5 b47129109e0639981e08828f34eb942a
BLAKE2b-256 ae036c6fa027c7fcb893d50667bad21a7d2f748e67682d0ed3fd227ae3508ca4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 42502b957d1ff61591e8bd3352dafa9fe713c2345cf1f47e9c67b9055e5aa2f2
MD5 c9691cbf8a3a19e107e8fbd6e76fb7a4
BLAKE2b-256 2bf81d864ade4530a0a6d0f9053c338e46b9df385828f1cffe304c6d4b5be3d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 289a66f8a1d792f88dde53356e214d6b0a2cf8f523193543c01bcb25cf36cbd1
MD5 ded22d822a52976a96b72dd7b60ea168
BLAKE2b-256 1cfdc91a433278bc7c8c00abd7855656e7007ce80f99e7411c1ac6c9a9aabdaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 80f4949f436416b0e74a9851bb133d32c79af2bcfff57ee5b07edc33afe1564b
MD5 cbf49c3af4ea3146634176523a6a00cb
BLAKE2b-256 1285277fdfbd704ff91fb52c9e5b64e541c0ac2b194f3d7d66c32561cbf154c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f7256ebdb1278e59c77d0a3f67fffce661eba8248e9bbea2a71e774a642d78e
MD5 d919aabd489cd19b56d441e3640ae90f
BLAKE2b-256 a0042edfe5af94b4178fecd451f3d6966f0f47bff8269288b100fef95e3fd0bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6d3a51aab96f6de8fbb904467c11e29c9a24f71cfb081532c70ac4a737bfba8a
MD5 cc5af88ee16b8a4a9c4da2df7a615370
BLAKE2b-256 7f638d5ba0410945bd6e699156536f1dc952ed7cff52b829889389e39fcf1ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp311-abi3-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4e0de7d8c64a9936d3112df1130fdf13ddd3dfd1ac480f68bfa6dd5c851acd5
MD5 8d6f638e995f5246d67b39c1e54b85b0
BLAKE2b-256 8601330478c77c5e21f07c9f78259f918ebf5f84cb56dc2d42761b8a2d4cc77c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9f090dd61b866b556c62215cca3ce7d0d128fe3f78ac983ce47aa83de99b9ff2
MD5 d5094a06cd44943c092caae1b8398731
BLAKE2b-256 01a855a2ae26d1abe0827ea7012c446f3a78805aa1ff3d533349cbb33c79ed7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de54b269157d00ebc396007ca17e4baaf0e2b9da047c198de67d0f3f85f26532
MD5 8645707b8ea0ad1a5ee848199ebf19d2
BLAKE2b-256 e5ed24c60ffd8f758a3f5aecfdb04c8273ecea082f57023470744ee2450a8786

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6aab9784b26b26c40c915bc641a0d95162cf56b60b2814c6b84ad349b7e0ece5
MD5 0d9acdc1d1b76b9c8cf47c4522c2fc8a
BLAKE2b-256 3fd3a09e9b1d89d4614d374664e8670d6adaaf6384d32de11297cf3ac917f0eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb9546f7b6674797cd1554fb81e73a1f5e22ad981fbb2cafca634ba2906a73f2
MD5 567e67caf57db9e7b10943e4f0cb1201
BLAKE2b-256 88699e70a5761b0b1aba4bad32ede2274100e1f941bf05d01baaf6d04ed747e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 23b9f08b21c88ece8d6902e86add9cc9c6c3e8b808d9ed352c3876635d545afc
MD5 8851af66ec4b578f6759ced10b599be8
BLAKE2b-256 a3070f0e5d91d086d4e7585dc9c558d872bff66899f75f807b08738f2efe280e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66e89a74cec1147f71a25ba7bbc390e7fa7f227ff24e1560c1f44edcc91ac233
MD5 bc54f5238b531525480b0808b745074c
BLAKE2b-256 4659ecdac11a977c55981ef7d7909c3df77a2507c1d000241fb7fecf6a5d5048

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 346d84c6d3d1458202cecdf3f6c2851f81135317db57e5caefd3398d1a1e7166
MD5 22ac3e4ef63de23d9e474fca62366fe5
BLAKE2b-256 e228fa52f402a351c3a01aac27fede0660b6312dffe0356c982898e0329a61e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93192f579a9c743aebd402cb1a150b83e870bd88dff23f5029558c6d746176ed
MD5 549a11ffa9c779d4548b3308b399a188
BLAKE2b-256 eec221bcfe57d2db4cfc12e972d90a5460c9a45280a809c723ba04bed9e8838b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c5f240735abfb6e1e597da420ff2c62c258f14bb15142d091443e5d61aaea27
MD5 3ee9379a14cbaedbcb3182e072a0e037
BLAKE2b-256 efa6312d8e11e655e1334417acc20652ff4bede9ab771cbcd658a3fe4e2338ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a13411c7b4e201b362c0b04326bcdc0bc725c618baf5273154d4d3090d074cd1
MD5 6308f8ffd08b78e685a1721fffb7827e
BLAKE2b-256 9dbb7f12bba2fc63d185fc740cc9b510e5752531a16179f2cdfb4e106c857e85

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5864f6babdaa2e9d831bdd8a4f4955591cf8773c036d61e23fbbb675331b0c2a
MD5 798293cbda0477af6902ac6cab8c1b28
BLAKE2b-256 05f3840ebd8ce1e86db98db28dd3c1b1a3a21e1b899f9b564f8e484f67a0e14d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp38-cp38-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29002de8099c6c99adefb435e4fe2eb8d165d57f2e590b3a00cbb928568b8eba
MD5 5b9cf1c732c3480697138104b7699a89
BLAKE2b-256 a683a4ea08466aa78707c723b2b72f95e1045720a495a1a0d7aa51c27756c9cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6b26c4707988a218910bf566fb4252bda71d0fbaadd0d9c8285ad75d0ea82483
MD5 66a662c3d1497abec4a328e16e9ad194
BLAKE2b-256 1b1257bec832bfa776024d707d24d9ef0671cb1b09c8d095e74086f6ebec9035

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfastani-0.6.2-cp37-cp37m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyfastani-0.6.2-cp37-cp37m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 73cbd417c692478669032f3434b81018e4ab7d7e8b526aa0b198af2cd40ac4f8
MD5 45c59241de6e23892cda74f8f647ad4d
BLAKE2b-256 2b5664d49ffb8ca1e66bf98f0981d253e1eabe128a140274fa7a8865bcf522f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfastani-0.6.2-cp37-cp37m-macosx_10_12_x86_64.whl:

Publisher: package.yml on althonos/pyfastani

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page