Skip to main content

Python bindings to the Tree-sitter parsing library

Project description

Python Tree-sitter

CI pypi docs

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())

Basic parsing

Create a Parser and configure it to use a language:

parser = Parser(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 be encoded as UTF-8 or UTF-16.

For example, to use the byte offset with UTF-8 encoding:

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, encoding="utf8")

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, encoding="utf8")

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 str(root_node) == (
    "(module "
        "(function_definition "
            "name: (identifier) "
            "parameters: (parameters) "
            "body: (block "
                "(if_statement "
                    "condition: (identifier) "
                    "consequence: (block "
                        "(expression_statement (call "
                            "function: (identifier) "
                            "arguments: (argument_list))))))))"
)

Or, to use the byte offset with UTF-16 encoding:

parser.language = JAVASCRIPT
source_code = bytes("'😎' && '🐍'", "utf16")

def read(byte_position, _):
    return source_code[byte_position: byte_position + 2]

tree = parser.parse(read, encoding="utf16")
root_node = tree.root_node
statement_node = root_node.children[0]
binary_node = statement_node.children[0]
snake_node = binary_node.children[2]
snake = source_code[snake_node.start_byte:snake_node.end_byte]

assert binary_node.type == "binary_expression"
assert snake_node.type == "string"
assert snake.decode("utf16") == "'🐍'"

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 = Query(
    PY_LANGUAGE,
    """
(function_definition
  name: (identifier) @function.def
  body: (block) @function.block)

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

Captures

query_cursor = QueryCursor(query)
captures = query_cursor.captures(tree.root_node)
assert len(captures) == 4
assert captures["function.def"][0] == function_name_node
assert captures["function.block"][0] == function_body_node
assert captures["function.call"][0] == function_call_name_node
assert captures["function.args"][0] == function_call_args_node

Matches

matches = query_cursor.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 difference between the two methods is that QueryCursor.matches() groups captures into matches, which is much more useful when your captures within a query relate to each other.

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.26.0.tar.gz (191.4 kB view details)

Uploaded Source

Built Distributions

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

tree_sitter-0.26.0-cp314-cp314-win_arm64.whl (120.3 kB view details)

Uploaded CPython 3.14Windows ARM64

tree_sitter-0.26.0-cp314-cp314-win_amd64.whl (132.7 kB view details)

Uploaded CPython 3.14Windows x86-64

tree_sitter-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl (664.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

tree_sitter-0.26.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (649.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

tree_sitter-0.26.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (668.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tree_sitter-0.26.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (640.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter-0.26.0-cp314-cp314-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

tree_sitter-0.26.0-cp314-cp314-macosx_10_15_x86_64.whl (148.9 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

tree_sitter-0.26.0-cp313-cp313-win_arm64.whl (116.5 kB view details)

Uploaded CPython 3.13Windows ARM64

tree_sitter-0.26.0-cp313-cp313-win_amd64.whl (129.6 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_sitter-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl (665.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tree_sitter-0.26.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (648.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

tree_sitter-0.26.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (668.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tree_sitter-0.26.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (639.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter-0.26.0-cp313-cp313-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_sitter-0.26.0-cp313-cp313-macosx_10_13_x86_64.whl (148.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_sitter-0.26.0-cp312-cp312-win_arm64.whl (116.5 kB view details)

Uploaded CPython 3.12Windows ARM64

tree_sitter-0.26.0-cp312-cp312-win_amd64.whl (129.6 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_sitter-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl (665.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tree_sitter-0.26.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (648.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

tree_sitter-0.26.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (667.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tree_sitter-0.26.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (638.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter-0.26.0-cp312-cp312-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_sitter-0.26.0-cp312-cp312-macosx_10_13_x86_64.whl (148.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_sitter-0.26.0-cp311-cp311-win_arm64.whl (116.5 kB view details)

Uploaded CPython 3.11Windows ARM64

tree_sitter-0.26.0-cp311-cp311-win_amd64.whl (129.5 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_sitter-0.26.0-cp311-cp311-musllinux_1_2_x86_64.whl (661.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tree_sitter-0.26.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (647.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

tree_sitter-0.26.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (664.8 kB view details)

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

tree_sitter-0.26.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (637.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter-0.26.0-cp311-cp311-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_sitter-0.26.0-cp311-cp311-macosx_10_9_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_sitter-0.26.0-cp310-cp310-win_arm64.whl (116.5 kB view details)

Uploaded CPython 3.10Windows ARM64

tree_sitter-0.26.0-cp310-cp310-win_amd64.whl (129.5 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_sitter-0.26.0-cp310-cp310-musllinux_1_2_x86_64.whl (655.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tree_sitter-0.26.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl (644.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ riscv64manylinux: glibc 2.39+ riscv64

tree_sitter-0.26.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (658.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tree_sitter-0.26.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (631.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter-0.26.0-cp310-cp310-macosx_11_0_arm64.whl (140.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_sitter-0.26.0-cp310-cp310-macosx_10_9_x86_64.whl (148.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file tree_sitter-0.26.0.tar.gz.

File metadata

  • Download URL: tree_sitter-0.26.0.tar.gz
  • Upload date:
  • Size: 191.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tree_sitter-0.26.0.tar.gz
Algorithm Hash digest
SHA256 b40c219edccc4564530c96f8f1556f6202b37cda964d1cbd7bd2b7e68b40a245
MD5 18b671256d336fa4f2c3308e9b658aee
BLAKE2b-256 f7035600b84aff2e6c4fe80cfebb4063fe2f50299521befe5f6092ab8c082f4a

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 823251c4b6725a7c03ed497a339135ede7ae4bdde75bb8be7ef5e305aeb4ff52
MD5 50711fa39e709cd25866e439e7509863
BLAKE2b-256 4d74ebc041a13fbf40144afdb0d4b447e48e0b4012ca866c63de8b48f801f0c1

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a4033fecc8f606c7f2e8b8014d0057b74668a7f0152763606f7bc25c5f9ec64c
MD5 4cbd4c222a78cee6030678641c26c901
BLAKE2b-256 c91b0b36fe2a984ecedc4ce6aefd5d56447a6626a8e9b595c4e48658510ce8f8

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ff80d4833d330a73184a3ac5132abe93c575d2dea31975c6f15c0d21fef238aa
MD5 3dc9725a09d78a671a9b49ecdc5589e6
BLAKE2b-256 6a54760035cefedf9eb44f0f84c4ac22f1322e73155853e272576ee876336312

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 253df7ab82cc0a9d311cd65f06e9f99fb3eac55996ae9fc94da22f123a861b90
MD5 4f406e43fba90da1c4e5a71b32d6e1fd
BLAKE2b-256 9151240ee81b9d5e9ca0a6cb1528e8605ffa70ab58c89ce126631be96d3e4bae

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f665510f0fcf4636fb9696f1f7853bed7a3bd764b7bb0cb8494e619c14ed5a0c
MD5 068838178de68fbe639cbb5543641555
BLAKE2b-256 e27af56e7d8282859452611024c7cbc623bfba5b24b8cb9b8f8bc88c5219fe9a

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b8ea92a255c91671a7ec4625aba3ab7bb5220c423630ffbf83c45d7312abe084
MD5 9eed7748fe9a4a6d0eff0a38a221b539
BLAKE2b-256 c42cc82326b7b97e3c485c18679883b16f89e5e913c639d3b219d3da70c9e67e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5fc2f41bf246ff2f70a9cc3690be35ec7580a4923151873d898c8bcb1a4503d3
MD5 3f31d3273881e3d6c82f9b5d37a4514d
BLAKE2b-256 b0d9efe62ec65dc9d096e834d27b8c058127e2146e42ff3380b822a233f016a6

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5a3c93a352b7e6f70f73e121bbfa2d0117ba7478bd51114ed35c91b0b78814fa
MD5 44210c3b46c11ecd714419234556b818
BLAKE2b-256 c57a4d84e6f6ae2c3e757490dd84de251712c31e293dfe31f28da1ec019cefa2

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 b31a8195d2f224224c530ac814632d98c1dcc123d227442c07c736e86b70d564
MD5 f922eab9eac91cbe744cac3a7f6c4cdc
BLAKE2b-256 09efc7ca48293580d2249f36940c4eed5b4ddeb9ce75baf9a4ef30621987e0c7

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 93e220cab7e6a823efeb2046c49171427de92ef71c7c681c01820d14d8d3721f
MD5 700ab618705b244ef576ada2977dd4be
BLAKE2b-256 ebd2a944b1ca35bed6068dc84a9967aaf3049d8cc0b7a36179eea8787270a6ab

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00289bfe7978f3e0dc0ce69813a20fa9f44ea4c100b3ec62043e5eb74ccfc3a2
MD5 2f18fd91c59302ecd7b9860c836e18fb
BLAKE2b-256 cde60fe05ba396e9623b0ae40ccf34171336b8701ec8d7bd0ee9f5224d638665

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 26c996c1edfee86e977bb3f5462e74fcec0d0b0db1e85a3c475875763caa03be
MD5 689f460ca9181d6a1681f5ba92c832cc
BLAKE2b-256 d3900bfb16b7894fea728c774a89d5af421a9368a2f913bbd4e8dcab7caaecfb

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7075ef857ef86f327dbb72d1e2574dda78db5754b3a1fca6506acd7fe5d561a7
MD5 823b16973c720ced945daf7a59dc3738
BLAKE2b-256 66e7f7e04cd9dff6b6ac0adf23922796fbc76accd4cf4bcda50542748d485679

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ff2e0750b7daa722302838356d7b65e303829b7eb73c915df127ddba115e1d1
MD5 0795c516303ec5942ef72901d4271af7
BLAKE2b-256 9bee87e74671ed63a837e7a1f17ab94aa3913871e033b27523d8e7b83d6f7ad0

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6189c6c340c7384357711e3d92645e96bfb79f7a502f86de1ebdb23eb43f7dab
MD5 007eb5a61a49bd400d6e529270b58c30
BLAKE2b-256 a1ec19d093e854b45e807fecfdd26105c266f43aeecc39c4dc97992a7074ad5a

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ed0889dbed843ce45ede9f5169c0b2dea2222f12685844a03fadb81f12705867
MD5 ffc96c271057b84831459bbb0d5962d3
BLAKE2b-256 cbb0465257cf8f972ad9f9812ec1cbaa8ec210ebebb601ade9a15881aa2436b4

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 bc6cb01d5ee75c85424aa1f1c72a82d8f07fd52539a0f3c4a6ed3e8721079b84
MD5 5ebb2cbb9a42a97c5c6a207c2b720f8e
BLAKE2b-256 ed72cdefad523eb78710679c6da6a79e3d90f5afd32b1c6aa5a17bac7eef99f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ca89e361a276dbc934b28a43dd881199e25d34ff5493ee0ce45f3c52a6124a37
MD5 d7ea6e71d0fc87cba3deab1a6c3b1d42
BLAKE2b-256 d1364d67927fd47b89af4a00f65f55a7370e28778cd50e972c2430487e3ecc27

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 94550e13b6ae576969da40246f4c4abb206380b5375ad43f26dd9151d55438e3
MD5 e297f87b42a80eaf906970d03ee88b63
BLAKE2b-256 2768da83ca72c984e96ab4eb3bee0db1a6ffb5de1c8c455f92bd9f420cde7f0e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 3f3c44339dd34fe8eb2b8d5aa7610660499a795f70376b130bbee7a437337280
MD5 4947d097a6d5aa3b15e9a78191b1aef3
BLAKE2b-256 020b0483078c8567445557a7015b0e5b187f6d7d4fda73464df9c4bdea7f7f3c

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a6b333b0282d8bb0af741f9b018bd2523d4eecb2686bf6717066a625fecfaa4
MD5 7b103bef65e620a773f7abe11cf161c3
BLAKE2b-256 8a2f6e6781b31677231366cb3cf27bc8269157f6d4b03c9032865a4f5f2bbe7e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30a88be89ff1f2755297f81e8080d88b795dd98720c3f9fa2acf93873182cc95
MD5 64bb1a5748bd0623db04ac42fff93465
BLAKE2b-256 780a8a6f08559182643a814a4ab559948ae817b2851890fd9b995a4fff6541ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 918d89529786873f0982a0f59c2a303cd065fbfd1b903d71a8e4e1584f67b42e
MD5 6aae5d832cfcb379b12108aa03dc5714
BLAKE2b-256 546f8bb61957f16ec1b1d92410a006cdc84a952b6352a7313b2ad299f2d21484

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6cb2bd20efb2544c19ac54486ab7cb8ec7b36f913bbe1ce95df84acb96743d9c
MD5 439b16c7dada870fdb29373d3f86f051
BLAKE2b-256 87ca565702c44815393e3a973552ad546db4e5ca081ca8698640b4e93d809f51

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 dea4b4e27d49e9ec5b785d4f994da000e6726882fcc6ad05ec98478500c71aef
MD5 5c5be817b8ea8bd16322e1b130d375d0
BLAKE2b-256 f18dbe68e6c04563eb54145424cc83fe0aa8b0ba6c90d8989cf8a032671b5f16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0f8793fd18ad7eec276ed4b51c097b4bf2002b357259b66b0d75db1f3f41c754
MD5 0b4c118e2500baeb6ac6f2c9cc94e19a
BLAKE2b-256 108345f5bd43db1b8248d2fd08ef6cbe43e2725c539e09a2cfb8bc2818646788

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c56581ad256c4195a21bfe449fed5d44a02fe83a4a7d6e70e6ec302c881191c7
MD5 7f4a762b374589c42beaae5da113f4a7
BLAKE2b-256 4deded1d6e78520c4fb64ed52fec3f2947bf8c1fbad7bc24e282c56193c9ba42

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 f9997ba61368c48ed54e715676afadf703947a1542464e39d047764fb3624b01
MD5 14a0dccbb488c199fdc6f0db454eb5b4
BLAKE2b-256 4c4d8d144ca3beb46a62a5102b6deac76bb0da55235c2c7840faf3b12f2e9d97

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 335294ce0504fcefde5245dff596778ffaf820205b98ae0b549c72e48855f1d8
MD5 560da753b447bde08d92e6546cce5706
BLAKE2b-256 409f47cf22febb47132d5b3a507a27bb99ef89fe5c8ec420a13c6daa9b64f782

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 10f0d4eb94aa7242dcb7f554bcd24dd7ba1c114f00d58759ba08c7a46c8ec51a
MD5 589f518f19b2d3cfd8350bac83ebf1d5
BLAKE2b-256 227d266fb0f2c41e6fb00b0f40e7a3338cdf99651e6a6511ca72bc78fc697636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 514a9bf8993e5210e7970736aaf6020d1759b670e195ef17b1c48f586aa30736
MD5 302750da36f41f3094c46a6fed599dee
BLAKE2b-256 24e4b371b9553b0e47d130fc2073e56cab94fecc868be04666bf5bbd1fcd1cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1d6fe0e8fb4df77b5ee816228e2c4475a63d8cc1d4d3a7ffd7097b2b87fc3e95
MD5 5fcf8af65973635087d829fe667977dd
BLAKE2b-256 411878aae7e4b5a36daaebb0276e4b07d084d45298758000787838e89329e11f

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 526a165a2cb1d1f79e247d400f0e0acd8d49a817d6f312d543513af200b1f886
MD5 b253fc086482017c00e5902658a85943
BLAKE2b-256 f6200df8dd708638cba7ef875fff4ce80122af7f604f1f0b566de2164108bc01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f289be0225ba2ace8e87d6c9639b2bc9ff2b5271afb7c5d39282a4a00e248682
MD5 3b02ecb25e2be74d7762cac23f37b075
BLAKE2b-256 a56bf7475c8f8d699671c2a80c3ed16f5cddd161280c6ed5b845117179c66075

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 17a1c5cfd3a05d5c7c86bf4282b6ef8092c91dc0a98390499669c3fedb7d1814
MD5 38a21cee8307625e7850275c88246b64
BLAKE2b-256 b5b76b3f0192d5b9b49a199cb0dcd5e45dd1327a82c52c80a49edd790e3a2d9b

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 763627db05db34f12333081bd7422cc1c675893d373cc870b3e9249e200700e4
MD5 a247109a1962743503e059923bbaeb1b
BLAKE2b-256 df56c4b22ccbc4f89ae507c0b76e29f363ad4f16eb38c43f7392b3eb9afec64e

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9e46b664887d8c1014f1fb33e09454bbdd9ec1fe29b7fd02dde7b46bc1bb81a
MD5 590b5d675dca01b678e71c3601a04996
BLAKE2b-256 b0b706353044a80ee58a71e884b4a9b2913705849d81025d87308abdfef8f883

See more details on using hashes here.

File details

Details for the file tree_sitter-0.26.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2f941cea06128c1f74f8937a8e2a90c7db49cf4be6647cd9e07d92a306d91517
MD5 ee6f0b7168b00cba889d14e4b541387f
BLAKE2b-256 b9081e1da65c1585b8d70130b26d65b41a71737ab623c1fab1008479c2b95b50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bcbadfa614326debef581957d5c780a9d7f66065c13deea61aa21d1dd36263f
MD5 aa321eeae37bdfa0eca3ea8a07d43802
BLAKE2b-256 9edb05b9d45dd2b9827bf91b6819e749227ca6d686d58658292c0f149294b18e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.26.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff527388df14cb5009f9274faf78cc69a7393ae6acf3b04784b8acca249519c5
MD5 9886d9e7713553c873875986b02224b2
BLAKE2b-256 a42f201c33ea65875d8e4ec73e4d1949718ec49780d84c0adf19793ef75d99a2

See more details on using hashes here.

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