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 = 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.22.2.tar.gz (163.2 kB view details)

Uploaded Source

Built Distributions

tree_sitter-0.22.2-cp312-cp312-win_amd64.whl (112.7 kB view details)

Uploaded CPython 3.12 Windows x86-64

tree_sitter-0.22.2-cp312-cp312-musllinux_1_1_x86_64.whl (552.3 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.2-cp312-cp312-musllinux_1_1_aarch64.whl (542.6 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (546.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

tree_sitter-0.22.2-cp312-cp312-macosx_10_9_x86_64.whl (133.0 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

tree_sitter-0.22.2-cp311-cp311-win_amd64.whl (112.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

tree_sitter-0.22.2-cp311-cp311-musllinux_1_1_x86_64.whl (551.1 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.2-cp311-cp311-musllinux_1_1_aarch64.whl (542.6 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (532.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.2-cp311-cp311-macosx_11_0_arm64.whl (126.2 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tree_sitter-0.22.2-cp311-cp311-macosx_10_9_x86_64.whl (132.9 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

tree_sitter-0.22.2-cp310-cp310-win_amd64.whl (112.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

tree_sitter-0.22.2-cp310-cp310-musllinux_1_1_x86_64.whl (546.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.2-cp310-cp310-musllinux_1_1_aarch64.whl (539.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (530.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.2-cp310-cp310-macosx_11_0_arm64.whl (126.4 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tree_sitter-0.22.2-cp310-cp310-macosx_10_9_x86_64.whl (133.0 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tree_sitter-0.22.2-cp39-cp39-win_amd64.whl (113.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

tree_sitter-0.22.2-cp39-cp39-musllinux_1_1_x86_64.whl (548.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.2-cp39-cp39-musllinux_1_1_aarch64.whl (540.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (532.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.2-cp39-cp39-macosx_11_0_arm64.whl (126.6 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tree_sitter-0.22.2-cp39-cp39-macosx_10_9_x86_64.whl (133.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for tree-sitter-0.22.2.tar.gz
Algorithm Hash digest
SHA256 83b1e625c1e4e485af4cda226605d682ecaf3445bcf36cd471bad103f7b0df8b
MD5 0c66a1d336b2ce55fe92ae199c8c14e8
BLAKE2b-256 ecc1adc145ae0a1396c572aee65e6e53352efe299e4a323ecf684bcaab99312f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 864065ede4e4452425167003236dc221650de10d6a807cace54564017a968a43
MD5 9238f2642d0155463b6f573ec6fc81f1
BLAKE2b-256 46654ade2acd898cada02ac4f07e6a074cd715cb95bceb0867ffc0f5fa682139

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7fc159633d7f03a25529b993a4be646b35853663bfdd12f12ff304a622b01fef
MD5 c609968f720028dc1eee8f76b98e8fc1
BLAKE2b-256 1ab03c654f8b83040482166f3abef8e6568ecd113e64de8401e8d31bd74194bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 39c391ef7debfcbc41512992f7522a65eed9a0535700f77f329aaf9cde7debc7
MD5 08e3c4a6639aaf52baec41422396f887
BLAKE2b-256 a72c0146811b8edbc7c02d1d3ce8f7c12376e68541799effc8b9386eeae4c155

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 136dcc7ac17e1366469772826c50d3eaa6bfb039a03ecab9d6a531d8a95b5f17
MD5 16044e8c74bfdd91584dbeaf9a6ec657
BLAKE2b-256 b571a77b1dae2e14bbe587d8156b52c4ecb3d1cf37d4a0a886f955478f9fdeb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1aa1863c0d5962f3a5d2326a67457060f985059d2bfbac5f5afd178038516cd9
MD5 3e4e140020e3174dde8e674ed85868f4
BLAKE2b-256 91f51f4afb4aee8ab99faf78b48fd1ea154b5731c4c3eb51aa3c329d3d46a36f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27a28a638163d9e4c5c0d61f69a0c6cbe32834152f306a1da00a75cb9646f11d
MD5 2f78a690f3c7582a0aa91569d745953c
BLAKE2b-256 0cf32476268eb0c9a51030f8d3ed300af295d9f83848182befbb2d5eb3fb3646

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 785eb9bdf482f87a6f9ae2571d9b4e329a969181001c2ef0ab72e3ef3c1409ef
MD5 184d75c201820118abe84926e8235e0b
BLAKE2b-256 3c6979469c8282b56cbc2e9745c9f62c38a936255442fc5fcb6b56735ea9b709

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0099963f9c98c850f7cf041c5878bf65a9493929b6ba1619c096fffaefe2af33
MD5 90a9dbe886b774d7104affbda36dd742
BLAKE2b-256 1f97bb7375dbc3437e1b2c20682b59e2e444c9f678ab5f764c5f4ecd9e1b99da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cb752b36175fcc098410d8df33316a47f24c2abf7525f9cb1f5acbf32fe01cab
MD5 c6f339d7846284877e0fa928c32bfe21
BLAKE2b-256 ad058b772caf737baea6e2a215b729b5aa1be08500fcfa9bbf406006949110c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8130dff7cabb8bf013792cc46886b1b32f4ac7533c90e5394d5dc6c17a325dad
MD5 1d45ab99567c7e25aa845d35062c64ee
BLAKE2b-256 7950761a3ebf0a20b8d0518d65ceeda6dfd036da285ea5c64f4f360577e35e8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71354c20aa6d255e04e7bac70f43b3333c51ea372e111b27593225f3900305f9
MD5 20f0079641dfc981e25f098aa9ad5ec3
BLAKE2b-256 a751ca35361c9d2bd4996901b36533c59a19e80229e5a979165a0582e5b48bbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b62882c179cbad94d04e0d32532fb5b6494fedc62e334a7a193ff562940bd03e
MD5 1f32425b2d3e8f692ba7c28b5b3a8900
BLAKE2b-256 ea5669c9da3cdc14f879d2bf82122317020f892c62b20a91448a0f2d230f0041

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f182fdfb1f653ede7529b554ddbf529789ac2a8034d862a4b099048313edf1c
MD5 74025b612c16a324c36f353bef9b7fff
BLAKE2b-256 18e2cb94c5ab80f2439bf508c57c56042d569ccc7d4fc67367fd316766ac9b8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d5d75ad200de4383dfa9ae4f75f8b2e68729212e414fbcb08720353c3c12f75c
MD5 2229525910a190c571266b7ee11aabf3
BLAKE2b-256 283a859cbead5649af60cb47ecf36a81cac67ce4c94b97ee2cddb455a1c2057b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4a376690de5fe30123c461604c5ea203523de0d86371d1396e2bef90bbdec2d6
MD5 c561a52e1f706b9001c35455944255ed
BLAKE2b-256 473523f61d609fea35e8e585b4039a72265f0d8c85601e9834ec145f1f7e4255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d5fdf030bf02395a327b8747d57916c7bbf992c13991e10a2b4e6843cc2f4cf1
MD5 defee33ac8c8b0224704ea13e06166a9
BLAKE2b-256 a1c1d69e5b76fe5519d8ae86cda848590fe60ec2eec434b0c8b704d6b3cff3ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 94dfe621fee2eeb1cf9ab1dede807f70fc80ba9788e2bd0f2ddfbae2aa24b1ce
MD5 a20ff4d0155536ae1e027c91e392d566
BLAKE2b-256 f1004e5c832c99283001b739e4922bf391ef05d7c8d68f48f4752fc0f3fad493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f977271ea7897372797d5fc726a4ca8c025ce082ff9af27276af945dc4212f4
MD5 767c5e427165aed210cf057b0ac6952e
BLAKE2b-256 feed13a483afb203da3fc8e6d9a15f42f9048bf9ac60b322ec688eb2ef304363

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1da8565793d306ac50bfb5aea1b3756a7f27af9b0dd3fe2b2fd9969bd75f44ee
MD5 8472fb50724173ec8ea74c3dae21c5f4
BLAKE2b-256 0252f2099cb7c50702e6191df3222f77b279d84f39de7d6f63880127a787c562

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 472ddf4e330a8b2f3ba2e964d37092917a8ba57aa9630576fea46eb83530045e
MD5 1b729f955737af76e8b2b4746b974db0
BLAKE2b-256 63e1eaab51f60defb6bba6e04e5119d9bc24551eac2200764e9786468bde98c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1dc931441e54fcf3396d7cead23cbe0eaade8660cef575319950c54a3e650174
MD5 2c368f64afdb172890298f03ed93d7ba
BLAKE2b-256 d6fd9775d8c4e92a459a7fbed865bc0ef69ad05e91aa927660f35dffe29092c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6ac3c38d5e15837720dbfabd39c952818de44740c6790c3c32f5104787c877a6
MD5 fd941d0ccd979bd422d80cd20ce352f7
BLAKE2b-256 88f06a348021f0ad731b97123dc5624fe40ce522146f6655d47e90d13305ac67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3143f5202adb8cd98675f77b58a4ce416c68c23906eca3c2d31af8082251c8d4
MD5 cf25c77cb00409e0df7977a5b8a43bdd
BLAKE2b-256 40ee887eaa2d7602e8036576303981e81e382fe61e549539b80e405680269aec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 5ba5d40cac2a9c2ed40e91b226a559145bc213d70817b2101431ff41a0baea4d
MD5 535a2a03c7034dc6efb9ad362cd2e5c9
BLAKE2b-256 985966cd541d4234a54ceddb5fd721ecde6f9c7152d918f24c0ac3fedc4fb52f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 612659572ec253e8b07a7dc3970c99cc4608e41e3423cd03672521a530a9b00d
MD5 c1e0a930c88f25a57483b3ef930b4466
BLAKE2b-256 1d790416e9cefd6db454e85e2cba3a41ff52f39c59f545d7cd646e7a4185a3f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3117037936cef99c8fff25c1372f43cfc563d3b667e65130e38e1bcb962e8ea3
MD5 a921bf281de0a16913d8a5bfca1ac9a7
BLAKE2b-256 7f9aaf7f3d1d1ff1a7a6f090a76adde0eca381f2a2f4d4b62e45d0889722617a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b644263ecdaa9226e8a6cfc19822d4e319cd77d56935b4b245085d4778161341
MD5 91c1017e8eba6eccdc099cb633bdeb10
BLAKE2b-256 11338d49d8e3611d0bc00f05ccf180a844a1c7d4a2fd85b4c4d755e0ebf10798

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a67e96f8367b756318cc78c979065da77d078daf53b450081817d4198f6f0977
MD5 2f8bc182471f60b0dd34829297c0cf14
BLAKE2b-256 483f96e4796f3c2ed3c5eb0c8daf77c8b8cceb2b93f556259342e6c6f75fc212

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