Skip to main content

Python bindings for the Tree-Sitter parsing library

Project description

Python Tree-sitter

CI pypi

This module provides Python bindings to the tree-sitter parsing library.

Installation

The package has no library dependencies and provides pre-compiled wheels for all major platforms.

[!NOTE] If your platform is not currently supported, please submit an issue on GitHub.

pip install tree-sitter

Usage

Setup

Install languages

Tree-sitter language implementations also provide pre-compiled binary wheels. Let's take Python as an example.

pip install tree-sitter-python

Then, you can load it as a Language object:

import tree_sitter_python as tspython
from tree_sitter import Language, Parser

PY_LANGUAGE = Language(tspython.language(), "python")

Build from source

[!WARNING] This method of loading languages is deprecated and will be removed in v0.22.0. You should only use it if you need languages that have not updated their bindings. Keep in mind that you will need a C compiler in this case.

First you'll need a Tree-sitter language implementation for each language that you want to parse.

git clone https://github.com/tree-sitter/tree-sitter-go
git clone https://github.com/tree-sitter/tree-sitter-javascript
git clone https://github.com/tree-sitter/tree-sitter-python

Use the Language.build_library method to compile these into a library that's usable from Python. This function will return immediately if the library has already been compiled since the last time its source code was modified:

from tree_sitter import Language, Parser

Language.build_library(
    # Store the library in the `build` directory
    "build/my-languages.so",
    # Include one or more languages
    ["vendor/tree-sitter-go", "vendor/tree-sitter-javascript", "vendor/tree-sitter-python"],
)

Load the languages into your app as Language objects:

GO_LANGUAGE = Language("build/my-languages.so", "go")
JS_LANGUAGE = Language("build/my-languages.so", "javascript")
PY_LANGUAGE = Language("build/my-languages.so", "python")

Basic parsing

Create a Parser and configure it to use a language:

parser = Parser()
parser.set_language(PY_LANGUAGE)

Parse some source code:

tree = parser.parse(
    bytes(
        """
def foo():
    if bar:
        baz()
""",
        "utf8",
    )
)

If you have your source code in some data structure other than a bytes object, you can pass a "read" callable to the parse function.

The read callable can use either the byte offset or point tuple to read from buffer and return source code as bytes object. An empty bytes object or None terminates parsing for that line. The bytes must encode the source as UTF-8.

For example, to use the byte offset:

src = bytes(
    """
def foo():
    if bar:
        baz()
""",
    "utf8",
)


def read_callable_byte_offset(byte_offset, point):
    return src[byte_offset : byte_offset + 1]


tree = parser.parse(read_callable_byte_offset)

And to use the point:

src_lines = ["\n", "def foo():\n", "    if bar:\n", "        baz()\n"]


def read_callable_point(byte_offset, point):
    row, column = point
    if row >= len(src_lines) or column >= len(src_lines[row]):
        return None
    return src_lines[row][column:].encode("utf8")


tree = parser.parse(read_callable_point)

Inspect the resulting Tree:

root_node = tree.root_node
assert root_node.type == 'module'
assert root_node.start_point == (1, 0)
assert root_node.end_point == (4, 0)

function_node = root_node.children[0]
assert function_node.type == 'function_definition'
assert function_node.child_by_field_name('name').type == 'identifier'

function_name_node = function_node.children[1]
assert function_name_node.type == 'identifier'
assert function_name_node.start_point == (1, 4)
assert function_name_node.end_point == (1, 7)

function_body_node = function_node.child_by_field_name("body")

if_statement_node = function_body_node.child(0)
assert if_statement_node.type == "if_statement"

function_call_node = if_statement_node.child_by_field_name("consequence").child(0).child(0)
assert function_call_node.type == "call"

function_call_name_node = function_call_node.child_by_field_name("function")
assert function_call_name_node.type == "identifier"

function_call_args_node = function_call_node.child_by_field_name("arguments")
assert function_call_args_node.type == "argument_list"


assert root_node.sexp() == (
    "(module "
        "(function_definition "
            "name: (identifier) "
            "parameters: (parameters) "
            "body: (block "
                "(if_statement "
                    "condition: (identifier) "
                    "consequence: (block "
                        "(expression_statement (call "
                            "function: (identifier) "
                            "arguments: (argument_list))))))))"
)

Walking syntax trees

If you need to traverse a large number of nodes efficiently, you can use a TreeCursor:

cursor = tree.walk()

assert cursor.node.type == "module"

assert cursor.goto_first_child()
assert cursor.node.type == "function_definition"

assert cursor.goto_first_child()
assert cursor.node.type == "def"

# Returns `False` because the `def` node has no children
assert not cursor.goto_first_child()

assert cursor.goto_next_sibling()
assert cursor.node.type == "identifier"

assert cursor.goto_next_sibling()
assert cursor.node.type == "parameters"

assert cursor.goto_parent()
assert cursor.node.type == "function_definition"

[!IMPORTANT] Keep in mind that the cursor can only walk into children of the node that it started from.

See examples/walk_tree.py for a complete example of iterating over every node in a tree.

Editing

When a source file is edited, you can edit the syntax tree to keep it in sync with the source:

new_src = src[:5] + src[5 : 5 + 2].upper() + src[5 + 2 :]

tree.edit(
    start_byte=5,
    old_end_byte=5,
    new_end_byte=5 + 2,
    start_point=(0, 5),
    old_end_point=(0, 5),
    new_end_point=(0, 5 + 2),
)

Then, when you're ready to incorporate the changes into a new syntax tree, you can call Parser.parse again, but pass in the old tree:

new_tree = parser.parse(new_src, tree)

This will run much faster than if you were parsing from scratch.

The Tree.changed_ranges method can be called on the old tree to return the list of ranges whose syntactic structure has been changed:

for changed_range in tree.changed_ranges(new_tree):
    print("Changed range:")
    print(f"  Start point {changed_range.start_point}")
    print(f"  Start byte {changed_range.start_byte}")
    print(f"  End point {changed_range.end_point}")
    print(f"  End byte {changed_range.end_byte}")

Pattern-matching

You can search for patterns in a syntax tree using a tree query:

query = PY_LANGUAGE.query(
    """
(function_definition
  name: (identifier) @function.def
  body: (block) @function.block)

(call
  function: (identifier) @function.call
  arguments: (argument_list) @function.args)
"""
)

Captures

captures = query.captures(tree.root_node)
assert len(captures) == 2
assert captures[0][0] == function_name_node
assert captures[0][1] == "function.def"

The Query.captures() method takes optional start_point, end_point, start_byte and end_byte keyword arguments, which can be used to restrict the query's range. Only one of the ..._byte or ..._point pairs need to be given to restrict the range. If all are omitted, the entire range of the passed node is used.

Matches

matches = query.matches(tree.root_node)
assert len(matches) == 2

# first match
assert matches[0][1]["function.def"] == function_name_node
assert matches[0][1]["function.block"] == function_body_node

# second match
assert matches[1][1]["function.call"] == function_call_name_node
assert matches[1][1]["function.args"] == function_call_args_node

The Query.matches() method takes the same optional arguments as Query.captures(). The difference between the two methods is that Query.matches() groups captures into matches, which is much more useful when your captures within a query relate to each other. It maps the capture's name to the node that was captured via a dictionary.

To try out and explore the code referenced in this README, check out examples/usage.py.

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

tree-sitter-0.21.3.tar.gz (155.7 kB view details)

Uploaded Source

Built Distributions

tree_sitter-0.21.3-cp312-cp312-win_amd64.whl (109.8 kB view details)

Uploaded CPython 3.12 Windows x86-64

tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_x86_64.whl (496.3 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_aarch64.whl (486.0 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (502.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (490.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

tree_sitter-0.21.3-cp312-cp312-macosx_11_0_arm64.whl (126.0 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

tree_sitter-0.21.3-cp312-cp312-macosx_10_9_x86_64.whl (133.6 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

tree_sitter-0.21.3-cp311-cp311-win_amd64.whl (109.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_x86_64.whl (493.8 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_aarch64.whl (483.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (498.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tree_sitter-0.21.3-cp311-cp311-macosx_11_0_arm64.whl (126.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tree_sitter-0.21.3-cp311-cp311-macosx_10_9_x86_64.whl (133.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

tree_sitter-0.21.3-cp310-cp310-win_amd64.whl (109.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_x86_64.whl (492.8 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_aarch64.whl (482.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (485.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tree_sitter-0.21.3-cp310-cp310-macosx_11_0_arm64.whl (126.1 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tree_sitter-0.21.3-cp310-cp310-macosx_10_9_x86_64.whl (133.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tree_sitter-0.21.3-cp39-cp39-win_amd64.whl (110.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_x86_64.whl (494.4 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_aarch64.whl (484.4 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (498.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tree_sitter-0.21.3-cp39-cp39-macosx_11_0_arm64.whl (126.4 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tree_sitter-0.21.3-cp39-cp39-macosx_10_9_x86_64.whl (133.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tree_sitter-0.21.3-cp38-cp38-win_amd64.whl (110.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_x86_64.whl (499.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_aarch64.whl (490.9 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (503.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (493.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

tree_sitter-0.21.3-cp38-cp38-macosx_11_0_arm64.whl (126.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

tree_sitter-0.21.3-cp38-cp38-macosx_10_9_x86_64.whl (133.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file tree-sitter-0.21.3.tar.gz.

File metadata

  • Download URL: tree-sitter-0.21.3.tar.gz
  • Upload date:
  • Size: 155.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for tree-sitter-0.21.3.tar.gz
Algorithm Hash digest
SHA256 b5de3028921522365aa864d95b3c41926e0ba6a85ee5bd000e10dc49b0766988
MD5 eb97a123479b0a5920df87584491858a
BLAKE2b-256 399eb7cb190aa08e4ea387f2b1531da03efb4b8b033426753c0b97e3698645f6

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 013c750252dc3bd0e069d82e9658de35ed50eecf31c6586d0de7f942546824c5
MD5 0d0c6e1ebbd10c9b0da97eb80ccd8cb3
BLAKE2b-256 eb4fdf4ea84476443021707b537217c32147ccccbc3e10c17b216a969991e1b3

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e1e66aeb457d1529370fcb0997ae5584c6879e0e662f1b11b2f295ea57e22f54
MD5 4efc8acba4cf481270909967689f9308
BLAKE2b-256 4aea69b543538a46d763f3e787234d1617b718ab90f32ffa676ca856f1d9540e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c7cbab1dd9765138505c4a55e2aa857575bac4f1f8a8b0457744a4fefa1288e6
MD5 c4c7d1130a63096f7fe3436f9dd9bcd9
BLAKE2b-256 0592b2cb22cf52c18fcc95662897f380cf230c443dfc9196b872aad5948b7bb3

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af992dfe08b4fefcfcdb40548d0d26d5d2e0a0f2d833487372f3728cd0772b48
MD5 87fab551d375ee165bf9ec9ce2d97b65
BLAKE2b-256 ec870c3593552cb0d09ab6271d37fc0e6a9476919d2a975661d709d4b3289fc7

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a3e06ae2a517cf6f1abb682974f76fa760298e6d5a3ecf2cf140c70f898adf0
MD5 d2c08db728b3ca756d95f67d548cb8b4
BLAKE2b-256 c2df76dbf830126e566c48db0d1bf2bef3f9d8cac938302a9b0f762ded8206c2

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2aa2a5099a9f667730ff26d57533cc893d766667f4d8a9877e76a9e74f48f0d3
MD5 415818912d3accb951381967bb91f873
BLAKE2b-256 f6ceac14e5cbb0f30b7bd338122491ee2b8e6c0408cfe26741cbd66fa9b53d35

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 669b3e5a52cb1e37d60c7b16cc2221c76520445bb4f12dd17fd7220217f5abf3
MD5 8f3e1e8750b725811e8fc8c0ef524e9f
BLAKE2b-256 81e1cceb06eae617a6bf5eeeefa9813d9fd57d89b50f526ce02486a336bcd2a9

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0b7256c723642de1c05fbb776b27742204a2382e337af22f4d9e279d77df7aa2
MD5 c4aa4aedfba017bb95ca54e5b3dad926
BLAKE2b-256 1da798da36a6eab22f5729989c9e0137b1b04cbe368d1e024fccd72c0b00719b

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ee61ee3b7a4eedf9d8f1635c68ba4a6fa8c46929601fc48a907c6cfef0cfbcb2
MD5 068c0aea417982deec80a4207229c39e
BLAKE2b-256 42fabf938e7c6afbc368d503deeda060891c3dba57e2d1166e4b884271f55616

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4f874c3f7d2a2faf5c91982dc7d88ff2a8f183a21fe475c29bee3009773b0558
MD5 154e63be31404eb88a4478c8ad806443
BLAKE2b-256 6ed105ea77487bc7a3946d0e80fb6c5cb61515953f5e7a4f6804b98e113ed4b0

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fabc7182f6083269ce3cfcad202fe01516aa80df64573b390af6cd853e8444a1
MD5 d8ca5dec633a70196fdcf0060e25ad6d
BLAKE2b-256 294e798154f2846d620bf9fa3bc244e056d4858f2108f834656bf9f1219d4f30

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc3fd34ed4cd5db445bc448361b5da46a2a781c648328dc5879d768f16a46771
MD5 21fb68f82dd59b8fbb982225112e33d8
BLAKE2b-256 ba88941669acc140f94e6c6196d6d8676ac4cd57c3b3fbc1ee61bb11c1b2da71

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab6e88c1e2d5e84ff0f9e5cd83f21b8e5074ad292a2cf19df3ba31d94fbcecd4
MD5 aa5fd12e95c6ce5578bfd23724f0d698
BLAKE2b-256 d364c5d397efbb6d0dbed4254cd2ca389ed186a2e1e7e32661059f6eeaaf6424

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 54b22c3c2aab3e3639a4b255d9df8455da2921d050c4829b6a5663b057f10db5
MD5 11a127388d25b564dcd6ead4ff71ec35
BLAKE2b-256 63b572657d5874d7f0a722c0288f04e5e2bc33d7715b13a858885b6593047dce

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb41be86a987391f9970571aebe005ccd10222f39c25efd15826583c761a37e5
MD5 c223aa24633faa3b67108864b3bbafab
BLAKE2b-256 16bfc6ee8d9287846912f427e1d8f1f7266e612a1d6ba161517c793e83f620cf

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fae1ee0ff6d85e2fd5cd8ceb9fe4af4012220ee1e4cbe813305a316caf7a6f63
MD5 af9a96c91aa7abf2cb83a7ffd85838cc
BLAKE2b-256 426eb8bf5f75fc6485a429e2b6f71aaed2666dba483b875fbd76a7b007f85073

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 9d33ea425df8c3d6436926fe2991429d59c335431bf4e3c71e77c17eb508be5a
MD5 4bdf0e8ddd2d0d886d2f55ccfa06a4d4
BLAKE2b-256 8868c916a2669ff92f8e66d519d5df20d36e0eac0dd178a77169ae8c8a7c3e08

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84eedb06615461b9e2847be7c47b9c5f2195d7d66d31b33c0a227eff4e0a0199
MD5 52567c398a2f26a6691a0a8a5db9bd9e
BLAKE2b-256 06a39f65bcb73947bf4d16e816fa547e1edfe411a530ff3370c1ae10c5bc21d8

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c4d3d4d4b44857e87de55302af7f2d051c912c466ef20e8f18158e64df3542a
MD5 ab6dd1055901645b8343db69940cde85
BLAKE2b-256 64742c9dc1acb4c43b9c15765ab0fb4babb76e49e8198889dfc730bc1e906a82

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 766e79ae1e61271e7fdfecf35b6401ad9b47fc07a0965ad78e7f97fddfdf47a6
MD5 b34c6fa18229231bab83737e9976184a
BLAKE2b-256 a52405a76f662445ebdebd00e12bc4c9ebf974a559bb7f4863dc1def775add39

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 351f302b6615230c9dac9829f0ba20a94362cd658206ca9a7b2d58d73373dfb0
MD5 eff297f054c3383a3f2f0e5dfd811424
BLAKE2b-256 60b35507348eee41af3abf537607779c87de9141fc41af5aa547ff5c1a87fcf6

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fbbd137f7d9a5309fb4cb82e2c3250ba101b0dd08a8abdce815661e6cf2cbc19
MD5 c6ce56d4a544a7947fb64cd07516917e
BLAKE2b-256 44ccceef3adeeb998578eaf199632b64e34a6cb2f8186e3856c9796d4671a84e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c4ac87735e6f98fe085244c7c020f0177d13d4c117db72ba041faa980d25d69d
MD5 03e96a7004a186d246c6a8b4196094e5
BLAKE2b-256 b057f2b16d902e808ccf99740da2cf199043e12783692fe631e857259fbe279f

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 1d9be27dde007b569fa78ff9af5fe40d2532c998add9997a9729e348bb78fa59
MD5 596adafc8b5d4eb28bbf889d3c9f03cb
BLAKE2b-256 44f118534c57d8e0bbaae6fe0d00d7e4ae3394b0be0b2b94b6aba370cdbd3be6

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5df40aa29cb7e323898194246df7a03b9676955a0ac1f6bce06bc4903a70b5f7
MD5 ae4e6847200cd75354156b3921db7583
BLAKE2b-256 0a5dafef7068b7eb3f5b50b4c0ae0fff43511f37263876dbb487158b22f89bfb

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 839759de30230ffd60687edbb119b31521d5ac016749358e5285816798bb804a
MD5 da31a32f63f28fcb0262dc50422ba257
BLAKE2b-256 4f22e01759e2303dc9db719f9985d6e980ddd24ac2a9136d5d06ee7c7e13f25a

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2f057fd01d3a95cbce6794c6e9f6db3d376cb3bb14e5b0528d77f0ec21d6478
MD5 e0fd846823b388159dc51880313241e8
BLAKE2b-256 9e33db09a0b0f7ca96bbf53e2a5c024bc1f0a138babb2f4472b4954627778d79

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b17b8648b296ccc21a88d72ca054b809ee82d4b14483e419474e7216240ea278
MD5 adac382299671cb1484e99bd1a057ed2
BLAKE2b-256 29ea2f848cf720dce4835388f30dca377bee9054461c51cdd0340c82e2d2fe32

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 50c91353a26946e4dd6779837ecaf8aa123aafa2d3209f261ab5280daf0962f5
MD5 c3fa435f447b1bf7356609399c4ad3e1
BLAKE2b-256 cf678a83076e07e57f809bf308973aac5c21f8a2e5757ddd3429a14986a76405

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 00e4d0c99dff595398ef5e88a1b1ddd53adb13233fb677c1fd8e497fb2361629
MD5 71fcbd2614aa65bf2697e107f123511a
BLAKE2b-256 b805dffdba16b6d2295c24e51a812481fe27907213415b306f99b84c1b518506

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 60b4df3298ff467bc01e2c0f6c2fb43aca088038202304bf8e41edd9fa348f45
MD5 5281bf548817e2c449a1bc4cc682934f
BLAKE2b-256 55febb1ef3feb6e11ff7feefe423fbb833ede7b42f20dd7742cfa7b163d6127a

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3652ac9e47cdddf213c5d5d6854194469097e62f7181c0a9aa8435449a163a9
MD5 88f3ced79773766b4307ebb5bafa7c63
BLAKE2b-256 ec195e964315acf83dc84ddf7d1abadda3d7950a743247cb331c6dea0664fd9f

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f32a88afff4f2bc0f20632b0a2aa35fa9ae7d518f083409eca253518e0950929
MD5 e9acad2fb587e6089c60074e463a4079
BLAKE2b-256 81aa28c6e2ee7506b6627ba5a35dcfa9042043a32d14cecb5bc7d8fa6f0a1441

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e217fee2e7be7dbce4496caa3d1c466977d7e81277b677f954d3c90e3272ec2
MD5 0dbd4bb28892bcd14e1dd29a1e1540c6
BLAKE2b-256 d49c0465da56c8ca82a366d08f62be21df61f86116fd63dd70fb9bb94c67b21c

See more details on using hashes here.

File details

Details for the file tree_sitter-0.21.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.21.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4986a8cb4acebd168474ec2e5db440e59c7888819b3449a43ce8b17ed0331b07
MD5 6da6c7f3807749950b4612efb876f69b
BLAKE2b-256 a9083a2faaca576eca4ba9d25ff54f5e3c9fe7bdde7b748208dad7c033106f77

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