Skip to main content

Routines for loading, saving, and manipulating taxonomic trees

Project description

Taxonomy

PyPI version Crates version CI

This is a Rust library for reading, writing, and editing biological taxonomies. There are associated Python bindings for accessing most of the functionality from Python.

This library was developed initially as a component in One Codex's metagenomic classification pipeline before being refactored out, expanded, and open-sourced. It is designed such that it can be used as is with a number of taxonomic formats or the Taxonomy trait it provides can be used to add last common ancestor, traversal, etc. methods to a downstream package's taxonomy implementation.

The library ships with a number of features:

  • Common support for taxonomy handling across Rust and Python
  • Fast and low(er) memory usage
  • NCBI taxonomy, JSON ("tree" and "node_link_data" formats), Newick, and PhyloXML support
  • Easily extensible (in Rust) to support other formats and operations

Installation

Rust

This library can be added to an existing Cargo.toml file and installed straight from crates.io.

Python

You can install the Python bindings directly from PyPI (binaries are only built for select architectures) with:

pip install taxonomy

Python Usage

The Python taxonomy API can open and manipulate all of the formats from the Rust library. Note that Taxonomy IDs in NCBI format are integers, but they're converted to strings on import. We find working with "string taxonomy IDs" greatly simplifies inter-operation between different taxonomy systems.

Loading a taxonomy

Taxonomy can be loaded from a variety of sources.

  1. Taxonomy.from_newick(value: str): loads a Taxonomy from a Newick-encoded string.

  2. Taxonomy.from_ncbi(ncbi_filder: str): loads a Taxonomy from a pair of NCBI dump files. The folder needs to contain the individual files in the NCBI taxonomy directory (e.g. nodes.dmp and names.dmp).

  3. Taxonomy.from_json(value: str, /, json_pointer: str): loads a Taxonomy from a JSON-encoded string. The format can either be of the tree or node_link_data types and will be automatically detected (more details on both formats on the documentation. If json_pointer is specified, the JSON will be traversed to that sub-object before being parsed as a taxonomy.

  4. Taxonomy.from_phyloxml(value: &str): loads a Taxonomy from a PhyloXML-encoded string. Experimental

  5. Taxonomy.from_gtdb(value: &str): loads a Taxonomy from a GTDB-encoded string. Experimental

Exporting a taxonomy

Assuming that the taxonomy has been instantiated as a variable named tax.

  1. tax.to_newick(): exports a Taxonomy as a Newick-encoded byte string.
  2. tax.to_json_tree(): exports a Taxonomy as a JSON-encoded byte string in a tree format
  3. tax.to_json_node_links(): exports a Taxonomy as a JSON-encoded byte string in a node links format

Using a taxonomy

Assuming that the taxonomy has been instantiated as a variable named tax. Note that TaxonomyNode is a class with the following schema:

class TaxonomyNode:
    id: str
    name: str
    parent: Optional[str]
    rank: str

Note that tax_id in parameters passed in functions described below are string but for example in the case of NCBI need to be essentially quoting integers: 562 -> "562". If you loaded a taxonomy via JSON and you had additional data in your file, you can access it via indexing, node["readcount"] for example.

tax.clone() -> Taxonomy

Return a new taxonomy, equivalent to a deep copy.

tax.root -> TaxonomyNode

Points to the root of the taxonomy

tax.parent(tax_id: str, /, at_rank: str) -> Optional[TaxonomyNode]

Return the immediate parent TaxonomyNode of the node id.

If at_rank is provided, scan all the nodes in the node's lineage and return the parent id at that rank.

Examples:

parent = tax.parent("612")
parent = tax.parent("612", at_rank="species")
parent = tax.parent("612")
# Both variables will be `None` if we can't find the parent
parent = tax.parent("unknown")

tax.parent_with_distance(tax_id: str, /, at_rank: str) -> (Optional[TaxonomyNode], Optional[float])

Same as parent but return the distance in addition, as a (TaxonomyNode, float) tuple.

tax.node(tax_id: str) -> Optional[TaxonomyNode]

Returns the node at that id. Returns None if not found. You can also use indexing to accomplish that: tax["some_id"] but this will raise an exception if the node is not found.

tax.find_all_by_name(name: str) -> List[TaxonomyNode]

Returns all the nodes with that name. In NCBI, it only accounts for scientific names and not synonyms.

tax.children(tax_id: str) -> List[TaxonomyNode]

Returns all direct nodes below the given tax id.

tax.descendants(tax_id: str) -> List[TaxonomyNode]

Returns all nodes below the given tax id. Equivalent to running tax.children recursively on the initial result of tax.children(tax_id).

tax.lineage(tax_id: str) -> List[TaxonomyNode]

Returns all nodes above the given tax id, including itself.

tax.parents(tax_id: str) -> List[TaxonomyNode]

Returns all nodes above the given tax id.

tax.lca(id1: str, id2: str) -> Optional[TaxonomyNode]

Returns the lowest common ancestor for the 2 given nodes.

tax.prune(keep: List[str], remove: List[str])-> Taxonomy

Return a copy of the taxonomy containing:

  • only the nodes in keep and their parents if provided
  • all of the nodes except those in remove and their children if provided

tax.remove_node(tax_id: str)

Remove the node from the tree, re-attaching parents as needed: only a single node is removed.

tax.add_node(parent_tax_id: str, new_tax_id: str)

Add a new node to the tree at the parent provided.

edit_node(tax_id: str, /, name: str, rank: str, parent_id: str, parent_dist: float)

Edit properties on a taxonomy node.

internal_index(tax_id: str)

Return internal integer index used by some applications. For the JSON node-link format, this is the positional index of each node in the nodes array.

Exceptions

Only one exception is raised intentionally by the library: TaxonomyError. If you get a pyo3_runtime.PanicException (or anything with pyo3 in its name), this is a bug in the underlying Rust library, please open an issue.

Development

Rust

There is a test suite runable with cargo test. To test the Python-bindings you need to use the additional python_test feature: cargo test --features python_test.

Python

To work on the Python library on a Mac OS X/Unix system (requires Python 3):

# you need the nightly version of Rust installed
curl https://sh.rustup.rs -sSf | sh

# finally, install the library in the local virtualenv
maturin develop --features python

# or using pip
pip install .

Building binary wheels and pushing to PyPI

# The Mac build requires switching through a few different python versions
maturin build --features python --release --strip

# The linux build requires switching through different python versions and linux compatibility targets.
# For example, to build for Python 3.10 and manylinux2010 compatibility:
docker run --rm -v $(pwd):/io ghcr.io/pyo3/maturin:main build --features=python --release --strip --interpreter=python3.10

# Upload the wheels to PyPI:
twine upload target/wheels/*

Other Taxonomy Libraries

There are taxonomic toolkits for other programming languages that offer different features and provided some inspiration for this library:

ETE Toolkit (http://etetoolkit.org/) A Python taxonomy library

Taxize (https://ropensci.github.io/taxize-book/) An R toolkit for working with taxonomic data

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

taxonomy-0.10.0.tar.gz (109.6 kB view details)

Uploaded Source

Built Distributions

taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (457.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (421.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (450.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp312-cp312-macosx_11_0_arm64.whl (414.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

taxonomy-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl (441.8 kB view details)

Uploaded CPython 3.12 macOS 10.7+ x86-64

taxonomy-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp311-cp311-macosx_11_0_arm64.whl (406.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

taxonomy-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl (436.9 kB view details)

Uploaded CPython 3.11 macOS 10.7+ x86-64

taxonomy-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp310-cp310-macosx_11_0_arm64.whl (406.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

taxonomy-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl (436.1 kB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

taxonomy-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

File details

Details for the file taxonomy-0.10.0.tar.gz.

File metadata

  • Download URL: taxonomy-0.10.0.tar.gz
  • Upload date:
  • Size: 109.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for taxonomy-0.10.0.tar.gz
Algorithm Hash digest
SHA256 3ff7e2299c9554b8b8be2f00bb4cd9722d0ae820e8a271aaf1390a7e790c3f51
MD5 db1b7f5b6a2d2560c9b7862ba8335699
BLAKE2b-256 3c1d92db661b76e3fd6b34ef3e4dff1b861f89e702520e7420df2f68158d9944

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c28ed22a0e414a5a31b3ce44472fcce49aaa677d6f70b3630de051670dc6701a
MD5 3400296e26468b5979f262cde5374462
BLAKE2b-256 0c9e50d70dc92e175ba78f8a07792697cfbfb335ad521d6ba4e1ad7d048b41b7

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8c36e0059499a823dc0a6bcaaa13da6ab86cef6a472829404c41b6dd2956f977
MD5 ab0e184635afcd4cc21a1454ef49d166
BLAKE2b-256 0514d6a1e0fd28042362d62c1a026c99abb88f91e4e6a463a639c2ee058c7af5

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de4e42cedd3596e8c96cdd542ceb3c4045a63dcb0d928e74ce70769ffa025098
MD5 dcea5d61a5b9652cdd6d56f1c3e66695
BLAKE2b-256 cac831881fe7b440b6dc301b2df0433ceab6339a61f8f1fdb0eceac64bd8f480

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f224e385e83ccb12d054469344b9791fd12d9c6a16d17a61a869ce174bf4f424
MD5 8dfc333d7e50499acb88f9ce85c8039f
BLAKE2b-256 dc89af8bffecdcb8702d0129ad4407694a67ecf9d0b3d89dca7f8edfc9dce1f8

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71167f83f1bd6270e2cd94935b03d8f45f87a3972ff12471b12bfab509b56693
MD5 42fbfd6b63231758224c57b395cc3edf
BLAKE2b-256 661c00d8fe995889b303a991d5631088cc15d6d3fcc38a2a3c0d51908e37a391

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0ce9451516de53328aed3736c6d159588c31cd15d767014101fd535bcf6d5622
MD5 45206ef4b9fb7d39469f4a073016bb5f
BLAKE2b-256 916cc68239cb53c5bc2ef52ea86a8f4a4d952b92b8be73ed439901f8bff3cc0c

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a15ab3d2bfb01791d7751f02b395f960863f5fe9af174bc5e505e190d34bd889
MD5 9f10e07f50d8439d5047ed6bc6c5a01d
BLAKE2b-256 88f7dfa6d9d1980649c0ed9ca8c76407a55d6a4afcf17da412f0e06624af5b54

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b39971af038adf49960986664b9ee678c578bdd694ce551299a82173ef88cfb7
MD5 6208fb6c03564d291e583434980acea2
BLAKE2b-256 d47a5c66db1cf91838030f3576284ede428cbc24b85c5c2d503422ff8e77aa0c

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f3ab6624c028ff91a2f4a80412b2cde7d3e08874c487e9ecf23f8b69b1ea598
MD5 2fd1a8f4311257ce91abed7bba546dfb
BLAKE2b-256 5ce2dee99f70d17d55be62531201872a63cad2d7dbd50911bc1cb62f44feca2b

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4d4ad08f69aa079b2de4ee6b258aead01f9dfdd457f703a4b005760341dcbc64
MD5 738ab42ca4ac359d3fc44f12b0d212c5
BLAKE2b-256 098d6ff03977e6d4d334f332f7534ed0545373ce066d832c676a7d448b202af6

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 729288ccb9bd4a66eeb3a167cd39f09fec21fe11670816c9e9704d0504610962
MD5 e05f3777c27c50887b202211dc42b7fb
BLAKE2b-256 e3fd4d4c9115283c2c6ab5800b50b51b975f625364ce54546f8cabc961f4a757

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3322570e8a484d16577d01bf33afebfdd888e7e669d0a9ad04a53efdc58a49a3
MD5 83dfc6730ddcaeffb1493fd9e1cb8ebb
BLAKE2b-256 cc198e3e2cc576ba3e1138b35159d1fa0e1f308a3b1f2afcd2d5920e707f101b

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27ffdfa76e5f7e087e399874fb97749a9424098b428521b194b7bffcebb68a4a
MD5 f864154dc8c1427cc72bd8812a1529af
BLAKE2b-256 0dbae4c6a5ba24e4457a625ba4e1e2b0ad18245f2d9f23f33effe199a4b0fb4b

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 539845bf5dbe767bd7732c6c3d67f1f5bcb638b900cda35de39edb7508c09f97
MD5 6821bf933552ab6f1e4902e8605bfc1f
BLAKE2b-256 7993979d8b702537269f668cabbe66561fe42b5c494cc8523c14f880e597b9a2

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 79d9935e2b010e77318fba73613ec0c293f04d3fd82b171511d37fabfdf04c84
MD5 af729e5957d76b4df142d2646414cdbc
BLAKE2b-256 69f3035d0646647b6ad6ccca811b6b2a084fefe9c5340925f924c5f6ff788a2a

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a97ac83d9e66dd02cdcecad79164626701bf055f4712752b8438b8893323c0eb
MD5 2d53bb8c79e97d7edd2cbeb9185b8865
BLAKE2b-256 e4c0d36da87c6432e4d867cb22a01ec796551c89749c266b795797a03706f790

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f5c78dd8b2f6255ad66642dd8d506b1c89dcffc2b2456dc1f56415b4ef00972
MD5 0b8e53f1296c128ea044674f9a709908
BLAKE2b-256 45f270bdf9074140ce6e192768d4ea3a9b844b810c5d43270500a3ee15458040

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 0e179e42ae490ff7ce700cf8519a1d58e90c17cd73bd33d2171eb94ae961f431
MD5 6b122e06e19b7a388658faec75ee69d7
BLAKE2b-256 70000a2b5ff35ae79322fb6c0b66c2793a757c7ebf631669e6de41a32a3a8180

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3635f38e64454e6f22c56663bb6114759c846533008e6c683db28fe6c85b5b15
MD5 d532ad8faa694aeafa403bb76ef7b1ad
BLAKE2b-256 997b258e1e0f63898057ca900b45390341941f5cbbf52bede56a9e28e8345888

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6c8c655cae9bfa36b0f5b684fa51ae8f219359c9215ae9c6f723c42f8135ed96
MD5 e79483d49acef8d3634aea36622ccfec
BLAKE2b-256 9967391a34664cdc18492c3a4ab7725c7ed8d83fba6c136322104f21b4e857cc

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6c8e40291a5561156df77a3ef0d15c48bd3cedd546d3cac699d4bb37f53df0b
MD5 c9a316ff47befc0602acddfb1a9d37ee
BLAKE2b-256 1988a99d41e2d73da3c8f3bcb39c5be15198c37542786ac7013cb3bc99166247

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b353f9aa42b789351f91f041bff503c9af5b001d6183e13f25dae166ea7f613e
MD5 69ce81db1207d3e4230e930ed04462ad
BLAKE2b-256 8fd464a3b7fbe159be1fdc49cae3cff33ef672fc18ed9464e47ab99bd496a38b

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 861612d71b334380d9b3850bba2345c8019bcb07ce8331bdec8b5e2202b6735b
MD5 b74f3082cbbbaf35366e9cb32bd0186d
BLAKE2b-256 aede36890b728c6864005684e837cd092d06ebddc6621c432d9e2d787f436418

See more details on using hashes here.

File details

Details for the file taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for taxonomy-0.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e2c3d0b7d98e27f6adaca88bbe6d71f3112da141c0bcb3b30839350b29e580d
MD5 35ef4e1441ec43709e03908b8caa2fcf
BLAKE2b-256 51867129d0aaf8aebd3e997bf84fb951eed40a4cf93c503b0105c520672882ae

See more details on using hashes here.

Supported by

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