aravagarwal/CodeCloakPII
0
1from os.path import isdir, join2from platform import system3 4from setuptools import Extension, find_packages, setup5from setuptools.command.build import build6from wheel.bdist_wheel import bdist_wheel7 8 9class Build(build):10 def run(self):11 if isdir("queries"):12 dest = join(self.build_lib, "tree_sitter_python", "queries")13 self.copy_tree("queries", dest)14 super().run()15 16 17class BdistWheel(bdist_wheel):18 def get_tag(self):19 python, abi, platform = super().get_tag()20 if python.startswith("cp"):21 python, abi = "cp38", "abi3"22 return python, abi, platform23 24 25setup(26 packages=find_packages("bindings/python"),27 package_dir={"": "bindings/python"},28 package_data={29 "tree_sitter_python": ["*.pyi", "py.typed"],30 "tree_sitter_python.queries": ["*.scm"],31 },32 ext_package="tree_sitter_python",33 ext_modules=[34 Extension(35 name="_binding",36 sources=[37 "bindings/python/tree_sitter_python/binding.c",38 "src/parser.c",39 "src/scanner.c",40 ],41 extra_compile_args=(42 ["-std=c11"] if system() != 'Windows' else []43 ),44 define_macros=[45 ("Py_LIMITED_API", "0x03080000"),46 ("PY_SSIZE_T_CLEAN", None)47 ],48 include_dirs=["src"],49 py_limited_api=True,50 )51 ],52 cmdclass={53 "build": Build,54 "bdist_wheel": BdistWheel55 },56 zip_safe=False,57)58 