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()
parser.set_language(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 root_node.sexp() == (
    "(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.set_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.0.tar.gz (160.7 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

tree_sitter-0.22.0-cp312-cp312-musllinux_1_1_x86_64.whl (551.9 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.0-cp312-cp312-musllinux_1_1_aarch64.whl (542.5 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (545.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (533.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.0-cp312-cp312-macosx_11_0_arm64.whl (125.9 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

tree_sitter-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl (132.9 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

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

Uploaded CPython 3.11 Windows x86-64

tree_sitter-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl (550.5 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl (542.2 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (543.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (531.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.0-cp311-cp311-macosx_11_0_arm64.whl (126.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

tree_sitter-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl (546.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl (538.4 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (529.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tree_sitter-0.22.0-cp310-cp310-macosx_11_0_arm64.whl (126.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tree_sitter-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl (132.9 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

tree_sitter-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl (547.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tree_sitter-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl (540.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

tree_sitter-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (543.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tree_sitter-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (531.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree-sitter-0.22.0.tar.gz
  • Upload date:
  • Size: 160.7 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.0.tar.gz
Algorithm Hash digest
SHA256 b2bb274c110304a303ba6c73bff6a492648ce085790d2e6ea2c94f0719b7945c
MD5 e645d12115807f85431faab730d04163
BLAKE2b-256 455233b95f5664817d59818ce44bfd9ebb7a381d7efce7c3ae5975cfcb0152ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1db17f7b4dd1ca0e456c4120ae57ffde4b2e225ea3797c9ac7281c9133c19e04
MD5 5bf126060215b6c89cf622b0c9208086
BLAKE2b-256 5f562e74d89312611f9cb8427fa2ced1b0ff4fabe5a097f859949a2c6ae8dfd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a22945269055c4f21d1230f696770b0f6a5fd77e0160465c2af059c110ee6cc4
MD5 228de6a273a29d4a0b210c05ee8910f5
BLAKE2b-256 12e50f60dc134326c5120187c564eb5413863d0d29bdf5a8fa04a64755e06b28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 52d1c76f7f36a1f51c9a3dd39eb15dfbc0847475536b5ec999d81b83e56f5235
MD5 f71146d3d4c4035a1ce9544eb4b315ed
BLAKE2b-256 3caab461f24acd906232131dc07bc9fb19ae8946cf5522d1a0c1a9495aafd038

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7af7443e996e9ea33bbaea9a530ddf6f3919e4a129dbd864240cb064d6fc2fff
MD5 985f927f7b061173f6c1f63d01a5464c
BLAKE2b-256 fa57256a39fe05757a063dbda466b82f26c8ea691368f26a1233b7b3481f6c21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e236c14d90bad8f33251552e7eb87cdb5d39e24337664cd958c5a96e8af7689
MD5 00632c65960e4f611932aa5eb714fca8
BLAKE2b-256 d50f26b484f19cba32ba7913672b86488f9f29b28882232172ff078ea7484c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc3cdb4d353bd5c9a021a4b5b8f43880e2b41a07fafb914f091381a2340ec4cf
MD5 4d2fc4f8a3699d017d54b9d316fe2459
BLAKE2b-256 c3de45b36d9150316f4ba1c818b9035d9592c5b753c43d9f95da6fa5dcbaa084

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4036a12c57ce485d29869acc73f8da2ef6911f1266cad04a33097ed773f118c2
MD5 3ae4b730fd3dbd24cb8acfb2a016cf67
BLAKE2b-256 b148e129e23e084d0466e51608a4682b510315296a53f6bdfa94b41dbb6a6d76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 61e66a930175265adcdfee98b2fe2744e76d81b98f24e6a3d128c80e838a17c2
MD5 cfdf7c5c4b0cedc02589a5dfb77f36e7
BLAKE2b-256 f7d73289ef3d9791bf07732028b549133a1ee12a57af53b7c04f3aa3cdeea02c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0c54381f65bda6d95793d9d7fa327977b8813465fc837c9f0126863ee1a717b4
MD5 582fd7f7e1e6d4b23cec5bf2282c6a6a
BLAKE2b-256 58a79d212121274a479bb3781e49a9b4df75132c6a5ea9dea6a14d6ba6fec3ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 bf49a2dd2fb3a1fe4b60480d18ad4505fa1a153c94ed54b5108af64533d140c0
MD5 2e2cd3510bc277f92b2967617ed927d9
BLAKE2b-256 850c9011508d6f49f9c06b53b92139a99e031e67a181dd9a242ead2cb6fde0b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43da3bbfc6df2d44f79a1812b9670ef33fc98706c87afbc085245a17acac426c
MD5 9d780897d43a267475b87eba88dc545a
BLAKE2b-256 f80e97510496ba14c745dc7ab04627460ec8c71c12847be0639b485ac8029b7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a899e14e69fe141695425874e8739d8e0d5ddabb86bf11f3932c638d386d6129
MD5 85cffc5c5894917936ef2d97fc7e423d
BLAKE2b-256 fca144432fc44f121c450b4dd8d30e5ed912e0ee9ce92d3d8e041e3cb6a9f026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b72ce742e84b30045097897900aeca0bfa7ca59f94f5e3e7019809b7cc26e6d
MD5 c2321c6297da15f9c2d6fc68169d1b64
BLAKE2b-256 346b8d97595970bf119c8831f8f542459561e02fd44bc2cf2a482fb96f882c12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b0670451f7c1c64549ca833eb880f69b2fb0a201a2c883b1701b5cba0a658c2c
MD5 366691bfc067264e2afa9b8cb79fd365
BLAKE2b-256 7958b638e440936a85dfdffba74d664ea9beebfb493a8bfad88e979dc2dadc45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e5a646e00a4e0f81ef5f7a34330adddf8ad348a0188e19702a481bcf022626fd
MD5 9a13bcca298eed9ba5ea9aebcb737465
BLAKE2b-256 e8e6a5963c653c2e5a7defd524ef3264e5cf20c5d7b4f8eeb4a718fe62171cf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b0660c7eb14351b084cb7079e17c35471eba8ce50b73d77bd3fb55b3485033fb
MD5 3af27fb8d6495a9e8a91aee653e5889b
BLAKE2b-256 c09eb35d0b16e6d52be81a6e10692ba896f3896e48011e61f663e9e827ad3b56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d8ea8bc7bb8728a9bf68c917e3d37b45b7f7cf7f490762ac480be1e263eeb363
MD5 59fb117c32e2d3a48a5cfe58216902e5
BLAKE2b-256 56a86df19ced0e060fbaf67497d508862bff14a0c5453d399b3ab4166e732190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5f4e9f6ef62e1d421bad8651858bdaab13c94b0812e8268554a59f10d87edda
MD5 1f59c70449dc06f7768ebcb5b555051d
BLAKE2b-256 ef78764c6a5a66f1404c4c8cb3289499a538bdf6efb7012c95ce0b25614ede7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5250db057d3063e3282ff2b81b8b35d4784c71a965e130fcdd237e25d43c50fd
MD5 0c03073d2c209a5626e01d29e0817d92
BLAKE2b-256 19bc09687e1b49991a0f7df76094e8a63934ddcb99dbbe03d42cea1b126e0d18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8abd292495dbcf3f1af249e34ab1d4dc5f678e98a7b258570ba6165c0f9e7e0c
MD5 48ca1cc9d281c014b53aa90b96630318
BLAKE2b-256 461fa99da3f18f4c86eb049a4341e7cdee9edba37ba4189bd10b67cbcff77cb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e165e946a6e1176203b4a584e30cfb61ec7e1aaba107e8b39ac685d745cd08b0
MD5 e58fc56fb16f751f5a09f67cdbb27c1d
BLAKE2b-256 af2897a8eec4e4dd0256cdb2e75e9e504c3103f146bb457bf58682d305d8ccf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 05ceb5540a5a980a0f27440528d2348d45dc08108fb6b3c75464302d64301a1d
MD5 d2515ee42ef45cf88bbb61d605c6d08e
BLAKE2b-256 616ddbb03309f1346fe2e9f759506b86fb87ac8df73d6fa3fae2f6c0468ccee0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 126f1240c2c48ae6ca5866975d6cfc419e01aea90571c0d42532071dcbf99e4b
MD5 d753d40f231f930efcb51948eace3686
BLAKE2b-256 bac73ebd34d86410fe804f94614e977094481c7eb300e47c2b44a977969f556d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 09cf0ce02836b2e59d10a3a2baa1ef19abd0d74c7b4008b1dec2f74950602df0
MD5 16aa85c6522092332ac931f08e3fad59
BLAKE2b-256 715aa09875eaa5277e9c4372802ae6fd928e00a36832e5d3c2c4501cd096f2b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f2b261627f0721312fd0bf69c4c289b869c6fc84125c279335c28fac11bc654
MD5 4cc57181b771a261ebfd21488f9efb34
BLAKE2b-256 6183bb9dd507bb0d7ec3894c0f7bee067ca70c80105423e0bf2a3c9912f8f169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 67d0c1c221c7d0029c2176c15e410237b9fc447a13ef3a5de9e51c33ddd43c7e
MD5 ad5571202875ec9d21ee61b932143877
BLAKE2b-256 0c11047d2948f63c884d959bb59dfb2e421581e3d7ca9b91611e1b3350a71894

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12141a809858ef5808dce68110e4f208ec3a9fd68c80e74acd6c1d053a56c862
MD5 44df3ccf6c1e237924cbe6f4374722de
BLAKE2b-256 fb479aec474f9313f40c6c8c4040bc26e0897ca2dd31fb8ff47cafd6d0780306

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a90c8f6cd4ba22ebb78a47ee825007f4653899dc7653b726e7789989878b27b7
MD5 cfe0143ea939d3cde89f086ef1a5dc3b
BLAKE2b-256 de91eb015a0a9df957cb056132c550c782f7f7d229c01e4504e5c0b7b88d8b71

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