[project] name = "focaccia" version = "0.1.0" requires-python = "==3.12.*" description = "Symbolic Tester for QEMU" readme = {file = "README.md", content-type = "text/markdown"} authors = [ {name = "Theofilos Augoustis", email = "theofilos.augoustis@gmail.com"}, {name = "Christian Krinitsin", email="christian.krinitsin@tum.de"}, {name = "Sebastian Reimers", email="sebastian.reimers@in.tum.de"}, {name = "Nicola Crivellin", email="nicola.crivellin98@gmail.com"}, {name = "Alp Berkman", email="alpberkman@gmail.com"} ] dependencies = [ "cffi", "miasm", "orjson", "brotli", 'msgpack', "pycapnp", "pyroaring", "setuptools", "python-ptrace", "cpuid @ git+https://github.com/taugoust/cpuid.py.git@master", ] [project.optional-dependencies] dev = [ "ruff", "black", "pytest", "pyright", ] [project.scripts] focaccia = "focaccia.cli:main" convert = "focaccia.tools.convert:main" validate-qemu = "focaccia.tools.validate_qemu:main" capture-transforms = "focaccia.tools.capture_transforms:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.uv] environments = [ "sys_platform == 'linux' and platform_machine == 'x86_64'", "sys_platform == 'linux' and platform_machine == 'aarch64'", ] [tool.uv.sources] miasm = { path = "./miasm" } [tool.hatch.metadata] allow-direct-references = true [tool.hatch.envs.default] dependencies = [ "ruff", "black", "pyright", ] # Formatter [tool.black] line-length = 100 target-version = ["py312"] [tool.ruff] line-length = 100 exclude = ["__pycache__", "result"] src = ["src"] [tool.pyright] typeCheckingMode = "standard" reportMissingImports = true reportMissingTypeStubs = false useLibraryCodeForTypes = true executionEnvironments = [ {root = "src"} ] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"]