[project] name = "mvt" dynamic = ["version"] authors = [ {name = "Claudio Guarnieri", email = "nex@nex.sx"} ] maintainers = [ {name = "Etienne Maynier", email = "tek@randhome.io"}, {name = "Donncha Ó Cearbhaill", email = "donncha.ocearbhaill@amnesty.org"}, {name = "Rory Flynn", email = "rory.flynn@amnesty.org"} ] description = "Mobile Verification Toolkit" readme = "README.md" keywords = ["security", "mobile", "forensics", "malware"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Information Technology", "Operating System :: OS Independent", "Programming Language :: Python" ] dependencies = [ "click >=8.1.3", "rich >=12.6.0", "tld >=0.12.6", "requests >=2.28.1", "simplejson >=3.17.6", "packaging >=21.3", "appdirs >=1.4.4", "iOSbackup >=0.9.923", "adb-shell[usb] >=0.4.3", "libusb1 >=3.0.0", "cryptography >=42.0.5", "pyyaml >=6.0", "pyahocorasick >= 2.0.0", "betterproto >=1.2.0", "pydantic >= 2.10.0", "pydantic-settings >= 2.7.0", 'backports.zoneinfo; python_version < "3.9"', ] requires-python = ">= 3.8" [project.urls] homepage = "https://docs.mvt.re/en/latest/" repository = "https://github.com/mvt-project/mvt" [project.scripts] mvt-ios = "mvt.ios:cli" mvt-android = "mvt.android:cli" [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.coverage.run] omit = [ "tests/*", ] [tool.coverage.html] directory= "htmlcov" [tool.mypy] install_types = true non_interactive = true ignore_missing_imports = true packages = "src" [tool.pytest.ini_options] addopts = "-ra -q --cov=mvt --cov-report html --junitxml=pytest.xml --cov-report=term-missing:skip-covered" testpaths = [ "tests" ] [tool.ruff.lint] select = ["C90", "E", "F", "W"] # flake8 default set ignore = [ "E501", # don't enforce line length violations "C901", # complex-structure # These were previously ignored but don't seem to be required: # "E265", # no-space-after-block-comment # "F401", # unused-import # "E127", # not included in ruff # "W503", # not included in ruff # "E226", # missing-whitespace-around-arithmetic-operator # "E203", # whitespace-before-punctuation ] [tool.ruff.lint.per-file-ignores] "__init__.py" = ["F401"] # unused-import [tool.ruff.lint.mccabe] max-complexity = 10 [tool.setuptools] include-package-data = true package-dir = {"" = "src"} [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] mvt = ["ios/data/*.json"] [tool.setuptools.dynamic] version = {attr = "mvt.common.version.MVT_VERSION"}