
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
tree-sitter-language-pack
Advanced tools
This package bundles a comprehensive collection of tree-sitter languages as both source distribution and pre-built wheels.
pip install tree-sitter-language-pack
This library exposes two functions 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.
Each language below is identified by the key used to retrieve it from the get_language
and get_parser
functions.
This library is open to contribution. Feel free to open issues or submit PRs. It's better to discuss issues before submitting PRs to avoid disappointment.
uv sync --no-install-project
pre-commit install && pre-commit install --hook-type commit-msg
uv run --no-sync scripts/clone_vendors.py
PROJECT_ROOT=. uv run setup.py build_ext --inplace
To run the tests, execute the following command:
PROJECT_ROOT=. uv run --no-sync pytest tests
Some bindings are installed via UV and are added to the package dependencies in the pyproject.toml file.
To add an installed package follow these steps:
uv add <bindings_package_name> --no-install-project
.uv run --no-sync scripts/clone_vendors.py
.InstalledBindings
and the installed_bindings_map
dictionary in the
__init .py _ file.uv run --no-sync setup.py build_ext --inplace
.{
"name": {
"repo": "https://github.com/...",
"branch": "master", // not mandatory
"directory": "sub-dir/something", // not mandatory
"generate": true, // not mandatory
},
}
repo
is the URL of the tree-sitter repository. This value is mandatorybranch
the branch of the repository to check out. You should specify this only when the branch is not called main
(
i.e. for master
or other names, specify this).directory
is the directory under which there is an src
folder. This should be specified only in cases where
the src
folder is not immediately under the root folder.generate
is a flag that dictates whether the tree-sitter-cli
generate command should be executed in the given
repository / directory combo. This should be specified only if the binding needs to be built in the repository.SupportedLanguage
literal type in the init.py file.uv sync --no-install-project -v
uv run --no-sync scripts/clone_vendors.py
.PROJECT_ROOT=. uv run setup.py build_ext --inplace
.FAQs
Extensive Language Pack for Tree-Sitter
We found that tree-sitter-language-pack demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.