tree-sitter-julia
Julia grammar for tree-sitter
What it is and what it does
tree-sitter-julia is a Python binding to a tree-sitter grammar for the Julia programming language. It parses Julia source code into concrete syntax trees that preserve both structure and whitespace, enabling incremental updates when code changes. The parser is built on tree-sitter, a parser generator designed for speed in editor and IDE contexts.
The package provides a low-level interface to syntax trees, making it useful for code analysis tools, linters, formatters, and language servers targeting Julia. It has no runtime dependencies and works across modern Python versions on Linux, macOS, and Windows.
Use it for:
- Building a Julia code formatter or linter that needs to preserve and analyze source structure.
- Implementing syntax highlighting or code navigation in a Julia editor plugin.
- Extracting function definitions, imports, or other structural elements from Julia files.
- Creating a language server or IDE feature that requires incremental parsing as code is edited.
- Analyzing Julia codebases for refactoring, dependency extraction, or code quality metrics.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides incremental parsing of Julia source code using tree-sitter, producing syntax trees suitable for code analysis and tooling.
Yes, if you need to parse Julia code programmatically in Python. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and offers prebuilt wheels for common platforms. Install friction is moderate but manageable. Not worth installing if you only need to run Julia code or don't require syntax-level analysis.
Install
tree-sitter-julia on PyPI
pip
pip install tree-sitter-juliauv
uv add tree-sitter-juliapoetry
poetry add tree-sitter-juliaInstalling tree-sitter-julia
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (x86_64, ARM, macOS, Linux, Windows) targeting Python 3.9+, with no runtime dependencies to manage post-install.
License in practice
MIT license is permissive; you may use, modify, and distribute this package with minimal restrictions, suitable for both open-source and proprietary projects.
Quickstart
pip install tree-sitter-julia
import tree_sitter_julia
# Parser usage depends on tree-sitter integration pattern
Requires Python 3.9 or later; compiled extension module, so installation may require a C compiler on platforms without prebuilt wheels.
Verify before relying
- Whether the parser handles all Julia language features (macros, multiple dispatch, metaprogramming) correctly.
- Performance characteristics for large Julia codebases or real-time parsing scenarios.
- Compatibility with specific Julia versions or syntax dialects.
- Exact API surface and usage patterns for the tree-sitter-julia module.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 641 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,524,826/month — #3,816 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tree_sitter_julia-0.23.1-cp39-abi3-macosx_10_9_x86_64.whl; tree_sitter_julia-0.23.1-cp39-abi3-macosx_11_0_arm64.whl; tree_sitter_julia-0.23.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; tree_sitter_julia-0.23.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; tree_sitter_julia-0.23.1-cp39-abi3-musllinux_1_2_x86_64.whl; tree_sitter_julia-0.23.1-cp39-abi3-win_amd64.whl; tree_sitter_julia-0.23.1-cp39-abi3-win_arm64.whl
Keywords: incremental, parsing, tree-sitter, julia
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
juliacallCall Julia code from Python and Python code…
permissive · top 15,000 on PyPI
tree-sitter-pythonProvides a Python grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-javaProvides a Java language grammar for…
permissive · top 5,000 on PyPI
tree-sitter-goProvides a Go language grammar for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-rubyProvides a Ruby language grammar for…
permissive · top 5,000 on PyPI
astorastor converts Python abstract syntax trees…
permissive · top 5,000 on PyPI
tree-sitter-jsonProvides a JSON grammar parser for tree-sitter,…
permissive · top 5,000 on PyPI
tree-sitter-scalaProvides a tree-sitter grammar for parsing…
permissive · top 5,000 on PyPI
tree-sitter-cProvides a C language grammar for tree-sitter,…
permissive · top 5,000 on PyPI
juliapkgManages Julia language installation and package…
permissive · top 15,000 on PyPI