[build-system] requires = ["scikit-build-core ~= 0.12.2", "cffi >= 1.0.3;implementation_name == 'cpython'"] build-backend = "scikit_build_core.build" [project] name = "pyvex" description = "A Python interface to libVEX and VEX IR" license = "BSD-2-Clause AND GPL-2.0-or-later" license-files = [ "LICENSE", "pyvex_c/LICENSE", "vex/LICENSE.README", "vex/LICENSE.GPL", ] classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] requires-python = ">=3.12" dependencies = [ "bitstring", "cffi>=1.0.3;implementation_name == 'cpython'", ] dynamic = ["version"] [project.readme] file = "README.md" content-type = "text/markdown" [project.urls] Homepage = "https://api.angr.io/projects/pyvex/en/latest/" Repository = "https://github.com/angr/pyvex" [project.optional-dependencies] fuzzing = [ "atheris>=2.3.0", ] [dependency-groups] dev = [ "pytest>=8.4.1", ] docs = [ "furo", "myst-parser", "sphinx", "sphinx-autodoc-typehints", ] [tool.scikit-build] build-dir = "scikit_build" [tool.scikit-build.sdist] include = [ "pyvex/py.typed", "pyvex/include/*", ] exclude = [ "tests*" ] [tool.scikit-build.wheel] py-api = "cp312" [tool.scikit-build.metadata.version] provider = "scikit_build_core.metadata.regex" input = "pyvex/__init__.py" [tool.cibuildwheel.pyodide] build = "cp314-*" test-groups = ["dev"] test-command = "pytest {project}/tests" [tool.black] line-length = 120 force-exclude = ''' /( vex )/ ''' [tool.ruff] line-length = 120 [tool.ruff.lint] select = [ "E", "F", "I", "TID", ]