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.1.tar.gz (160.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.1-cp312-cp312-win_amd64.whl (112.7 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

tree_sitter-0.22.1-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.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_sitter-0.22.1-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.1-cp311-cp311-win_amd64.whl (112.7 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

tree_sitter-0.22.1-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.1-cp310-cp310-musllinux_1_1_aarch64.whl (539.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_sitter-0.22.1-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.1-cp39-cp39-win_amd64.whl (113.2 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_sitter-0.22.1-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.1-cp39-cp39-musllinux_1_1_aarch64.whl (540.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

tree_sitter-0.22.1-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.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (532.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree-sitter-0.22.1.tar.gz
  • Upload date:
  • Size: 160.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.1.tar.gz
Algorithm Hash digest
SHA256 b6479e76fcf6759881bb7ebc42479daf0ab39c16b633c5f7868c0480e12c95b0
MD5 1b7edfdb78021f0aec098f7d1726cbdf
BLAKE2b-256 90444416fc2491b8467b1d72ee49bca556a12702ac4c63295b208cf1d0bbfe56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ec3fe0de5547973af1d4bccacc4889016c65763af39f59bec49090523eb8119
MD5 1789b0d58f4c27379b0723ea010150ec
BLAKE2b-256 7a43880190085d64ba38b1d8e046541cc5d57cb12f328597089fcc3d41ad6da3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fd338f728214505716be34d98ede5e1422e36d6004d6b1e4b3eae00adce0cc06
MD5 a16d743b49e11ee2ae154f7f61245bea
BLAKE2b-256 dba91f60170c248e3b0343a7d03d49c828e8a1e32286ccf6735058e532a6c92e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 bbf06e5b6ff09e19cb705796e0da18b3e50515e93f4f511176bb274eeb67b12b
MD5 843999c91cb64d8d26e2ae87ef19fcbb
BLAKE2b-256 a43aee4a5a4606388e8ddb0ea10cfbf7d00d3d81cebfb79420e578f6f2fc157f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5efdf7eb822bb53ead601e169ef09838c61cf8f1daf5506d535bda23f5f7293
MD5 dbd67573bd3ed61f7133992fc989af61
BLAKE2b-256 bb37430d50a14653b2c9a47c5cbabca9355820c003d75c255271c282923b5dbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7540bb0964767293180b4e91778ac67917bd3a316d522474ea9828af412dac26
MD5 57f2eadc420a549b53a2568ba308b418
BLAKE2b-256 ab8a46da21f6640a3ceb132549ca260822ce4a50107dd69cf182eac70027e0d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67ba8e817b98005aab5c8af8363575984d9cedf7e80f16913287c2584642a61a
MD5 d4d826ba821f77bf862bc169731f03b7
BLAKE2b-256 f5f16edf3e9b4c16a8ff4895a1392e8bdeddffad2ec956eb25be6423b4f9bb78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c4708c51b48caefcc7107b92aabd6d77586d59c6bdaa4b2edee0d0b9cd67b529
MD5 8a13feeeeaf8689d5d81190b827280c0
BLAKE2b-256 5882f20e001be3c18b98dad616b78bc77142b1f81c516d339c269a0216e55415

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fac98e109cd8bcd7ddc9443fc0fe3ebedb79ff82713ed2d951d4bd288a3f6324
MD5 68e2cd00eec59bcedf97056ce829684f
BLAKE2b-256 1bb6d64d4ad62ef4197dc44eaeb0a24d167f1d2b98d211c3dffb4809bf757190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0008f97ac5ea74fd83a17757e0d0274ccc86f18c47d9794170ba9e9bdd49adfb
MD5 0c3973229ac51a7063395d3296302732
BLAKE2b-256 a5d4806fbc02f8d81a04a6e943e49e267d098891ca691201d126838febb66388

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 086f06178e1f2b2bc7a7e66b26c4c8237e0c6fe0f74530118041c110bc2f9543
MD5 50cd719a51589508d7b52a6d8870ab5f
BLAKE2b-256 5933d4132270c4a0e6ddaeda65702f14c3d8c8411280865f511fbaf67878361b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be833de4f582be9bef8a0bd76ab28a3972446af41c8acf4f134de696837d23f8
MD5 b83a6919bf5134aefe537a9bb271e139
BLAKE2b-256 e6c917a46c384bbd488b9755677985f8fbc68bbf9664e0a4a122690a12e4b5cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2a2121876a1460053d8db6348fb5990d888f18ac059410ec3919915307b93211
MD5 88ba554d5a82eea130f8ee4cf4611c2e
BLAKE2b-256 bf166662de8e2a06c1db34c6a1b2953365f2ec261af1de8277a5740662dc9296

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39b174711700a6a766242844d147cae9628135c55f957f71cda930c117665905
MD5 69c594d9bdbcbaf47b5502639ddfb261
BLAKE2b-256 15cd0ce0607bb515511709d6269d56347074b95109f3cfcf3679a36c52af76ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a90dd22a081920f9e9a934c44857cb2a24f8284ac212ae99d1ca00ad861dcc36
MD5 20571d3d8ee9283833ddccdfb424a291
BLAKE2b-256 17d7865be6a8ed955a5868712ff85434b73fcc82cd70505c2f448ab4fe7bfbba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d496b1a2dc1cf13207ac98e27734a7818d72b7b512212ac32be37fd0d962985c
MD5 4e5a429cd00d9121e92395a3b10632a4
BLAKE2b-256 91b8689d3ecab3be9b4100141f65e9ce9ada053de4651f6719daee2120c57268

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2828aa47f4d47e5b235cb29872caae92561941ed8ceef4012a377a78eb7e58db
MD5 94a9a113e0b30a7f1de6da46e8d6243f
BLAKE2b-256 5c0ea7342ce499075a5d235831fa5d8146b850ae1f39711516ad22f65ea2d9b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e2dbcae0ece0e1366e27f3a4b355609e768ad9afd6389fcd3d3325a79d30653c
MD5 1dcf9c0d6ddb042921ddf575d9da14c3
BLAKE2b-256 2ef97702215cc362f6fe91bbd7d19f7084991c4c2e63856f4833dd191f7814a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2e20ab49f0338d661ef50d9797940e21469d815720d00c139d01713f556f670
MD5 69c88968e8a777872326a5d4365348c8
BLAKE2b-256 75a12a6d901f24b528619cd2bfec564ece0c79d7c15d62e3c1e7ff6be9cef759

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 783dd1e1de338eb7cf71c1005ad1f8ce155d64c5bf1d853bc386397bd3ea1bbb
MD5 a82f4af93b95458a55171d05508f7817
BLAKE2b-256 0021ecadb4da669e87a546fbf577c8d5c462ff8cf21e5e61260f59c0e83694ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26e24b6b66f71a3d8ef32979c9f7b606253f491d7dd3c5200a39bf885a94f9ce
MD5 c6c7c0339567cb5ed6ceb62318ccf611
BLAKE2b-256 42f04e57d07dabdc08183781ce3da0de1b1d4b80f441efe0df46953ef0116681

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e8d53aa904cde7f176c8ed63b088171c41359d82e2a840370f9268e9497d6831
MD5 672dcb2d204092ab00c9399463455472
BLAKE2b-256 4ab4304984c11cc544b8afe6e44174575431bdf181c136c27a26921ccc12749c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tree_sitter-0.22.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 113.2 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 19c728b056d237d95dd8052fe06698f8ed2a53f238ea82b936a4395671c6163c
MD5 787b98bc9be5e591454c6b1f48c0f237
BLAKE2b-256 787dc63a0f417efc222edcc7fb9ceb5b4bfa1dcb4d30262f4f534a36a00643d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dcec1fa88547018ed10548fb58b07389b3c413293bad50e6b83e3d70bd540827
MD5 d00d0b74a24c869c8a373da9997464a8
BLAKE2b-256 d67090d72c4c1cd0e1784ce274225b6e14e6e3f2cf2fa1ceda4868a9f2e5eb44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 fbf792991ea591db117999ddc1a72d16cedfb173ae6c5322d294de48a915667a
MD5 672c32a68c2ae44e6ec8a57f4eac118a
BLAKE2b-256 4564af6e87834b2eb1e712c4c6694c87f74d428e051a8a11d897ee23e13588f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e48b24def75041f0914bd30817529a4bbdb5f908af961f2ea467ea1bf43dce85
MD5 f57c206c00fca46ca677800ca684ff99
BLAKE2b-256 edd2e55be9bf1313b880fac88308f684bce7e17c85c3700388e96b27007136c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8145a65812c85edb7500bc7ae21725c32d9306b9ff121c1498b0684e0674d51
MD5 7a536e7b9c0076e7cb8a804a36cb7b0b
BLAKE2b-256 d49b98be6e1af908434eb42661024d755eaa8bf7a0df277a841b2a12acb77e61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5346e786974ad7bcd82f128c03afcb65665cd25df70b763487e663cd135f66aa
MD5 72fa4027d6715c5cb172076287a78304
BLAKE2b-256 b89a17340b614b051062a7f0793380ccd596c17e1d5cf406eb0f5f2aea64dd31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ce1cb36fb715391e507f2c927e7eb09873cc849b5416b3fac68fb902ce1b4e1
MD5 7ffc9b3acf680aa059d785eb246b4e06
BLAKE2b-256 c6d79a7e1ffb3ba1b32449fe442fb658a6545fd3ae375cab50f6b546ca5752fe

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