From 329919b82d1643de541ed23289a7279dc4c598d3 Mon Sep 17 00:00:00 2001 From: ObserverOfTime Date: Fri, 19 Sep 2025 21:37:36 +0300 Subject: [PATCH] feat: add version string --- pyproject.toml | 18 +++++++++--------- setup.py | 6 ++++++ tree_sitter/__init__.pyi | 2 ++ tree_sitter/binding/module.c | 2 ++ 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9ec377c6..96be34f0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,3 @@ -[build-system] -requires = ["setuptools>=43"] -build-backend = "setuptools.build_meta" - [project] name = "tree-sitter" version = "0.25.1" @@ -34,13 +30,17 @@ email = "maxbrunsfeld@gmail.com" [project.optional-dependencies] docs = ["sphinx~=8.1", "sphinx-book-theme"] tests = [ - "tree-sitter-html>=0.23.2", - "tree-sitter-javascript>=0.23.1", - "tree-sitter-json>=0.24.8", - "tree-sitter-python>=0.23.6", - "tree-sitter-rust>=0.23.2", + "tree-sitter-html==0.23.2", + "tree-sitter-javascript==0.25.0", + "tree-sitter-json==0.24.8", + "tree-sitter-python==0.25.0", + "tree-sitter-rust==0.24.0", ] +[build-system] +requires = ["setuptools>=43"] +build-backend = "setuptools.build_meta" + [tool.ruff] target-version = "py310" line-length = 100 diff --git a/setup.py b/setup.py index 7a921fed..76e1ce30 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,11 @@ from setuptools import Extension, setup # type: ignore from setuptools.command.build_ext import build_ext +with open("pyproject.toml") as f: + next(f) # skip [project] + next(f) # skip name = "tree-sitter" + version = next(f).replace("version = ", "", 1) + class BuildExt(build_ext): def build_extension(self, ext: Extension): @@ -57,6 +62,7 @@ def build_extension(self, ext: Extension): ("_DEFAULT_SOURCE", None), ("PY_SSIZE_T_CLEAN", None), ("TREE_SITTER_HIDE_SYMBOLS", None), + ("PY_TS_VERSION", version), ], ) ], diff --git a/tree_sitter/__init__.pyi b/tree_sitter/__init__.pyi index f68eac62..43435ab5 100644 --- a/tree_sitter/__init__.pyi +++ b/tree_sitter/__init__.pyi @@ -414,3 +414,5 @@ class Range: LANGUAGE_VERSION: Final[int] MIN_COMPATIBLE_LANGUAGE_VERSION: Final[int] + +__version__: Final[str] diff --git a/tree_sitter/binding/module.c b/tree_sitter/binding/module.c index ab9990a7..55fb515c 100644 --- a/tree_sitter/binding/module.c +++ b/tree_sitter/binding/module.c @@ -158,6 +158,8 @@ PyMODINIT_FUNC PyInit__binding(void) { PyModule_AddIntConstant(module, "MIN_COMPATIBLE_LANGUAGE_VERSION", TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION); + PyModule_AddStringConstant(module, "__version__", PY_TS_VERSION); + #ifdef Py_GIL_DISABLED PyUnstable_Module_SetGIL(module, Py_MOD_GIL_USED); #endif