[project]
name = "pymobiledevice3"
description = "Pure python3 implementation for working with iDevices (iPhone, etc...)"
readme = "README.md"
requires-python = ">=3.9"
license = "GPL-3.0-or-later"
keywords = ["ios", "protocol", "lockdownd", "instruments", "automation", "cli", "afc"]
authors = [
    { name = "doronz88", email = "doron88@gmail.com" },
    { name = "matan", email = "matan1008@gmail.com" }
]
maintainers = [
    { name = "doronz88", email = "doron88@gmail.com" },
    { name = "matan", email = "matan1008@gmail.com" }
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3 :: Only",
]
dynamic = ["dependencies", "version"]

[project.optional-dependencies]
test = ["pytest", "pytest-asyncio"]

[project.urls]
"Homepage" = "https://github.com/doronz88/pymobiledevice3"
"Bug Reports" = "https://github.com/doronz88/pymobiledevice3/issues"

[project.scripts]
pymobiledevice3 = "pymobiledevice3.__main__:main"

[tool.setuptools]
package-data = { "pymobiledevice3" = ["resources/webinspector/*.js", "resources/dsc_uuid_map.json", "resources/notifications.txt"] }

[tool.setuptools.packages.find]
exclude = ["docs*", "tests*"]

[tool.setuptools.dynamic]
dependencies = { file = ["requirements.txt"] }
version = {attr = "pymobiledevice3._version.__version__"}

[tool.setuptools_scm]
version_file = "pymobiledevice3/_version.py"

[build-system]
requires = ["setuptools>=43.0.0", "setuptools_scm>=8", "wheel"]
build-backend = "setuptools.build_meta"
