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) == 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.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 Query.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.25.0.tar.gz (177.7 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.25.0-cp313-cp313-win_arm64.whl (113.6 kB view details)

Uploaded CPython 3.13Windows ARM64

tree_sitter-0.25.0-cp313-cp313-win_amd64.whl (126.8 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_sitter-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tree_sitter-0.25.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (636.7 kB view details)

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

tree_sitter-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (618.6 kB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_sitter-0.25.0-cp313-cp313-macosx_10_13_x86_64.whl (147.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_sitter-0.25.0-cp312-cp312-win_arm64.whl (113.6 kB view details)

Uploaded CPython 3.12Windows ARM64

tree_sitter-0.25.0-cp312-cp312-win_amd64.whl (126.8 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_sitter-0.25.0-cp312-cp312-musllinux_1_2_x86_64.whl (632.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tree_sitter-0.25.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (635.9 kB view details)

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

tree_sitter-0.25.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (617.9 kB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_sitter-0.25.0-cp312-cp312-macosx_10_13_x86_64.whl (147.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_sitter-0.25.0-cp311-cp311-win_arm64.whl (113.5 kB view details)

Uploaded CPython 3.11Windows ARM64

tree_sitter-0.25.0-cp311-cp311-win_amd64.whl (126.9 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_sitter-0.25.0-cp311-cp311-musllinux_1_2_x86_64.whl (629.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tree_sitter-0.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (632.4 kB view details)

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

tree_sitter-0.25.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (615.5 kB view details)

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

tree_sitter-0.25.0-cp311-cp311-macosx_11_0_arm64.whl (140.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_sitter-0.25.0-cp311-cp311-macosx_10_9_x86_64.whl (146.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_sitter-0.25.0-cp310-cp310-win_arm64.whl (113.5 kB view details)

Uploaded CPython 3.10Windows ARM64

tree_sitter-0.25.0-cp310-cp310-win_amd64.whl (126.9 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_sitter-0.25.0-cp310-cp310-musllinux_1_2_x86_64.whl (623.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tree_sitter-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.9 kB view details)

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

tree_sitter-0.25.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (610.9 kB view details)

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

tree_sitter-0.25.0-cp310-cp310-macosx_11_0_arm64.whl (140.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_sitter-0.25.0-cp310-cp310-macosx_10_9_x86_64.whl (146.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree-sitter-0.25.0.tar.gz
  • Upload date:
  • Size: 177.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tree-sitter-0.25.0.tar.gz
Algorithm Hash digest
SHA256 15c88775cf24db06677bafe62df058a6457d8a6dde67baa48dd3723b905e79a6
MD5 41737a98d2c43f30e2fcef4eb4f086d2
BLAKE2b-256 9821e952c3180f0fd83d09cee9e0bc29f67827c659cee45077ae06eb7d813cfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 a1b8302161fa8da52cfafcd7575fa7d5806a9608a0b51c7a1fe45bfe70b62d46
MD5 1b4c598d017100e6dadac0bfae8d04cb
BLAKE2b-256 6f2e6af369e9d6deab9baaa60e2fa91acf82a68c63d835a2fe4f4265674ecc53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d58e912869514ebb441b15c22a13a9c78f1b69be15f6a42b1d18e3f790e5d6ba
MD5 3856a2ab2ceeee0bbcc3d93867f99d50
BLAKE2b-256 8d4224a80dafdb32f1f7d16e3236f2ba8a2bc7b0e5c2a19c7b45f874f0980e90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ccac581551407a73a519b872553973598b69d3d237ffaf32408fb38ecb775484
MD5 6e7d733020a0d86e21792246c1af8a6a
BLAKE2b-256 8767759afe10e0018aa3ca3269df0257228b2df120e3956171a3667b133f3100

See more details on using hashes here.

File details

Details for the file tree_sitter-0.25.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.25.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae1553d652a54926f80dc0a42fba07db110bb1a3ebaf47d1c4c64f8d44dd8207
MD5 8df1aad078b9f51f1e5b46809d06afa9
BLAKE2b-256 6774e852445871c0a82bfa5e3d16541e0ce6775ef458d3a8f03ab3737c661832

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5241610319177ee2f68b8e719bf1e1b309155e126d9cd567ff84f20878d7e5d0
MD5 2c65e8aab230eb8aae1a83345b9174fe
BLAKE2b-256 fa2194d26f5d488d85bf5201280f82ce7de374ce30ed5d5469e57623d64ead9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86288b218ef958dcafe40030d6d70c99baffaf808bd81b49de160f9724fc0ba4
MD5 c44959202482bfca7d6d0410cc338a49
BLAKE2b-256 7a3e6e3dac18c119acf738174a19ce91d89b34f6ad1ca1c5dd57b245ae15c935

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 689a19d51103f727a545ec9ba9cd377267445859838c38ec55d159dc57e82e8a
MD5 c2fd6f090fd008b675ec51acaa61f9fb
BLAKE2b-256 7afd7578088dddec9b89b60d8dfea1901f3a5dff61b66d3c637c309b6209c8db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 7848be6aeab5c1d62d649506d80d0e463727cb1bb55f423e88bf317db0be8d67
MD5 d834c69aa3c377779fc781a183619842
BLAKE2b-256 71614fffd405569d9c1551906766825da75a2d8f1c075be8994542d5d7ba7768

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1807bd1dae1f50721d65b270e6ffa85de84234ae39f98f4da702db56c2627e23
MD5 ba5d563729c9374be702492bc1074c5a
BLAKE2b-256 13d35dff82a02646619545c4e7c9b9ec87bc126f1937760228fcf2e91f5079c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f0b01b5068f1888af223021ba461480df28c76f39893c8113aae2154a2b81fd
MD5 338cb8fd3af3fb257fd4fa4611cd8b5d
BLAKE2b-256 9b28c9236c505e35b3aedb3c941a359a708c173cbedab8d843fec729bab81ed9

See more details on using hashes here.

File details

Details for the file tree_sitter-0.25.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.25.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 241a90c815a354594d3147012ce470cfc797695ab768e29198815e147ef3c165
MD5 54f5b2c4630decc60550a92673311197
BLAKE2b-256 76fc43a61a35f021429d905ce272be9a9ea6dad6fe2c849782c53bd083a935cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c613372545490dfba3b3e7d934fda1156e3d16b27c0335c65a92f2b4fa6af5da
MD5 84bf5211c5a61fd2473db0d281adae77
BLAKE2b-256 d7ed7cc29a309e5f5cc209902c93589d29a4faeb656c7eecc1abd86842633b8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82b4a5535107d2b8feee085edcafa89858faa4e1a98e94cfe1740c0ca8c28d84
MD5 b87343f2ce5f90e7a59cb732e9d0b264
BLAKE2b-256 ff5ea549a21e459de94056cf48ca5e10e3774bc9b0460ffb3aec469a5f6001c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d9efacce0140ad74f97e027fb4ae693debff05f6246f3e024937f9500a0e874a
MD5 dd36f2633294aee967d9fb9effb9864d
BLAKE2b-256 c57536a4726a09aeb0477ca4a45aba4abf9705642b871539005ca91ddd68faa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 332e235eba90423edc6e83cc4a5dc60e91c03ace6c1d8729d0f2e0ca09210845
MD5 93d03b4fe43013be111c45f59055070f
BLAKE2b-256 ff86e3167c360664753b987f46b9bb97f952cb8c282199fc1429369cc99b646b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 14a138fe341348e7801c0afb580970597477fc68a0d0f6c780fc0a07eae2770e
MD5 5a88fc3f4b9b479be6ef7d25408d290c
BLAKE2b-256 7eff121893bca3dd4bc4bcb7ba186fcb2a10570dc78feaf68d7e849c3f0af078

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 992cd17f97eae3245786160db4902f7b8106186aa18b9fcb873a86688e4d4dc8
MD5 6dcb903a52658b061ea3efc5f901b6c3
BLAKE2b-256 9632468815a1fe60bca40cec0163bfeedd5aa86fe88a9c2c8cf29cdf3a1c3d33

See more details on using hashes here.

File details

Details for the file tree_sitter-0.25.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.25.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b39e177822dda5b42f2b6235af0a66c92ab6f1674f07d0e7b51be73957193370
MD5 1e29336c50aef2bbb57a8fdca2efe8b4
BLAKE2b-256 d200343e3f95ccdad05cb34c9fa7f52eb6164870059821f88fe5a266c175553b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ddf745c668df39e4ef9a28fba4be4ecea990522e940b8e5bc656704c689b38ac
MD5 2059bbd6a9e23601b4b1588e90c6e68e
BLAKE2b-256 c59770540a0c608015d472b6208e968e670a6e09affaf3859edaab66f5b1b96c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa1cd26faff9b3514e456cc0f4f0eb6b11bfdeec9a40ba8d55ee5a75d57566cb
MD5 8a3a863ce341b75bbc0d80784aafe81c
BLAKE2b-256 ae377389b571dfea093c65b975893032b9f01917d9187d0d2e93723ec5b5717b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5409a3be1010a483a9a8d5c64fdd20de7ea3e9c0c080e91e492a10a659bcac40
MD5 9606def661e76762c91808f0e366ce6e
BLAKE2b-256 c7bb072c607766862da41f8b29ab5ed16fbdb7d57e2864a87aa2ea030c5fff19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 6ea484eec5e6538fdbabdd3c737d5f5250602e12dc9a33ed3b8e6a400ca115be
MD5 1078c3d751939a6def0ae0123d4b5a73
BLAKE2b-256 76c5925984b3eb83942ed630bc27dddea31a2b26808fc7a7c8f931d07582a206

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5aad12ceb86745946a74e63a3cf5e111684589acb3d647e5ce40637e89714c48
MD5 3f88277f3246a04cccff8ca1f0ad284f
BLAKE2b-256 df54c69a6ba42f3af92a3bd07ab7954f0f269ed9f59de88121a8d33a30be5bbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d34bb4dda0518c07f6ea7880a463da338b2b72ce7c66bf32dc54f2ddcaf8463d
MD5 b3488da3e3b1734a41c655b55c730335
BLAKE2b-256 0cb110be3b91f38d08c1caa85df3bc39815aa3337feb24b5d7b1a3de5e46301f

See more details on using hashes here.

File details

Details for the file tree_sitter-0.25.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.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3ec6a4ac2170af965e5b41bb603a5b0406ca8d93dac83d388c2246f0eef606a
MD5 0dbd0d9608120d5b83ed0c96105947c6
BLAKE2b-256 095280f2faebe7901df9a8aa98b2fe719a63d2ae8ad20e67c64f0cc775c78d51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5892ecb52b14b00605c6960af42d212c65610a0de3ae986208619fa42b676bad
MD5 273a12f289608c210c8718df56540f71
BLAKE2b-256 336320ef6709ef6072e46bdc0655cd515e53a110d042c7b4c94fd5e8abd9e20a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd55cb2c2f311693694c6eee409b163246e9a809ede49371963ace8c93d77ad1
MD5 4cd213975bbe3701604760698b14f38d
BLAKE2b-256 5fc8de1051e16fd1e06056155a18587a28e82312a8e44a9deb9a95da2600c045

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.25.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05fa57c9d9f951e9e806689caff9a809e2a8c4477ee23ff41a5e65122bbeb4c3
MD5 25204b2e5c6075e6722922fc5981e15b
BLAKE2b-256 fd91b89731ee36f4bd735be67a0170f3ee77c527d0e4e28ec330e73bb5924310

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