Comprehensive collection of 160+ tree-sitter language parsers
Project description
Tree Sitter Language Pack
This package bundles a comprehensive collection of tree-sitter languages as both source distribution and pre-built wheels.
Support This Project
If you find tree-sitter-language-pack useful, please consider sponsoring the development:
Your support helps maintain and improve this package for the community! 🚀
Installation
pip install tree-sitter-language-pack
Important Notes
- This package started life as a maintained and updated fork of tree-sitter-languages by Grant Jenks, and it incorporates code contributed by ObserverOfTime (see this PR).
- This package is MIT licensed and the original package of which this is a fork has an Apache 2.0 License. Both licenses are available in the LICENSE file.
- All languages bundled by this package are licensed under permissive open-source licenses (MIT, Apache 2.0 etc.) only - no GPL licensed languages are included.
- This package follows the general Python life-cycle and now requires Python 3.10 or newer. We align with tree-sitter 0.25.x and newer, which dropped Python 3.9 support ahead of the upstream EOL.
Features
- 165+ Languages: Support for all major programming languages and many domain-specific languages
- Pre-built Wheels: Easy installation with no compilation required
- Type-Safe: Full typing support for better IDE integration and code safety
- Zero GPL Dependencies: All bundled languages use permissive licenses (MIT, Apache 2.0, etc.)
Usage
This library exposes three functions: get_binding, get_language, and get_parser.
from tree_sitter_language_pack import get_binding, get_language, get_parser
python_binding = get_binding("python") # this is a pycapsule object pointing to the C binding
python_lang = get_language("python") # this is an instance of tree_sitter.Language
python_parser = get_parser("python") # this is an instance of tree_sitter.Parser
See the list of available languages below to get the name of the language you want to use.
Development Setup
To work on the package locally you will need Python 3.10+ and the uv toolchain.
# Install runtime dependencies
uv sync --no-install-project
# Install the tree-sitter CLI used for code generation
npm install -g tree-sitter-cli
# Install prek hooks (Rust-based pre-commit replacement)
uv tool install prek
prek install
prek install --hook-type commit-msg
# Fetch bundled language vendors and build native extensions
uv run --no-sync scripts/clone_vendors.py
PROJECT_ROOT=. uv run setup.py build_ext --inplace
# Run the full test suite
PROJECT_ROOT=. uv run --no-sync pytest tests
# Execute all lint/format checks
prek run --all-files
Available Languages
Each language below is identified by the key used to retrieve it from the get_language and get_parser functions.
- actionscript - MIT License
- ada - MIT License
- agda - MIT License
- apex - MIT License
- arduino - MIT License
- asm - MIT License
- astro - MIT License
- bash - MIT License
- beancount - MIT License
- bibtex - MIT License
- bicep - MIT License
- bitbake - MIT License
- c - MIT License
- cairo - MIT License
- capnp - MIT License
- chatito - MIT License
- clarity - MIT License
- clojure - CC0 1.0 Universal License
- cmake - MIT License
- comment - MIT License
- commonlisp - MIT License
- cpon - MIT License
- cpp - MIT License
- csharp - MIT License
- css - MIT License
- csv - MIT License
- cuda - MIT License
- d - MIT License
- dart - MIT License
- dockerfile - MIT License
- doxygen - MIT License
- dtd - MIT License
- elisp - MIT License
- elixir - MIT License
- elm - MIT License
- embeddedtemplate - MIT License
- erlang - MIT License
- fennel - MIT License
- firrtl - Apache License 2.0
- fish - Unlicense license
- fortran - MIT License
- fsharp/fsharp_signature - MIT License
- func - MIT License
- gdscript - MIT License
- gitattributes - MIT License
- gitcommit - WTFPL License
- gitignore - MIT License
- gleam - Apache-2.0 license
- glsl - MIT License
- gn - MIT License
- go - MIT License
- gomod - MIT License
- gosum - MIT License
- graphql - MIT License
- groovy - MIT License
- gstlaunch - MIT License
- hack - MIT License
- hare - MIT License
- haskell - MIT License
- haxe - MIT License
- hcl - Apache License 2.0
- heex - MIT License
- hlsl - MIT License
- html - MIT License
- hyprlang - MIT License
- ispc - MIT License
- ini - Apache License 2.0
- janet - BSD-3-Clause license
- java - MIT License
- javascript - MIT License
- jsdoc - MIT License
- json - MIT License
- jsonnet - MIT License
- julia - MIT License
- kconfig - MIT License
- kdl - MIT License
- kotlin - MIT License
- latex - MIT License
- linkerscript - MIT License
- llvm - MIT License
- lua - MIT License
- luadoc - MIT License
- luap - MIT License
- luau - MIT License
- magik - MIT License
- make - MIT License
- markdown - MIT License
- markdown_inline - MIT License
- matlab - MIT License
- mermaid - MIT License
- meson - MIT License
- netlinx - MIT License
- nim - MPL-2.0 License
- ninja - MIT License
- nix - MIT License
- nqc - MIT License
- objc - MIT License
- ocaml/ocaml_interface - MIT License
- odin - MIT License
- org - MIT License
- pascal - MIT License
- pem - MIT License
- perl - Artistic License 2.0
- pgn - BSD-2-Clause license
- php - MIT License
- po - MIT License
- pony - MIT License
- powershell - MIT License
- printf - ISC License
- prisma - MIT License
- properties - MIT License
- proto - MIT License
- psv - MIT License
- puppet - MIT License
- purescript - MIT License
- pymanifest - MIT License
- python - MIT License
- qmldir - MIT License
- qmljs - MIT License
- query - Apache License 2.0
- r - MIT License
- racket - MIT License
- rbs - MIT License
- re2c - MIT License
- readline - MIT License
- rego - MIT License
- requirements - MIT License
- ron - Apache License 2.0
- rst - MIT License
- ruby - MIT License
- rust - MIT License
- scala - MIT License
- scheme - MIT License
- scss - MIT License
- slang - MIT License
- smali - MIT License
- smithy - MIT License
- solidity - MIT License
- sparql - MIT License
- sql - MIT License
- squirrel - MIT License
- starlark - MIT License
- svelte - MIT License
- swift - MIT License
- tablegen - MIT License
- tcl - MIT License
- test - MIT License
- thrift - MIT License
- toml - MIT License
- tsv - MIT License
- tsx - MIT License
- twig - WTFPL License
- typescript - MIT License
- typst - MIT License
- udev - MIT License
- ungrammar - MIT License
- uxntal - MIT License
- v - MIT License
- verilog - MIT License
- vhdl - MIT License
- vim - MIT License
- vue - MIT License
- wast & wat - Apache License 2.0 with LLVM-exception
- wgsl - MIT License
- xcompose - MIT License
- xml - MIT License
- yaml - MIT License
- yuck - MIT License
- zig - MIT License
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Adding new languages
- Running tests
- Submitting pull requests
License
This project is licensed under the MIT OR Apache-2.0 license. See the LICENSE file for details.
Acknowledgments
This package started as a maintained fork of tree-sitter-languages by Grant Jenks.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tree_sitter_language_pack-0.10.0.tar.gz.
File metadata
- Download URL: tree_sitter_language_pack-0.10.0.tar.gz
- Upload date:
- Size: 49.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1618b29828b64422ed6b2a11187599c5521781348fedd8420f01f6f5039a1fc
|
|
| MD5 |
62fd2407d7da05e620399bc1e86380f7
|
|
| BLAKE2b-256 |
299497948d2d8a1ebd714f84a79f185f9acf61193210afd72003eb3a109db712
|
Provenance
The following attestation bundles were made for tree_sitter_language_pack-0.10.0.tar.gz:
Publisher:
build_and_publish.yaml on Goldziher/tree-sitter-language-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tree_sitter_language_pack-0.10.0.tar.gz -
Subject digest:
a1618b29828b64422ed6b2a11187599c5521781348fedd8420f01f6f5039a1fc - Sigstore transparency entry: 598427359
- Sigstore integration time:
-
Permalink:
Goldziher/tree-sitter-language-pack@6497d5d636741757d93e20dcba90f00b9b070538 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/Goldziher
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@6497d5d636741757d93e20dcba90f00b9b070538 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tree_sitter_language_pack-0.10.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: tree_sitter_language_pack-0.10.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40f70a665d4011393ad2bb206027ed216d3fd01386b25785d5e253a1afff9e3b
|
|
| MD5 |
e4a38ae900634ca0de9b994e72088102
|
|
| BLAKE2b-256 |
24c6ef0fb0f308f1581ff33c91514714b944c47e4990b10ceac02a5f7340b17e
|
Provenance
The following attestation bundles were made for tree_sitter_language_pack-0.10.0-cp310-abi3-win_amd64.whl:
Publisher:
build_and_publish.yaml on Goldziher/tree-sitter-language-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tree_sitter_language_pack-0.10.0-cp310-abi3-win_amd64.whl -
Subject digest:
40f70a665d4011393ad2bb206027ed216d3fd01386b25785d5e253a1afff9e3b - Sigstore transparency entry: 598427364
- Sigstore integration time:
-
Permalink:
Goldziher/tree-sitter-language-pack@6497d5d636741757d93e20dcba90f00b9b070538 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/Goldziher
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@6497d5d636741757d93e20dcba90f00b9b070538 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_x86_64.whl.
File metadata
- Download URL: tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_x86_64.whl
- Upload date:
- Size: 19.5 MB
- Tags: CPython 3.10+
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
013b138503b40b0d24294a7652d5bbc998affe506fede45fa2f7d02c9b6b192c
|
|
| MD5 |
722ad4da88d193da883cea11b822c0f9
|
|
| BLAKE2b-256 |
3462033b2a380a60bcb36462074240d4434883b198bdf24d4d0b21c5df60f0c4
|
Provenance
The following attestation bundles were made for tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_x86_64.whl:
Publisher:
build_and_publish.yaml on Goldziher/tree-sitter-language-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_x86_64.whl -
Subject digest:
013b138503b40b0d24294a7652d5bbc998affe506fede45fa2f7d02c9b6b192c - Sigstore transparency entry: 598427372
- Sigstore integration time:
-
Permalink:
Goldziher/tree-sitter-language-pack@6497d5d636741757d93e20dcba90f00b9b070538 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/Goldziher
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@6497d5d636741757d93e20dcba90f00b9b070538 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_aarch64.whl.
File metadata
- Download URL: tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_aarch64.whl
- Upload date:
- Size: 19.6 MB
- Tags: CPython 3.10+
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d509cd13728034643b4296b36eb18da3e7f3d41af7ce5a5c433c79e4c84ec848
|
|
| MD5 |
68560692d7e3a6a6340c9cc740813e52
|
|
| BLAKE2b-256 |
3b8f854a3c397908a2fac74d32b6112e18d417d83ca5ac889440f83b97a08f6f
|
Provenance
The following attestation bundles were made for tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_aarch64.whl:
Publisher:
build_and_publish.yaml on Goldziher/tree-sitter-language-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tree_sitter_language_pack-0.10.0-cp310-abi3-manylinux2014_aarch64.whl -
Subject digest:
d509cd13728034643b4296b36eb18da3e7f3d41af7ce5a5c433c79e4c84ec848 - Sigstore transparency entry: 598427376
- Sigstore integration time:
-
Permalink:
Goldziher/tree-sitter-language-pack@6497d5d636741757d93e20dcba90f00b9b070538 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/Goldziher
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@6497d5d636741757d93e20dcba90f00b9b070538 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tree_sitter_language_pack-0.10.0-cp310-abi3-macosx_10_13_universal2.whl.
File metadata
- Download URL: tree_sitter_language_pack-0.10.0-cp310-abi3-macosx_10_13_universal2.whl
- Upload date:
- Size: 32.0 MB
- Tags: CPython 3.10+, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1a15c1dedf95050ba175fbfb4c6feb5e78e2382e12c970757d192ba807f9d41
|
|
| MD5 |
19b0e7a6ede0f62f05970847d073b44f
|
|
| BLAKE2b-256 |
eb7e0f2b2f02efeb7b09ef180b427a8f157f0e5fe3f1042ed200dafae444de47
|
Provenance
The following attestation bundles were made for tree_sitter_language_pack-0.10.0-cp310-abi3-macosx_10_13_universal2.whl:
Publisher:
build_and_publish.yaml on Goldziher/tree-sitter-language-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tree_sitter_language_pack-0.10.0-cp310-abi3-macosx_10_13_universal2.whl -
Subject digest:
a1a15c1dedf95050ba175fbfb4c6feb5e78e2382e12c970757d192ba807f9d41 - Sigstore transparency entry: 598427380
- Sigstore integration time:
-
Permalink:
Goldziher/tree-sitter-language-pack@6497d5d636741757d93e20dcba90f00b9b070538 -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/Goldziher
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_publish.yaml@6497d5d636741757d93e20dcba90f00b9b070538 -
Trigger Event:
release
-
Statement type: