Skip to main content

Pre-compiled tree-sitter parsers for 248 programming languages with a unified process() API for parsing, analysis, and intelligent code chunking.

Project description

tree-sitter-language-pack — Python

Banner

Python bindings for tree-sitter-language-pack, providing access to 248 pre-compiled tree-sitter parsers with on-demand downloads.

Installation

pip install tree-sitter-language-pack
uv add tree-sitter-language-pack

Quick Start

from tree_sitter_language_pack import init, download, get_language, get_parser, available_languages

# Optional: Pre-download specific languages for offline use
init(["python", "javascript", "rust"])

# Get a language (auto-downloads if not cached)
language = get_language("python")

# Get a pre-configured parser (auto-downloads if needed)
parser = get_parser("python")
tree = parser.parse(b"def hello(): pass")
print(tree.root_node.sexp())

# List all available languages
for lang in available_languages():
    print(lang)

from tree_sitter_language_pack import process, ProcessConfig

# Extract file intelligence (auto-downloads language if needed)
result = process("def hello(): pass", ProcessConfig(language="python"))
print(f"Functions: {len(result['structure'])}")

# Pre-download languages for offline use
download(["python", "javascript"])

# With chunking
result = process(source, ProcessConfig(language="python", chunk_max_size=1000, comments=True))
print(f"Chunks: {len(result['chunks'])}")

API Reference

Language Discovery

  • available_languages() -- list all supported language names
  • has_language(name) -- check if a language is available
  • language_count() -- total number of supported languages

Language Detection

  • detect_language(path) -- detect language from file path
  • detect_language_from_content(content) -- detect language from shebang line
  • extension_ambiguity(ext) -- check if an extension is ambiguous (returns assigned language + alternatives)

Parsing

  • get_parser(name) / parse_string(source, language) -- parse source code into a syntax tree

Download API

  • init(languages) -- pre-download specific languages for offline use
  • download(languages) -- download parsers on demand

Intelligence

  • process(source, config) -- extract structured analysis (functions, classes, imports, comments, chunks) from source code

Syntax Highlighting Queries

  • get_highlights_query(language) -- get bundled highlights.scm query for a language
  • get_injections_query(language) -- get bundled injections.scm query
  • get_locals_query(language) -- get bundled locals.scm query

For full documentation, see kreuzberg.dev.

License

MIT -- see LICENSE for details.


Part of tree-sitter-language-pack -- A comprehensive collection of tree-sitter language parsers with polyglot bindings.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tree_sitter_language_pack-1.2.1-cp310-abi3-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10+Windows x86-64

tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ x86-64

tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ ARM64

tree_sitter_language_pack-1.2.1-cp310-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file tree_sitter_language_pack-1.2.1-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter_language_pack-1.2.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d204b05f108bdfa5064c75f75b4c5928bbdeec6a7cc7e41b466e241552bdd0da
MD5 39013327ff69385651ff52d7abab96fc
BLAKE2b-256 b79acb5f692f6e360d2265f3666e04640b1d67b57801051d7e47378647d435fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_sitter_language_pack-1.2.1-cp310-abi3-win_amd64.whl:

Publisher: publish.yaml on kreuzberg-dev/tree-sitter-language-pack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9faced4cfe4cd8d170c70477ed402b5fed628dca26cbbba7e2b1dff59158b1de
MD5 7157fc8b6f12dd5490a42e1eb2d213a1
BLAKE2b-256 cf63c4c90e468a75dadf0b2623c1c40ff0995cb63069dca0a9b1e0492428ad73

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_x86_64.whl:

Publisher: publish.yaml on kreuzberg-dev/tree-sitter-language-pack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 607539e3d2fed48fcbb97f49b7e7a89af5d5110618b4a64494afe40347fc2236
MD5 363b5abb233fff0204fdf9d2cc7e2d07
BLAKE2b-256 be529f7dfc6dcb0f70775cc0d1562adfc2a85685bea09dde47aefb2edc5d7fcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_sitter_language_pack-1.2.1-cp310-abi3-manylinux_2_34_aarch64.whl:

Publisher: publish.yaml on kreuzberg-dev/tree-sitter-language-pack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_sitter_language_pack-1.2.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter_language_pack-1.2.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1555d532e477e96e50389226deef757657b3029249461137c8b928551bef0eb2
MD5 bc2f001b1cbf8f497dc2b813fc3967af
BLAKE2b-256 e303983560c21a99da1506e2d795c3034ee2ecd3a6f1fe0070afad4cf250fb48

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_sitter_language_pack-1.2.1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yaml on kreuzberg-dev/tree-sitter-language-pack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page