mirror of
https://github.com/mvt-project/mvt.git
synced 2026-02-12 16:42:45 +00:00
116 lines
2.9 KiB
TOML
116 lines
2.9 KiB
TOML
[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.3.0",
|
|
"rich==14.1.0",
|
|
"tld==0.13.1",
|
|
"requests==2.32.5",
|
|
"simplejson==3.20.2",
|
|
"packaging==25.0",
|
|
"appdirs==1.4.4",
|
|
"iOSbackup==0.9.925",
|
|
"adb-shell[usb]==0.4.4",
|
|
"libusb1==3.3.1",
|
|
"cryptography==46.0.3",
|
|
"PyYAML>=6.0.2",
|
|
"pyahocorasick==2.2.0",
|
|
"betterproto==1.2.5",
|
|
"pydantic==2.12.3",
|
|
"pydantic-settings==2.10.1",
|
|
"NSKeyedUnArchiver==1.5.2",
|
|
"python-dateutil==2.9.0.post0",
|
|
"tzdata==2025.2",
|
|
]
|
|
requires-python = ">= 3.10"
|
|
|
|
[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"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"requests>=2.31.0",
|
|
"pytest>=7.4.3",
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-github-actions-annotate-failures>=0.2.0",
|
|
"pytest-mock>=3.14.0",
|
|
"stix2>=3.0.1",
|
|
"ruff>=0.1.6",
|
|
"mypy>=1.7.1",
|
|
"betterproto[compiler]",
|
|
]
|
|
|
|
[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]
|
|
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.per-file-ignores]
|
|
"__init__.py" = ["F401"] # unused-import
|
|
|
|
[tool.ruff.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" }
|