py-tree-sitter
==================
This module provides Python bindings to the [tree-sitter](https://github.com/tree-sitter/tree-sitter) parsing library.
## Installation
This package currently only works with Python 3. There are no library dependencies, the package is distributed as a CPython-compiled wheel.
```sh
pip3 install abch-tree-sitter
```
## Acknowledgments
This is a fork of [py-tree-sitter](https://github.com/tree-sitter/py-tree-sitter) by Max Brunsfeld with UTF-16 support added and distributed as CPython-compiled wheels.
## Usage
#### Setup
First you'll need a Tree-sitter language implementation for each language that you want to parse. You can clone some of the [existing language repos](https://github.com/tree-sitter) or [create your own](http://tree-sitter.github.io/tree-sitter/creating-parsers):
```sh
git clone https://github.com/tree-sitter/tree-sitter-go
git clone https://github.com/tree-sitter/tree-sitter-javascript
git clone https://github.com/tree-sitter/tree-sitter-python
```
Use the `Language.build_library` method to compile these into a library that's usable from Python. This function will return immediately if the library has already been compiled since the last time its source code was modified:
```python
from tree_sitter import Language, Parser
Language.build_library(
# Store the library in the `build` directory
'build/my-languages.so',
# Include one or more languages
[
'vendor/tree-sitter-go',
'vendor/tree-sitter-javascript',
'vendor/tree-sitter-python'
]
)
```
Load the languages into your app as `Language` objects:
```python
GO_LANGUAGE = Language('build/my-languages.so', 'go')
JS_LANGUAGE = Language('build/my-languages.so', 'javascript')
PY_LANGUAGE = Language('build/my-languages.so', 'python')
```
#### Basic Parsing
Create a `Parser` and configure it to use one of the languages:
```python
parser = Parser()
parser.set_language(PY_LANGUAGE)
```
Parse some source code:
```python
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 default encoding is utf8.
For example, to use the byte offset:
```python
src = bytes("""
def foo():
if bar:
baz()
""", "utf8")
def read_callable(byte_offset, point):
return src[byte_offset:byte_offset+1]
tree = parser.parse(read_callable)
```
And to use the point:
```python
src_lines = ["def foo():\n", " if bar:\n", " baz()"]
def read_callable(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)
```
Or with utf16 encoding:
```python
tree = parser.parse(bytes("""
def foo():
if bar:
baz()
""", "utf16"), encoding="utf16")
```
```python
src = bytes("""
def foo():
if bar:
baz()
""", "utf16")
def read_callable(byte_offset, point):
return src[byte_offset:byte_offset+2]
tree = parser.parse(read_callable, encoding="utf16")
```
```python
src_lines = ["def foo():\n", " if bar:\n", " baz()"]
def read_callable(byte_offset, point):
row, column = point
if row >= len(src_lines) or column >= len(src_lines[row].encode("utf-16-le")):
return None
ret = src_lines[row].encode("utf-16-le")[column:]
return ret
tree = parser.parse(read_callable, encoding="utf16")
```
Inspect the resulting `Tree`:
```python
root_node = tree.root_node
assert root_node.type == 'module'
assert root_node.start_point == (1, 0)
assert root_node.end_point == (3, 13)
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)
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))))))))"
```
#### Walking Syntax Trees
If you need to traverse a large number of nodes efficiently, you can use
a `TreeCursor`:
```python
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'
```
#### Editing
When a source file is edited, you can edit the syntax tree to keep it in sync with the source:
```python
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:
```python
new_tree = parser.parse(new_source, tree)
```
This will run much faster than if you were parsing from scratch.
The `Tree.get_changed_ranges` method can be called on the *old* tree to return
the list of ranges whose syntactic structure has been changed:
```python
for changed_range in tree.get_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*:
```python
query = PY_LANGUAGE.query("""
(function_definition
name: (identifier) @function.def)
(call
function: (identifier) @function.call)
""")
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Ackee-Blockchain/py-tree-sitter",
"name": "abch-tree-sitter",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "Ackee Blockchain",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/db/9e/e0adfa7064efb891bc02358af2617be6be023468d8196788bcb901e43fc9/abch_tree_sitter-1.1.2.tar.gz",
"platform": "any",
"description": "py-tree-sitter\n==================\n\nThis module provides Python bindings to the [tree-sitter](https://github.com/tree-sitter/tree-sitter) parsing library.\n\n## Installation\n\nThis package currently only works with Python 3. There are no library dependencies, the package is distributed as a CPython-compiled wheel.\n\n```sh\npip3 install abch-tree-sitter\n```\n\n## Acknowledgments\n\nThis is a fork of [py-tree-sitter](https://github.com/tree-sitter/py-tree-sitter) by Max Brunsfeld with UTF-16 support added and distributed as CPython-compiled wheels.\n\n## Usage\n\n#### Setup\n\nFirst you'll need a Tree-sitter language implementation for each language that you want to parse. You can clone some of the [existing language repos](https://github.com/tree-sitter) or [create your own](http://tree-sitter.github.io/tree-sitter/creating-parsers):\n\n```sh\ngit clone https://github.com/tree-sitter/tree-sitter-go\ngit clone https://github.com/tree-sitter/tree-sitter-javascript\ngit clone https://github.com/tree-sitter/tree-sitter-python\n```\n\nUse the `Language.build_library` method to compile these into a library that's usable from Python. This function will return immediately if the library has already been compiled since the last time its source code was modified:\n\n```python\nfrom tree_sitter import Language, Parser\n\nLanguage.build_library(\n # Store the library in the `build` directory\n 'build/my-languages.so',\n\n # Include one or more languages\n [\n 'vendor/tree-sitter-go',\n 'vendor/tree-sitter-javascript',\n 'vendor/tree-sitter-python'\n ]\n)\n```\n\nLoad the languages into your app as `Language` objects:\n\n```python\nGO_LANGUAGE = Language('build/my-languages.so', 'go')\nJS_LANGUAGE = Language('build/my-languages.so', 'javascript')\nPY_LANGUAGE = Language('build/my-languages.so', 'python')\n```\n\n#### Basic Parsing\n\nCreate a `Parser` and configure it to use one of the languages:\n\n```python\nparser = Parser()\nparser.set_language(PY_LANGUAGE)\n```\n\nParse some source code:\n\n```python\ntree = parser.parse(bytes(\"\"\"\ndef foo():\n if bar:\n baz()\n\"\"\", \"utf8\"))\n```\n\nIf you have your source code in some data structure other than a bytes object,\nyou can pass a \"read\" callable to the parse function.\n\nThe read callable can use either the byte offset or point tuple to read from\nbuffer and return source code as bytes object. An empty bytes object or None\nterminates parsing for that line. The default encoding is utf8.\n\nFor example, to use the byte offset:\n\n```python\nsrc = bytes(\"\"\"\ndef foo():\n if bar:\n baz()\n\"\"\", \"utf8\")\n\ndef read_callable(byte_offset, point):\n return src[byte_offset:byte_offset+1]\n\ntree = parser.parse(read_callable)\n```\n\nAnd to use the point:\n\n```python\nsrc_lines = [\"def foo():\\n\", \" if bar:\\n\", \" baz()\"]\n\ndef read_callable(byte_offset, point):\n row, column = point\n if row >= len(src_lines) or column >= len(src_lines[row]):\n return None\n return src_lines[row][column:].encode('utf8')\n\ntree = parser.parse(read_callable)\n```\n\nOr with utf16 encoding:\n\n```python\ntree = parser.parse(bytes(\"\"\"\ndef foo():\n if bar:\n baz()\n\"\"\", \"utf16\"), encoding=\"utf16\")\n```\n\n```python\nsrc = bytes(\"\"\"\ndef foo():\n if bar:\n baz()\n\"\"\", \"utf16\")\n\ndef read_callable(byte_offset, point):\n return src[byte_offset:byte_offset+2]\n\ntree = parser.parse(read_callable, encoding=\"utf16\")\n```\n\n```python\nsrc_lines = [\"def foo():\\n\", \" if bar:\\n\", \" baz()\"]\n\ndef read_callable(byte_offset, point):\n row, column = point\n if row >= len(src_lines) or column >= len(src_lines[row].encode(\"utf-16-le\")):\n return None\n ret = src_lines[row].encode(\"utf-16-le\")[column:]\n return ret\n\ntree = parser.parse(read_callable, encoding=\"utf16\")\n```\n\nInspect the resulting `Tree`:\n\n```python\nroot_node = tree.root_node\nassert root_node.type == 'module'\nassert root_node.start_point == (1, 0)\nassert root_node.end_point == (3, 13)\n\nfunction_node = root_node.children[0]\nassert function_node.type == 'function_definition'\nassert function_node.child_by_field_name('name').type == 'identifier'\n\nfunction_name_node = function_node.children[1]\nassert function_name_node.type == 'identifier'\nassert function_name_node.start_point == (1, 4)\nassert function_name_node.end_point == (1, 7)\n\nassert root_node.sexp() == \"(module \"\n \"(function_definition \"\n \"name: (identifier) \"\n \"parameters: (parameters) \"\n \"body: (block \"\n \"(if_statement \"\n \"condition: (identifier) \"\n \"consequence: (block \"\n \"(expression_statement (call \"\n \"function: (identifier) \"\n \"arguments: (argument_list))))))))\"\n```\n\n#### Walking Syntax Trees\n\nIf you need to traverse a large number of nodes efficiently, you can use\na `TreeCursor`:\n\n```python\ncursor = tree.walk()\n\nassert cursor.node.type == 'module'\n\nassert cursor.goto_first_child()\nassert cursor.node.type == 'function_definition'\n\nassert cursor.goto_first_child()\nassert cursor.node.type == 'def'\n\n# Returns `False` because the `def` node has no children\nassert not cursor.goto_first_child()\n\nassert cursor.goto_next_sibling()\nassert cursor.node.type == 'identifier'\n\nassert cursor.goto_next_sibling()\nassert cursor.node.type == 'parameters'\n\nassert cursor.goto_parent()\nassert cursor.node.type == 'function_definition'\n```\n\n#### Editing\n\nWhen a source file is edited, you can edit the syntax tree to keep it in sync with the source:\n\n```python\ntree.edit(\n start_byte=5,\n old_end_byte=5,\n new_end_byte=5 + 2,\n start_point=(0, 5),\n old_end_point=(0, 5),\n new_end_point=(0, 5 + 2),\n)\n```\n\nThen, when you're ready to incorporate the changes into a new syntax tree,\nyou can call `Parser.parse` again, but pass in the old tree:\n\n```python\nnew_tree = parser.parse(new_source, tree)\n```\n\nThis will run much faster than if you were parsing from scratch.\n\nThe `Tree.get_changed_ranges` method can be called on the *old* tree to return\nthe list of ranges whose syntactic structure has been changed:\n\n```python\nfor changed_range in tree.get_changed_ranges(new_tree):\n print('Changed range:')\n print(f' Start point {changed_range.start_point}')\n print(f' Start byte {changed_range.start_byte}')\n print(f' End point {changed_range.end_point}')\n print(f' End byte {changed_range.end_byte}')\n```\n\n#### Pattern-matching\n\nYou can search for patterns in a syntax tree using a *tree query*:\n\n```python\nquery = PY_LANGUAGE.query(\"\"\"\n(function_definition\n name: (identifier) @function.def)\n\n(call\n function: (identifier) @function.call)\n\"\"\")\n\ncaptures = query.captures(tree.root_node)\nassert len(captures) == 2\nassert captures[0][0] == function_name_node\nassert captures[0][1] == \"function.def\"\n```\n\nThe `Query.captures()` method takes optional `start_point`, `end_point`,\n`start_byte` and `end_byte` keyword arguments which can be used to restrict the\nquery's range. Only one of the `..._byte` or `..._point` pairs need to be given\nto restrict the range. If all are omitted, the entire range of the passed node\nis used.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python bindings to the Tree-sitter parsing library",
"version": "1.1.2",
"project_urls": {
"Homepage": "https://github.com/Ackee-Blockchain/py-tree-sitter",
"Source": "https://github.com/Ackee-Blockchain/py-tree-sitter"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "75bdeb96fe1f987a5b87daabe45f00edf0aa9c063d1c9febc6166c71f3cdad4d",
"md5": "431ceb4173bcdf510d2ac9d9d64dc34d",
"sha256": "ed173319cf9ddcd6450bcb324f3dcd77f1234a93d215f89d67929453c99dc48b"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "431ceb4173bcdf510d2ac9d9d64dc34d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 126011,
"upload_time": "2023-12-23T18:50:45",
"upload_time_iso_8601": "2023-12-23T18:50:45.910854Z",
"url": "https://files.pythonhosted.org/packages/75/bd/eb96fe1f987a5b87daabe45f00edf0aa9c063d1c9febc6166c71f3cdad4d/abch_tree_sitter-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41010a42029183bdd4f3395d5a8386f149e0bb2f4774fb6d74d59d272a16657a",
"md5": "1e8fa940d50b2b4ca327388ffb5a7094",
"sha256": "55ec5fb9c9d8ab77f23547ad99c448eef71fc1c4b98896422e9cab098ddd7ade"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "1e8fa940d50b2b4ca327388ffb5a7094",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 118116,
"upload_time": "2023-12-23T18:50:47",
"upload_time_iso_8601": "2023-12-23T18:50:47.536444Z",
"url": "https://files.pythonhosted.org/packages/41/01/0a42029183bdd4f3395d5a8386f149e0bb2f4774fb6d74d59d272a16657a/abch_tree_sitter-1.1.2-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7acf987935cad4d0c6ad940957e51eef2e1b85265944c0f0e1da939f4929cd60",
"md5": "ac9828a2eefea0adee31aa9aeb8acf77",
"sha256": "e701a8d1b123aaffc1d9538db9105103fdc68443f684aef29f38964a96f23c83"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "ac9828a2eefea0adee31aa9aeb8acf77",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 462830,
"upload_time": "2023-12-23T18:50:49",
"upload_time_iso_8601": "2023-12-23T18:50:49.071266Z",
"url": "https://files.pythonhosted.org/packages/7a/cf/987935cad4d0c6ad940957e51eef2e1b85265944c0f0e1da939f4929cd60/abch_tree_sitter-1.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "06f6098a494bb104b8e501c9188687cc42e1d47ec0b6389883a1e60a2c6c6593",
"md5": "dc4d6fc3d4fbd666e7bd3076a9f3ded7",
"sha256": "08c6fe3c65a45f023082ebee884f57c56a766ca331f621ae4132b9899f0892ba"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "dc4d6fc3d4fbd666e7bd3076a9f3ded7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 455378,
"upload_time": "2023-12-23T18:50:50",
"upload_time_iso_8601": "2023-12-23T18:50:50.729498Z",
"url": "https://files.pythonhosted.org/packages/06/f6/098a494bb104b8e501c9188687cc42e1d47ec0b6389883a1e60a2c6c6593/abch_tree_sitter-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5df66c547d1ea33137206e6e05943b8b9b63a286acec62550fa6aec16857cef8",
"md5": "568862db5358de866709b9298d6dca15",
"sha256": "c0a67ba355ac7ec430f5819b2c591edc0f95eb64cbafe9bd972cb39a2c0aed9a"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "568862db5358de866709b9298d6dca15",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 459475,
"upload_time": "2023-12-23T18:50:52",
"upload_time_iso_8601": "2023-12-23T18:50:52.386959Z",
"url": "https://files.pythonhosted.org/packages/5d/f6/6c547d1ea33137206e6e05943b8b9b63a286acec62550fa6aec16857cef8/abch_tree_sitter-1.1.2-cp310-cp310-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed7828f9e28c95431d3dc20833edbc13ae0093f5553bedc31ad24a0aa866099d",
"md5": "a44e8daad7440d96c62f682176aafc2a",
"sha256": "4206920f1f22bcef159d6cedb2cb671398431eff460d7f49ad133a7e25596db5"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "a44e8daad7440d96c62f682176aafc2a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 447527,
"upload_time": "2023-12-23T18:50:53",
"upload_time_iso_8601": "2023-12-23T18:50:53.598566Z",
"url": "https://files.pythonhosted.org/packages/ed/78/28f9e28c95431d3dc20833edbc13ae0093f5553bedc31ad24a0aa866099d/abch_tree_sitter-1.1.2-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "39ac6bbc3ad7a6569e313ebb0e8cf43cafa6d92e118899b4748acc457fb69402",
"md5": "c94017f045a350df17bced7d482820f8",
"sha256": "7984a3748ad8161fbec2ecebacee851c1c3b02356a1228c54313a19c7edda06c"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "c94017f045a350df17bced7d482820f8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 82575,
"upload_time": "2023-12-23T18:50:55",
"upload_time_iso_8601": "2023-12-23T18:50:55.267889Z",
"url": "https://files.pythonhosted.org/packages/39/ac/6bbc3ad7a6569e313ebb0e8cf43cafa6d92e118899b4748acc457fb69402/abch_tree_sitter-1.1.2-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a686acd66e8c3657b1514ac12391a5e874202732e57e76b56470c8d7042cfea4",
"md5": "7e9e0c494d187ddc96e60f9e613e1ba2",
"sha256": "4845edd8dec2c16e13cdf0d80073e0d691ee29d6a03826816295de1363f52c9c"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7e9e0c494d187ddc96e60f9e613e1ba2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 93377,
"upload_time": "2023-12-23T18:50:56",
"upload_time_iso_8601": "2023-12-23T18:50:56.199273Z",
"url": "https://files.pythonhosted.org/packages/a6/86/acd66e8c3657b1514ac12391a5e874202732e57e76b56470c8d7042cfea4/abch_tree_sitter-1.1.2-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ca8bf4a739c303cfb43d02e40f602b264c5eaaf1cc54b44f45649c4caa02eff0",
"md5": "a620ebdfb1e6aebf25499d2fa6bc02fd",
"sha256": "73ae29d4e978764fdd9bbee13b04e8d08df77430823a113d0bc34b8be2d01a72"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a620ebdfb1e6aebf25499d2fa6bc02fd",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 126013,
"upload_time": "2023-12-23T18:50:57",
"upload_time_iso_8601": "2023-12-23T18:50:57.211982Z",
"url": "https://files.pythonhosted.org/packages/ca/8b/f4a739c303cfb43d02e40f602b264c5eaaf1cc54b44f45649c4caa02eff0/abch_tree_sitter-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c42e7b13943b310242387a3c45933a109dedb89312b6afca18928239b9f443c",
"md5": "7c93d0b3fdcdea3ee371b65b86a88a5e",
"sha256": "ccf36ee5a7313dc4d8020aaa273d702bba6052e11806303c3ff4d67183ef604e"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7c93d0b3fdcdea3ee371b65b86a88a5e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 118110,
"upload_time": "2023-12-23T18:50:58",
"upload_time_iso_8601": "2023-12-23T18:50:58.710821Z",
"url": "https://files.pythonhosted.org/packages/8c/42/e7b13943b310242387a3c45933a109dedb89312b6afca18928239b9f443c/abch_tree_sitter-1.1.2-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d21133204a2ca61303c6885a2d36f7507d7d2730682fe153eb250492385ccc56",
"md5": "a08a9569a92211c571c6b783a45280bd",
"sha256": "8ab84b8e1c2f9b1f0c36bbdbcc06beff0b0f15b908948d6f1e0202fd0c1c6c4f"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "a08a9569a92211c571c6b783a45280bd",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 463926,
"upload_time": "2023-12-23T18:51:00",
"upload_time_iso_8601": "2023-12-23T18:51:00.280147Z",
"url": "https://files.pythonhosted.org/packages/d2/11/33204a2ca61303c6885a2d36f7507d7d2730682fe153eb250492385ccc56/abch_tree_sitter-1.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72f17e013188e6bcab10f5e1572ebfa4cdbf4131c60ef6727ab6a104ca329b93",
"md5": "cf59e9033e89b228ce7a0a825011e48a",
"sha256": "463ef2f73d58a124d254f3e20577767e9663f989ddeaceb9e662ecaa74e93d7c"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cf59e9033e89b228ce7a0a825011e48a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 456937,
"upload_time": "2023-12-23T18:51:02",
"upload_time_iso_8601": "2023-12-23T18:51:02.139058Z",
"url": "https://files.pythonhosted.org/packages/72/f1/7e013188e6bcab10f5e1572ebfa4cdbf4131c60ef6727ab6a104ca329b93/abch_tree_sitter-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7677cda8e6ef1bd827a4c3b893a58134f3da0ff7432e837e219e83c76a6e51b9",
"md5": "b1507324a57c296c5379baf37d9882ad",
"sha256": "437aa818e6816d9803cdb77e2bc8a3728517bb545975efbfc5246600fbf7f64a"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "b1507324a57c296c5379baf37d9882ad",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 460599,
"upload_time": "2023-12-23T18:51:04",
"upload_time_iso_8601": "2023-12-23T18:51:04.013375Z",
"url": "https://files.pythonhosted.org/packages/76/77/cda8e6ef1bd827a4c3b893a58134f3da0ff7432e837e219e83c76a6e51b9/abch_tree_sitter-1.1.2-cp311-cp311-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74641547923322c7973414514a1fc1b613ee4f6bfa75d88b4c3530d81acae6c3",
"md5": "9bae03ce477ef7974f2c7782c6e14037",
"sha256": "e521a87253b34c572bad26318ff6b48e5883e6a7b7344296d6f975e7631f0339"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "9bae03ce477ef7974f2c7782c6e14037",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 448676,
"upload_time": "2023-12-23T18:51:05",
"upload_time_iso_8601": "2023-12-23T18:51:05.739201Z",
"url": "https://files.pythonhosted.org/packages/74/64/1547923322c7973414514a1fc1b613ee4f6bfa75d88b4c3530d81acae6c3/abch_tree_sitter-1.1.2-cp311-cp311-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2d368c781fd7706a3dd06f3ac2eaee5e8318b1112b18ec6f16edcfef31295232",
"md5": "b91aadf2643cd7b3e7284656f3c91c38",
"sha256": "6d3e6248678231e48d0cd3a3c9d23f01cef9f9a7565c7f4540eec0c19315e1fe"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "b91aadf2643cd7b3e7284656f3c91c38",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 82569,
"upload_time": "2023-12-23T18:51:06",
"upload_time_iso_8601": "2023-12-23T18:51:06.911792Z",
"url": "https://files.pythonhosted.org/packages/2d/36/8c781fd7706a3dd06f3ac2eaee5e8318b1112b18ec6f16edcfef31295232/abch_tree_sitter-1.1.2-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7b1ed800b51ff3e169de0112f219ceff65fd16beafc76255129a6320b59cea14",
"md5": "5c0ad9edbe927e18ccb3bed39f2b5e2c",
"sha256": "2721abba12565d2c4ef8891ea85be0bf21a1f948258a2873f1406253d1f185e3"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "5c0ad9edbe927e18ccb3bed39f2b5e2c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 93378,
"upload_time": "2023-12-23T18:51:07",
"upload_time_iso_8601": "2023-12-23T18:51:07.842924Z",
"url": "https://files.pythonhosted.org/packages/7b/1e/d800b51ff3e169de0112f219ceff65fd16beafc76255129a6320b59cea14/abch_tree_sitter-1.1.2-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dce279a49c96f84c07a9b4b4aa36809133627783a16f86417f0aebb35214ac59",
"md5": "ed5cba6a2942ecd6f067a72f753edbc2",
"sha256": "c93cfd2fc953d6bb13fcdda1d4007e472da26b5635372e9f62f62c7b88241d60"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "ed5cba6a2942ecd6f067a72f753edbc2",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 125828,
"upload_time": "2023-12-23T18:51:09",
"upload_time_iso_8601": "2023-12-23T18:51:09.331661Z",
"url": "https://files.pythonhosted.org/packages/dc/e2/79a49c96f84c07a9b4b4aa36809133627783a16f86417f0aebb35214ac59/abch_tree_sitter-1.1.2-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1cfd665006ad567834f7ab27e9c52b8fdbaebdf65dcd2385af76be3614ba7339",
"md5": "9efa3d58616da4243d75e262746248cd",
"sha256": "4cbb540ddf5afaf5016a5cd72458b030fa800842c90832b35743483d5fc274a9"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "9efa3d58616da4243d75e262746248cd",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 460872,
"upload_time": "2023-12-23T18:51:10",
"upload_time_iso_8601": "2023-12-23T18:51:10.348084Z",
"url": "https://files.pythonhosted.org/packages/1c/fd/665006ad567834f7ab27e9c52b8fdbaebdf65dcd2385af76be3614ba7339/abch_tree_sitter-1.1.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "611387cd7d5178437796b724f9267fac2b755d0416873cda2641fa1ace14a066",
"md5": "07f054822c23ff8f9b29f8f46929310c",
"sha256": "7e5fd5653d790bb18ac5675a40761ef454547ba7235011d895dcd424261fcbc0"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "07f054822c23ff8f9b29f8f46929310c",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 453507,
"upload_time": "2023-12-23T18:51:11",
"upload_time_iso_8601": "2023-12-23T18:51:11.572990Z",
"url": "https://files.pythonhosted.org/packages/61/13/87cd7d5178437796b724f9267fac2b755d0416873cda2641fa1ace14a066/abch_tree_sitter-1.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "76287376333b1aed05eaaad16740709b978cf157434e2feb5985a6f5c1ed00a2",
"md5": "b765e646b901e297b16bb703b98011eb",
"sha256": "df7fad26d59c4af143a27de1c294c08c22549d83c45ba55e24ff4b14d3143e7d"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "b765e646b901e297b16bb703b98011eb",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 457657,
"upload_time": "2023-12-23T18:51:12",
"upload_time_iso_8601": "2023-12-23T18:51:12.748746Z",
"url": "https://files.pythonhosted.org/packages/76/28/7376333b1aed05eaaad16740709b978cf157434e2feb5985a6f5c1ed00a2/abch_tree_sitter-1.1.2-cp37-cp37m-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d6cf65355e79102f818a6a24973cf99481f446e66c7ae460345aacbea7167a30",
"md5": "96a016ed123684d8cd721d5fef7bbf3f",
"sha256": "6c987fceb291ffee1094757d37da60cde1a4f66ad26738f4e0e9917a69b41db9"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "96a016ed123684d8cd721d5fef7bbf3f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 446379,
"upload_time": "2023-12-23T18:51:13",
"upload_time_iso_8601": "2023-12-23T18:51:13.922445Z",
"url": "https://files.pythonhosted.org/packages/d6/cf/65355e79102f818a6a24973cf99481f446e66c7ae460345aacbea7167a30/abch_tree_sitter-1.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4cbc0e0301cc118d9afd742d6a8882be2c96d9ad1a036940ee2d61cf87ac518e",
"md5": "7fd4ede169d6aecfb4ae5f2c2b48a501",
"sha256": "9df28196c04fb6802331978c6e7558ac504f53995f124b89d79133b816baaeaf"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "7fd4ede169d6aecfb4ae5f2c2b48a501",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 82483,
"upload_time": "2023-12-23T18:51:15",
"upload_time_iso_8601": "2023-12-23T18:51:15.050869Z",
"url": "https://files.pythonhosted.org/packages/4c/bc/0e0301cc118d9afd742d6a8882be2c96d9ad1a036940ee2d61cf87ac518e/abch_tree_sitter-1.1.2-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41ed018b9ea3cf804190e0f3bf2f5b2833b493bf055504561abe8873d8890555",
"md5": "095333aaf4ed5d6c8b992e2d734c1d62",
"sha256": "8988349718487ab691d06c09aaadca96aabefa1910c1211967f4d09e92534807"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "095333aaf4ed5d6c8b992e2d734c1d62",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 93386,
"upload_time": "2023-12-23T18:51:16",
"upload_time_iso_8601": "2023-12-23T18:51:16.064795Z",
"url": "https://files.pythonhosted.org/packages/41/ed/018b9ea3cf804190e0f3bf2f5b2833b493bf055504561abe8873d8890555/abch_tree_sitter-1.1.2-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "27f5c7d57297aa2460123aeb1a9959c614222dfff5971730fe8423f97717f612",
"md5": "6f5971cddf48fbdab298faeb89f0b119",
"sha256": "4a516ab345db9d9829750338cfc008f73279b8ac7640c29f0e432fe1e268150d"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "6f5971cddf48fbdab298faeb89f0b119",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 126070,
"upload_time": "2023-12-23T18:51:16",
"upload_time_iso_8601": "2023-12-23T18:51:16.986018Z",
"url": "https://files.pythonhosted.org/packages/27/f5/c7d57297aa2460123aeb1a9959c614222dfff5971730fe8423f97717f612/abch_tree_sitter-1.1.2-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac9dc111cc4cc11eeed869e00361283be8dd521ff3a1db65684bfbb55cf97630",
"md5": "539439fe28906315e3ade2faed4d81bd",
"sha256": "69c7c00886a41396c3f52ec138b27dbe6bfe5bae1e6a54de01d4a7795ab51e18"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "539439fe28906315e3ade2faed4d81bd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 118102,
"upload_time": "2023-12-23T18:51:17",
"upload_time_iso_8601": "2023-12-23T18:51:17.992246Z",
"url": "https://files.pythonhosted.org/packages/ac/9d/c111cc4cc11eeed869e00361283be8dd521ff3a1db65684bfbb55cf97630/abch_tree_sitter-1.1.2-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24cf8aac8f6d00629e87e338c631e140c050326786ec31d11cea4fcba35b1b37",
"md5": "bbed0fee3790a476d7f3dfd4c9e784b6",
"sha256": "8ff46091463f4c3cccca7764f3941e615f1f7daa5aab0a5d58f2b94fcf37244a"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bbed0fee3790a476d7f3dfd4c9e784b6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 466247,
"upload_time": "2023-12-23T18:51:19",
"upload_time_iso_8601": "2023-12-23T18:51:19.015033Z",
"url": "https://files.pythonhosted.org/packages/24/cf/8aac8f6d00629e87e338c631e140c050326786ec31d11cea4fcba35b1b37/abch_tree_sitter-1.1.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "db4e8438ad1235f57d50f2a4086d24a82105604bc05587069a9b2d8fb65bd6df",
"md5": "927ad211f169bf66203e926112794cc1",
"sha256": "89668b05adf0f62372fac7b3766fddbea8fe491516212e6fa1ed2fda9103ba06"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "927ad211f169bf66203e926112794cc1",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 459664,
"upload_time": "2023-12-23T18:51:20",
"upload_time_iso_8601": "2023-12-23T18:51:20.331124Z",
"url": "https://files.pythonhosted.org/packages/db/4e/8438ad1235f57d50f2a4086d24a82105604bc05587069a9b2d8fb65bd6df/abch_tree_sitter-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c9cbaeca168aba14dab2b35308ad1eb3c736d1dbd4dd351859a6847bd2793b87",
"md5": "ef9a14933c02048dd6c1c29094b5ba2a",
"sha256": "d8cfdb5a8591bfaee8336a5bca2e35be6c3bceaeeddad0a68c80834feee39b30"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "ef9a14933c02048dd6c1c29094b5ba2a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 462927,
"upload_time": "2023-12-23T18:51:21",
"upload_time_iso_8601": "2023-12-23T18:51:21.500209Z",
"url": "https://files.pythonhosted.org/packages/c9/cb/aeca168aba14dab2b35308ad1eb3c736d1dbd4dd351859a6847bd2793b87/abch_tree_sitter-1.1.2-cp38-cp38-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7dd37eb9ade3f17dee4ed49ba2825b371f3aca55ca5f1f28d1abab3eee3c53bf",
"md5": "fd6f5ced16e790bcb6f4634fc90252f7",
"sha256": "01878e6020c4e9e711ee1e4932c38dff94ed1173af65051a7e7b60bb5315702f"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "fd6f5ced16e790bcb6f4634fc90252f7",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 451893,
"upload_time": "2023-12-23T18:51:23",
"upload_time_iso_8601": "2023-12-23T18:51:23.078716Z",
"url": "https://files.pythonhosted.org/packages/7d/d3/7eb9ade3f17dee4ed49ba2825b371f3aca55ca5f1f28d1abab3eee3c53bf/abch_tree_sitter-1.1.2-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6d3255f03b95a9bad63dcabc9db70f7b4154449e980c4d34bbeeea99d99c9d27",
"md5": "8681e1d4d42923cc9f17b71bd32b2cea",
"sha256": "feec4afb8d9e6d07124fcb69a0d903ec9ff19ed5dc63743192d40f2588f1871a"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "8681e1d4d42923cc9f17b71bd32b2cea",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 82586,
"upload_time": "2023-12-23T18:51:24",
"upload_time_iso_8601": "2023-12-23T18:51:24.705573Z",
"url": "https://files.pythonhosted.org/packages/6d/32/55f03b95a9bad63dcabc9db70f7b4154449e980c4d34bbeeea99d99c9d27/abch_tree_sitter-1.1.2-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2935196048c1113f81c2b44a8f5d0afcef67abe1754d2568c4e9642a5a26d73a",
"md5": "62431a97b378be70be2abe07ce16c203",
"sha256": "c0ab491cbf80fbf2b0afd35be3d072a11547e0c7739ac5185f0e9fffa5acc309"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "62431a97b378be70be2abe07ce16c203",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 93520,
"upload_time": "2023-12-23T18:51:25",
"upload_time_iso_8601": "2023-12-23T18:51:25.673453Z",
"url": "https://files.pythonhosted.org/packages/29/35/196048c1113f81c2b44a8f5d0afcef67abe1754d2568c4e9642a5a26d73a/abch_tree_sitter-1.1.2-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a9aa870cae92087057123c295b64d51f7086122cbf72d22b269c0b112fc3527",
"md5": "668859476a75d10725314276cb34409e",
"sha256": "29a3595a81123ec70e1fe4fade15d7a360dca1ab3ed22b731c03ec20cfb6703b"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "668859476a75d10725314276cb34409e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 126014,
"upload_time": "2023-12-23T18:51:27",
"upload_time_iso_8601": "2023-12-23T18:51:27.294570Z",
"url": "https://files.pythonhosted.org/packages/5a/9a/a870cae92087057123c295b64d51f7086122cbf72d22b269c0b112fc3527/abch_tree_sitter-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "77dc895abb0e8cfbcac1c7e746be36176e6a90cc152527cb93b9fd854dfadcc4",
"md5": "9e6c6b43fbcb5cf7233c9183b9924508",
"sha256": "406dfef4e1228b6ab39d04f8faddc11805fc63d4b57c38934dabbce2ee8064d9"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9e6c6b43fbcb5cf7233c9183b9924508",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 118115,
"upload_time": "2023-12-23T18:51:28",
"upload_time_iso_8601": "2023-12-23T18:51:28.643200Z",
"url": "https://files.pythonhosted.org/packages/77/dc/895abb0e8cfbcac1c7e746be36176e6a90cc152527cb93b9fd854dfadcc4/abch_tree_sitter-1.1.2-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef48c819c4178515151f4c9c458f9022f4736732f4b5851dce2727ec13136ba3",
"md5": "aba147f8f962e7aaff37292343f0cdd8",
"sha256": "87b690d0e0dfe76c68c08cb022dca53c155188928a58ebbda556cbc410da081f"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "aba147f8f962e7aaff37292343f0cdd8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 462524,
"upload_time": "2023-12-23T18:51:29",
"upload_time_iso_8601": "2023-12-23T18:51:29.876925Z",
"url": "https://files.pythonhosted.org/packages/ef/48/c819c4178515151f4c9c458f9022f4736732f4b5851dce2727ec13136ba3/abch_tree_sitter-1.1.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38e6e31755a0a7f1962a830e87a3cc9bad2471455e8808868fe255c6f57ea313",
"md5": "71bd9a8e9ea757cf2b29e25a1bbd8973",
"sha256": "a40aa76b540b04508f96f33ef8811f2ecbab8868259fefc8cb467c3300b3fcd6"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "71bd9a8e9ea757cf2b29e25a1bbd8973",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 454895,
"upload_time": "2023-12-23T18:51:31",
"upload_time_iso_8601": "2023-12-23T18:51:31.060823Z",
"url": "https://files.pythonhosted.org/packages/38/e6/e31755a0a7f1962a830e87a3cc9bad2471455e8808868fe255c6f57ea313/abch_tree_sitter-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0530a1bb792c681763ef1dabd4ebdc1956e81abee733637d3db57cb6517458af",
"md5": "804c2fd51cf345655c0c977567cb96d8",
"sha256": "1e80acfec265b97a5c2b0249abb0d63178457390329d26d69ade127b9e190729"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "804c2fd51cf345655c0c977567cb96d8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 459022,
"upload_time": "2023-12-23T18:51:32",
"upload_time_iso_8601": "2023-12-23T18:51:32.255660Z",
"url": "https://files.pythonhosted.org/packages/05/30/a1bb792c681763ef1dabd4ebdc1956e81abee733637d3db57cb6517458af/abch_tree_sitter-1.1.2-cp39-cp39-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a49e6cea6c1350cbfb146ae2fc1bd387386dbca91aeb4d84d44426cfc9a8a3f4",
"md5": "c615c2195580f708361bcdc5aa00e072",
"sha256": "497023067ae3f493f4e4556e700963a095d9237608cce3085d8c120dddd82b65"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "c615c2195580f708361bcdc5aa00e072",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 447009,
"upload_time": "2023-12-23T18:51:33",
"upload_time_iso_8601": "2023-12-23T18:51:33.489094Z",
"url": "https://files.pythonhosted.org/packages/a4/9e/6cea6c1350cbfb146ae2fc1bd387386dbca91aeb4d84d44426cfc9a8a3f4/abch_tree_sitter-1.1.2-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13781557dd6f57766d59b20bb1a790b626a33a15af6b6b4cec822453764963ba",
"md5": "7f1cff8eabe54dd8a9a3e77e694553d0",
"sha256": "6a55d1fcffce7194fcb1002b812f9aaa8180693f14948f9ecbc029e49cf72ef7"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "7f1cff8eabe54dd8a9a3e77e694553d0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 82604,
"upload_time": "2023-12-23T18:51:34",
"upload_time_iso_8601": "2023-12-23T18:51:34.879748Z",
"url": "https://files.pythonhosted.org/packages/13/78/1557dd6f57766d59b20bb1a790b626a33a15af6b6b4cec822453764963ba/abch_tree_sitter-1.1.2-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e44c7caa91f2f40606a288c77b1cadd1a06cbe09439f2bf4a083fa1deb950986",
"md5": "89bad09fe9a10af8f0ae5ff32ab9f624",
"sha256": "5a9fe2056065ced75361a5367d69ea7b255f9fb0baef9c2af1a2851ab4809c29"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "89bad09fe9a10af8f0ae5ff32ab9f624",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 93513,
"upload_time": "2023-12-23T18:51:35",
"upload_time_iso_8601": "2023-12-23T18:51:35.919367Z",
"url": "https://files.pythonhosted.org/packages/e4/4c/7caa91f2f40606a288c77b1cadd1a06cbe09439f2bf4a083fa1deb950986/abch_tree_sitter-1.1.2-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "db9ee0adfa7064efb891bc02358af2617be6be023468d8196788bcb901e43fc9",
"md5": "e85532a339453a474ff1355ae6dc6eb8",
"sha256": "5aab2212db19bb32cf184090afac943babce08d80d043ea9d0ba9245d57f14df"
},
"downloads": -1,
"filename": "abch_tree_sitter-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "e85532a339453a474ff1355ae6dc6eb8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 130330,
"upload_time": "2023-12-23T18:51:37",
"upload_time_iso_8601": "2023-12-23T18:51:37.275108Z",
"url": "https://files.pythonhosted.org/packages/db/9e/e0adfa7064efb891bc02358af2617be6be023468d8196788bcb901e43fc9/abch_tree_sitter-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-23 18:51:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Ackee-Blockchain",
"github_project": "py-tree-sitter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"lcname": "abch-tree-sitter"
}