tree-sitter-sparql


Nametree-sitter-sparql JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummarySPARQL grammar for tree-sitter
upload_time2025-10-06 15:33:28
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords tree-sitter sparql parser incremental
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tree-sitter SPARQL

Python bindings for the tree-sitter SPARQL grammar.

This is based on the original repo here: https://github.com/GordianDziwis/tree-sitter-sparql - but updated to work with more recent versions of tree-sitter.

## Installation

Install from source:

```bash
git clone https://github.com/yourusername/tree_sitter_sparql
cd tree_sitter_sparql
pip install .
```

## Usage (tree-sitter 0.21.0+)

If you're using tree-sitter version 0.21.0 or later:

```python
import tree_sitter_sparql
from tree_sitter import Language, Parser

# Initialize the language
SPARQL_LANGUAGE = Language(tree_sitter_sparql.language())

# Create parser
parser = Parser(SPARQL_LANGUAGE)

# Parse SPARQL query
query = b"""
SELECT ?subject ?predicate ?object
WHERE {
  ?subject ?predicate ?object .
}
LIMIT 10
"""

tree = parser.parse(query)

# Walk the syntax tree
cursor = tree.walk()

def walk_tree(cursor, depth=0):
    node = cursor.node
    print("  " * depth + f"{node.type}: {node.text.decode('utf8')[:50]}")

    if cursor.goto_first_child():
        walk_tree(cursor, depth + 1)
        cursor.goto_parent()

    if cursor.goto_next_sibling():
        walk_tree(cursor, depth)

walk_tree(cursor)
```

## Requirements

- Python 3.8+
- tree-sitter

## Development

To build from source:

```bash
# Install in development mode
pip install -e .

# Run tests (if available)
pytest
```

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tree-sitter-sparql",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "tree-sitter, sparql, parser, incremental",
    "author": null,
    "author_email": "Etienne Posthumus <ep@epoz.org>",
    "download_url": "https://files.pythonhosted.org/packages/6f/9e/9122d41adb037ea0d08c580264d608b16e26abd01bf94536c673b342d67c/tree_sitter_sparql-0.1.0.tar.gz",
    "platform": null,
    "description": "# Tree-sitter SPARQL\n\nPython bindings for the tree-sitter SPARQL grammar.\n\nThis is based on the original repo here: https://github.com/GordianDziwis/tree-sitter-sparql - but updated to work with more recent versions of tree-sitter.\n\n## Installation\n\nInstall from source:\n\n```bash\ngit clone https://github.com/yourusername/tree_sitter_sparql\ncd tree_sitter_sparql\npip install .\n```\n\n## Usage (tree-sitter 0.21.0+)\n\nIf you're using tree-sitter version 0.21.0 or later:\n\n```python\nimport tree_sitter_sparql\nfrom tree_sitter import Language, Parser\n\n# Initialize the language\nSPARQL_LANGUAGE = Language(tree_sitter_sparql.language())\n\n# Create parser\nparser = Parser(SPARQL_LANGUAGE)\n\n# Parse SPARQL query\nquery = b\"\"\"\nSELECT ?subject ?predicate ?object\nWHERE {\n  ?subject ?predicate ?object .\n}\nLIMIT 10\n\"\"\"\n\ntree = parser.parse(query)\n\n# Walk the syntax tree\ncursor = tree.walk()\n\ndef walk_tree(cursor, depth=0):\n    node = cursor.node\n    print(\"  \" * depth + f\"{node.type}: {node.text.decode('utf8')[:50]}\")\n\n    if cursor.goto_first_child():\n        walk_tree(cursor, depth + 1)\n        cursor.goto_parent()\n\n    if cursor.goto_next_sibling():\n        walk_tree(cursor, depth)\n\nwalk_tree(cursor)\n```\n\n## Requirements\n\n- Python 3.8+\n- tree-sitter\n\n## Development\n\nTo build from source:\n\n```bash\n# Install in development mode\npip install -e .\n\n# Run tests (if available)\npytest\n```\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "SPARQL grammar for tree-sitter",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/epoz/tree_sitter_sparql"
    },
    "split_keywords": [
        "tree-sitter",
        " sparql",
        " parser",
        " incremental"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6c1df3c8c06a669ad028e8a4f5caaf51997ca550eeba691a1e86ef4fcf65df2",
                "md5": "397f7b7ea44fab8d6ee28358dca36d18",
                "sha256": "ae07fb07ec653e2b7412fef8ccc65b99543fd7396ddc9c8182d8cfab3e82f7e0"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "397f7b7ea44fab8d6ee28358dca36d18",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 48543,
            "upload_time": "2025-10-06T15:44:36",
            "upload_time_iso_8601": "2025-10-06T15:44:36.454883Z",
            "url": "https://files.pythonhosted.org/packages/b6/c1/df3c8c06a669ad028e8a4f5caaf51997ca550eeba691a1e86ef4fcf65df2/tree_sitter_sparql-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "03e8bb14752a7788d2bc37a7d5ac1d42d0432bc28eecec6a516bf943b7995d25",
                "md5": "bbb801c45f83cc465bdc389a00ccabc6",
                "sha256": "237fec9e171ba0b690518df33e643a4da2c0c58a316b4007e98e251999bfb038"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bbb801c45f83cc465bdc389a00ccabc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 49482,
            "upload_time": "2025-10-06T15:44:37",
            "upload_time_iso_8601": "2025-10-06T15:44:37.381626Z",
            "url": "https://files.pythonhosted.org/packages/03/e8/bb14752a7788d2bc37a7d5ac1d42d0432bc28eecec6a516bf943b7995d25/tree_sitter_sparql-0.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a5134c195bad25e6f79739b6586c215e8f694cbdae85faa3128259276ca212a1",
                "md5": "94f983a39b078e7b2302ac669af4d704",
                "sha256": "3da9b0a474908f3b226354cfe8f5e7aa385e65f55b0d8351f368bb0edaeced22"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "94f983a39b078e7b2302ac669af4d704",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 48547,
            "upload_time": "2025-10-06T15:44:38",
            "upload_time_iso_8601": "2025-10-06T15:44:38.224411Z",
            "url": "https://files.pythonhosted.org/packages/a5/13/4c195bad25e6f79739b6586c215e8f694cbdae85faa3128259276ca212a1/tree_sitter_sparql-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dc85a3fb09ec3fe7dbb83eac73cf3b5e9e7219d6403ba12cc8abaa69c135504c",
                "md5": "c60cda1bed039c4ae3e8cc53d2d50376",
                "sha256": "0383eb5e0f8c1cf880d15ecefe4a63cf6676560af70bfb626891f26acb222888"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c60cda1bed039c4ae3e8cc53d2d50376",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 49477,
            "upload_time": "2025-10-06T15:44:39",
            "upload_time_iso_8601": "2025-10-06T15:44:39.068167Z",
            "url": "https://files.pythonhosted.org/packages/dc/85/a3fb09ec3fe7dbb83eac73cf3b5e9e7219d6403ba12cc8abaa69c135504c/tree_sitter_sparql-0.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6219b28f45eb1a10d5bbe093716e02bf341618ffa36dc3d3f19f0e4eddd7460c",
                "md5": "6dc5b205a92de727b22c676d69a278e1",
                "sha256": "9566a809d9073aec1cf734fd7b3481b7d18524cde21f64c1c491c8419c5d78d1"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6dc5b205a92de727b22c676d69a278e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 48546,
            "upload_time": "2025-10-06T15:44:39",
            "upload_time_iso_8601": "2025-10-06T15:44:39.870391Z",
            "url": "https://files.pythonhosted.org/packages/62/19/b28f45eb1a10d5bbe093716e02bf341618ffa36dc3d3f19f0e4eddd7460c/tree_sitter_sparql-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5fac2e8caa3b716433eed7d65dbe833af53da0527fae2b39be00f4ff3c0178a3",
                "md5": "42b202f768b1efbfb7dd98280ef97919",
                "sha256": "9e2fc6530ca28330587e224ca3c535b09611be600257ab0426a10e8c28ec7d4a"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "42b202f768b1efbfb7dd98280ef97919",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 49483,
            "upload_time": "2025-10-06T15:44:40",
            "upload_time_iso_8601": "2025-10-06T15:44:40.743992Z",
            "url": "https://files.pythonhosted.org/packages/5f/ac/2e8caa3b716433eed7d65dbe833af53da0527fae2b39be00f4ff3c0178a3/tree_sitter_sparql-0.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "55095e38581adb01d1a7b6c47f7b9bfc25f1aab1e95f725f439cb0997be99291",
                "md5": "ccc0f5af136c0b46a8dc98f941f8118c",
                "sha256": "d6ff4b9ea246f1947a97497c6c00cc33e014f02fde68128e310cb29c368e4e12"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ccc0f5af136c0b46a8dc98f941f8118c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 48539,
            "upload_time": "2025-10-06T15:44:41",
            "upload_time_iso_8601": "2025-10-06T15:44:41.539824Z",
            "url": "https://files.pythonhosted.org/packages/55/09/5e38581adb01d1a7b6c47f7b9bfc25f1aab1e95f725f439cb0997be99291/tree_sitter_sparql-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7ae1490fac5f7d8d8fad2411742a7de9d8f56fa74c0488aee8fc85c00412273b",
                "md5": "83387ed48f9238828eac86ffcff8b93d",
                "sha256": "1173e0984291dbf5bae7842b7d316d18fa8dbe94f5be2d2bc390838e4c053fdd"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "83387ed48f9238828eac86ffcff8b93d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 49474,
            "upload_time": "2025-10-06T15:44:42",
            "upload_time_iso_8601": "2025-10-06T15:44:42.835273Z",
            "url": "https://files.pythonhosted.org/packages/7a/e1/490fac5f7d8d8fad2411742a7de9d8f56fa74c0488aee8fc85c00412273b/tree_sitter_sparql-0.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6f9e9122d41adb037ea0d08c580264d608b16e26abd01bf94536c673b342d67c",
                "md5": "d127836ee1c6ac177e72e712cdf3c5ec",
                "sha256": "ab96caa8b123661d81f53fe6491a1ba631b4a9b8e2171cb07d58bc3c72d44e91"
            },
            "downloads": -1,
            "filename": "tree_sitter_sparql-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d127836ee1c6ac177e72e712cdf3c5ec",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 103914,
            "upload_time": "2025-10-06T15:33:28",
            "upload_time_iso_8601": "2025-10-06T15:33:28.879241Z",
            "url": "https://files.pythonhosted.org/packages/6f/9e/9122d41adb037ea0d08c580264d608b16e26abd01bf94536c673b342d67c/tree_sitter_sparql-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-06 15:33:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "epoz",
    "github_project": "tree_sitter_sparql",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tree-sitter-sparql"
}
        
Elapsed time: 0.99248s