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.3.tar.gz (161.8 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.22.3-cp312-cp312-win_amd64.whl (112.6 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_sitter-0.22.3-cp312-cp312-musllinux_1_1_x86_64.whl (552.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

tree_sitter-0.22.3-cp312-cp312-musllinux_1_1_aarch64.whl (542.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

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

Uploaded CPython 3.11Windows x86-64

tree_sitter-0.22.3-cp311-cp311-musllinux_1_1_x86_64.whl (551.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

tree_sitter-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (532.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_sitter-0.22.3-cp311-cp311-macosx_10_9_x86_64.whl (132.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

tree_sitter-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (529.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.3-cp310-cp310-macosx_11_0_arm64.whl (126.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_sitter-0.22.3-cp39-cp39-win_amd64.whl (113.1 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

tree_sitter-0.22.3-cp39-cp39-musllinux_1_1_aarch64.whl (540.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (532.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.3-cp39-cp39-macosx_11_0_arm64.whl (126.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_sitter-0.22.3-cp39-cp39-macosx_10_9_x86_64.whl (133.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree-sitter-0.22.3.tar.gz
  • Upload date:
  • Size: 161.8 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.3.tar.gz
Algorithm Hash digest
SHA256 6516bcef5d36e0365670b97c91a169c8b1aa82ea4b60946b879020820718ce3d
MD5 6bc84598b4f82575bbe1ad0838d19715
BLAKE2b-256 3cb92caef40823773a8a7deede8b32f22cd2afc13e3e94da045c2f09b2e32ec4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e541a0c08a04f229ba9479a8c441dd267fdaa3e5842ae70a744c178bcaf53fa3
MD5 2324df0da184d500956a4d44772cf26b
BLAKE2b-256 6b8d8d86a0d2966ea492dd785a94c4d77ae22c86e707f8340f3960c1c0692bc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 82e1d467ce23dd2ecc37d4fb83965e891fc37b943639c517cd5acf54a2df0ff7
MD5 165ec3798eb6ceec92beb63a74d3355a
BLAKE2b-256 fa73c3d3e161c807944262e6654e24c6c74e3cf5817a625de5bf190bc3c6d282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 156df7e71a6c6b542ff29526cad6886a41115e42dc768c55101398d68325db54
MD5 cc61226f30ee9f4d6c59a8a5296ce163
BLAKE2b-256 4ad0d76206c203532076c578bf9f004613fcb9ac0c03f3a976a48d5cc791e4ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8e1193f27c25aab299f4fc154664122c7bfe80633b726bb457356d371479a5b
MD5 206bc10dca89165a4ec5a67f4dceb7e6
BLAKE2b-256 aa40c15d51f0bd1b2087962fb26b3789fe0c0304e4f317deeda4b1722cd56e1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f36bf523763f05edf924126583ea997f905162046c0f184d6fd040cc1ccbf2c5
MD5 a0fbcc39e51a5775e9b69c028362ca9f
BLAKE2b-256 7cace6396ebefb2347ab66611a4140c6908c3557930f22129c6e37425f304745

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4a592080db6b9472a886f4593b4705d02630721fdbe4a700085fe775fcab20e
MD5 97a16969d0e690b43733a473ab2aa2d1
BLAKE2b-256 0d4ed5545419688825be2f5d857ec68fedb77487d499ca7003320fe2a8d73e67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7cb5c145fbd4bcc0cd4851dc4d0a6079a8e2f61257f8c0effc92434f6fb19b14
MD5 fdb58af3e6263d31ed4532227a432850
BLAKE2b-256 0ad5e3988ab188e69610e1ee435fe0941b6871341456542d79da2f9716111cf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2fc0e1097fb86623b340141e80a0f2b7668b09d953501d91adc715a577e32c61
MD5 9639d20f26227eb675a725b023a052cb
BLAKE2b-256 3cf106d684d1e3e1b25bf6209929e86c267c6a98613df48a0172e7d9281e74e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 548aa34f15a29aef1fc8e85507f13e0678a54f1de16461f844d86179b19bb5f6
MD5 b72785cb3e01469e600401ee1917fbdf
BLAKE2b-256 37f59f38f9f085b3be1eb466359d3fa3754d3aa6e8689f8306208654916ecb0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 98c697427f82abab6b39cfe2ade6547d844dd419fa8cfc89031bcdf7c10579b6
MD5 944da6fd3a5eb1e266ac11358e373997
BLAKE2b-256 cb022b2fde29f2d2a7d88d4cc6e58d36070d95a758aaaef890b70ea831e521c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de16468ea22c910e67caa91c99be9d6eb73e97e5164480a890f678b22d32faca
MD5 96813653f7192c9c00263af5de82dd3a
BLAKE2b-256 68b0d5e2dec406bd040ded7ade42c9cee112777da4e23faaf8567c3ab51dfb01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d9a66cc5f19635119a9d8325bcb00a58ed48427e3c3d307caf7c00d745ac83a5
MD5 45a9a96e43eb3d84d44fe002bacf13b0
BLAKE2b-256 a84147c76e49bb7435fe63b340b264152216ba7322043bb57e4cd2bd3c621857

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cfa2a9860bfb0404ae28a9cf056dab8f2eb7f1673d8cc9b3f7e21452daad0e0
MD5 c6293506d934b45d23ba23f3fa327541
BLAKE2b-256 67bd22d633b6e1b265fdfbf62c0b5d5ca2afa936d9c302c927d5d3c374e946f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9e627eb129421f63378e936b5d0e13b8befa6e7c5267a8a7621a397a84e8f1f7
MD5 46a91fe28fa4a674ebd79a5db4e2bd29
BLAKE2b-256 2e1714ae4a94908f3325cfd170aa2d15fcca43ca59b9ea8eac2d36d3f43c207e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0f66b88b8e9993630613d594e845f3cf2695fef87d0ca1475437cb17eeb72dc5
MD5 d2e4366cd45c4f699ce02669178ff34c
BLAKE2b-256 2f8b6b327b575ff686fcfd63f09a80d1cb6b578cbb5015c36db6aef95d982d2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0ec593a69f8c4f1c81494147814d11b7fc6c903e5299e084ae7b89caf95cef84
MD5 bb169197b83fb33762386726669f2f2c
BLAKE2b-256 7dcde0af100a7b393fdf38f6418c756258954a02fbcf825bfebf9ab89245c64f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4978d22fe2868ab9a91125f49bd576ce5f954cc887c19471e0c33e104f37ba71
MD5 d48528d7fc173bf3a93ebdd5a43356cd
BLAKE2b-256 8332960a12251757f494b52daf29a949a5fb3206f673e37d2340d8dda3062d97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4545b142da82f9668007180e0081583054682d0154cd6349796ac77dc8520d63
MD5 ef80707ffffb65625d4bdd4ec6c90edd
BLAKE2b-256 d99be936dbf6a67115cd9eaef78333afda72473ac8f08385ac762ddcb330110d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfa45e6bf2542862ce987482fe212ef3153bd331d5bba5873b9f485f8923f65a
MD5 b2c9edaa6eb7d3eb05f07c80e896a425
BLAKE2b-256 76f3cccf27bd62e826f3ae9f42449d67ed4d4fc4f485c4489dcadb391c690cd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bcbe0a7358628629d9ec8e5687477e12f7c6aae6943b0872afb7170db039b86
MD5 3c57d635f9959203c31ac8e92264fa0a
BLAKE2b-256 515703ab5b2fe8e5b686fdce57479758993db4252850436de5274ef46bc84592

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9a26dd80cf10763527483b02ba35a0b8d9168f324dbbce3f07860256c29bf15
MD5 0b295f415843f6701cef225b9b87482f
BLAKE2b-256 08247993b710a365c41eb26d10537e8c5ffdd56e02a599d1a353ff89a54c8d85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tree_sitter-0.22.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 113.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8d54ef562492493bf091cb3fd605cb7e60bf1d56634a94ab48075741d823e3a5
MD5 6c918e60d1b3f81b38a7c707a69a271a
BLAKE2b-256 1c6199c0d70b885eb874e313e75fc7b22f3ffafb66d6c33e45832cb22bcfa575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4a51bfe99dcd8bbfb0fe95113f0197e6e540db3077abce77a058235beec747a3
MD5 153a19ede39dcfd1ab4ab6a66c013d4c
BLAKE2b-256 9dc0a181a0f8a19bc88a8cdc7f7bdd6e5915c6436c6ca0f9c83569a435aa61c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 459a0f3bf8d6dbb9e9f651d67cee3a60f0b799fefd4a33f49a7e9501ada98e35
MD5 fcf0f83f22ac5dd4c4056753ef11e572
BLAKE2b-256 b0945cfa1365829bd6c73c493c1363d7a6e2b9b98f3874671f5f3523879af12d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b2f99535aa4195b20fef18559defaabd9e12fe8ed8806c101d51820f240ca64
MD5 7f7a97e38816d5d5845214d49bc87a99
BLAKE2b-256 f54793c71a0588b9946dbc7292e333be42e9ec16f63d399e1f90baf1bb1b7701

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ed2708aecd3a4c8d20a89350d3c89ac2f964985ee9117c39357cee3098a9498a
MD5 8ba314236d7506c801a57829dd83f9ef
BLAKE2b-256 fc4296c20f156343985d94e2dae48a6eff1f29e217902c61c9c61f0dba17fb64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f96c6acd2799bafa28543a267937eec6a3d9ccbdeb6e1d05858114d4cd882da9
MD5 0917d18adec397cee0e8b7a33842e22b
BLAKE2b-256 fc2277b0d73539221c7212eb55d089f356dc0dfa8210b52e56f1c20a9edba1fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a85a1d0fdff21cc524a959b3277c311941a9b5b91a862e462c1b55470893884a
MD5 544ba4e5181b1d0ceb60e397f2ed1fbe
BLAKE2b-256 8bd440353117d392a3586c0f4053d7986491ef52c502319059dcad985fecbab7

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