1*523fa7a6SAndroid Build Coastguard Worker[build-system] 2*523fa7a6SAndroid Build Coastguard Workerrequires = [ 3*523fa7a6SAndroid Build Coastguard Worker "cmake", # For building binary targets in the wheel. 4*523fa7a6SAndroid Build Coastguard Worker "pip>=23", # For building the pip package. 5*523fa7a6SAndroid Build Coastguard Worker "pyyaml", # Imported by the kernel codegen tools. 6*523fa7a6SAndroid Build Coastguard Worker "setuptools>=63", # For building the pip package contents. 7*523fa7a6SAndroid Build Coastguard Worker "tomli", # Imported by extract_sources.py when using python < 3.11. 8*523fa7a6SAndroid Build Coastguard Worker "wheel", # For building the pip package archive. 9*523fa7a6SAndroid Build Coastguard Worker "zstd", # Imported by resolve_buck.py. 10*523fa7a6SAndroid Build Coastguard Worker] 11*523fa7a6SAndroid Build Coastguard Workerbuild-backend = "setuptools.build_meta" 12*523fa7a6SAndroid Build Coastguard Worker 13*523fa7a6SAndroid Build Coastguard Worker[project] 14*523fa7a6SAndroid Build Coastguard Workername = "executorch" 15*523fa7a6SAndroid Build Coastguard Workerdynamic = [ 16*523fa7a6SAndroid Build Coastguard Worker # setup.py will set the version. 17*523fa7a6SAndroid Build Coastguard Worker 'version', 18*523fa7a6SAndroid Build Coastguard Worker] 19*523fa7a6SAndroid Build Coastguard Workerdescription = "On-device AI across mobile, embedded and edge for PyTorch" 20*523fa7a6SAndroid Build Coastguard Workerreadme = "README-wheel.md" 21*523fa7a6SAndroid Build Coastguard Workerauthors = [ 22*523fa7a6SAndroid Build Coastguard Worker {name="PyTorch Team", email="[email protected]"}, 23*523fa7a6SAndroid Build Coastguard Worker] 24*523fa7a6SAndroid Build Coastguard Workerlicense = {file = "LICENSE"} 25*523fa7a6SAndroid Build Coastguard Workerkeywords = ["pytorch", "machine learning"] 26*523fa7a6SAndroid Build Coastguard Worker# PyPI package information. 27*523fa7a6SAndroid Build Coastguard Workerclassifiers = [ 28*523fa7a6SAndroid Build Coastguard Worker # How mature is this project? Common values are 29*523fa7a6SAndroid Build Coastguard Worker # 3 - Alpha 30*523fa7a6SAndroid Build Coastguard Worker # 4 - Beta 31*523fa7a6SAndroid Build Coastguard Worker # 5 - Production/Stable 32*523fa7a6SAndroid Build Coastguard Worker "Development Status :: 3 - Alpha", 33*523fa7a6SAndroid Build Coastguard Worker "Intended Audience :: Developers", 34*523fa7a6SAndroid Build Coastguard Worker "Intended Audience :: Education", 35*523fa7a6SAndroid Build Coastguard Worker "Intended Audience :: Science/Research", 36*523fa7a6SAndroid Build Coastguard Worker "License :: OSI Approved :: BSD License", 37*523fa7a6SAndroid Build Coastguard Worker "Topic :: Scientific/Engineering", 38*523fa7a6SAndroid Build Coastguard Worker "Topic :: Scientific/Engineering :: Mathematics", 39*523fa7a6SAndroid Build Coastguard Worker "Topic :: Scientific/Engineering :: Artificial Intelligence", 40*523fa7a6SAndroid Build Coastguard Worker "Topic :: Software Development", 41*523fa7a6SAndroid Build Coastguard Worker "Topic :: Software Development :: Libraries", 42*523fa7a6SAndroid Build Coastguard Worker "Topic :: Software Development :: Libraries :: Python Modules", 43*523fa7a6SAndroid Build Coastguard Worker "Programming Language :: C++", 44*523fa7a6SAndroid Build Coastguard Worker "Programming Language :: Python :: 3", 45*523fa7a6SAndroid Build Coastguard Worker # Update this as we support more versions of python. 46*523fa7a6SAndroid Build Coastguard Worker "Programming Language :: Python :: 3.10", 47*523fa7a6SAndroid Build Coastguard Worker "Programming Language :: Python :: 3.11", 48*523fa7a6SAndroid Build Coastguard Worker "Programming Language :: Python :: 3.12", 49*523fa7a6SAndroid Build Coastguard Worker] 50*523fa7a6SAndroid Build Coastguard Worker 51*523fa7a6SAndroid Build Coastguard Worker# Python dependencies required for use. 52*523fa7a6SAndroid Build Coastguard Workerrequires-python = ">=3.10" 53*523fa7a6SAndroid Build Coastguard Workerdependencies=[ 54*523fa7a6SAndroid Build Coastguard Worker "expecttest", 55*523fa7a6SAndroid Build Coastguard Worker "flatbuffers", 56*523fa7a6SAndroid Build Coastguard Worker "hypothesis", 57*523fa7a6SAndroid Build Coastguard Worker "mpmath==1.3.0", 58*523fa7a6SAndroid Build Coastguard Worker "numpy==1.21.3; python_version == '3.10'", 59*523fa7a6SAndroid Build Coastguard Worker "numpy==1.23.2; python_version == '3.11'", 60*523fa7a6SAndroid Build Coastguard Worker "numpy; python_version >= '3.12'", 61*523fa7a6SAndroid Build Coastguard Worker "packaging", 62*523fa7a6SAndroid Build Coastguard Worker "pandas==2.0.3; python_version == '3.10'", 63*523fa7a6SAndroid Build Coastguard Worker "pandas; python_version >= '3.11'", 64*523fa7a6SAndroid Build Coastguard Worker "parameterized", 65*523fa7a6SAndroid Build Coastguard Worker "pytest", 66*523fa7a6SAndroid Build Coastguard Worker "pytest-xdist", 67*523fa7a6SAndroid Build Coastguard Worker "pyyaml", 68*523fa7a6SAndroid Build Coastguard Worker "ruamel.yaml", 69*523fa7a6SAndroid Build Coastguard Worker "sympy", 70*523fa7a6SAndroid Build Coastguard Worker "tabulate", 71*523fa7a6SAndroid Build Coastguard Worker "torch==2.5.0", 72*523fa7a6SAndroid Build Coastguard Worker "torchaudio==2.5.0", 73*523fa7a6SAndroid Build Coastguard Worker "torchvision==0.20.0", 74*523fa7a6SAndroid Build Coastguard Worker "typing-extensions", 75*523fa7a6SAndroid Build Coastguard Worker] 76*523fa7a6SAndroid Build Coastguard Worker 77*523fa7a6SAndroid Build Coastguard Worker[project.urls] 78*523fa7a6SAndroid Build Coastguard Worker# The keys are arbitrary but will be visible on PyPI. 79*523fa7a6SAndroid Build Coastguard WorkerHomepage = "https://pytorch.org/executorch/" 80*523fa7a6SAndroid Build Coastguard WorkerRepository = "https://github.com/pytorch/executorch" 81*523fa7a6SAndroid Build Coastguard WorkerIssues = "https://github.com/pytorch/executorch/issues" 82*523fa7a6SAndroid Build Coastguard WorkerChangelog = "https://github.com/pytorch/executorch/releases" 83*523fa7a6SAndroid Build Coastguard Worker 84*523fa7a6SAndroid Build Coastguard Worker# Tell setuptools to generate commandline wrappers for tools that we install 85*523fa7a6SAndroid Build Coastguard Worker# under data/bin in the pip package. This will put these commands on the user's 86*523fa7a6SAndroid Build Coastguard Worker# path. 87*523fa7a6SAndroid Build Coastguard Worker[project.scripts] 88*523fa7a6SAndroid Build Coastguard Workerflatc = "executorch.data.bin:flatc" 89*523fa7a6SAndroid Build Coastguard Worker 90*523fa7a6SAndroid Build Coastguard Worker[tool.setuptools.package-data] 91*523fa7a6SAndroid Build Coastguard Worker# TODO(dbort): Prune /test[s]/ dirs, /third-party/ dirs, yaml files that we 92*523fa7a6SAndroid Build Coastguard Worker# don't need. 93*523fa7a6SAndroid Build Coastguard Worker"*" = [ 94*523fa7a6SAndroid Build Coastguard Worker # Some backends like XNNPACK need their .fbs files. 95*523fa7a6SAndroid Build Coastguard Worker "*.fbs", 96*523fa7a6SAndroid Build Coastguard Worker # Some kernel libraries need their .yaml files. 97*523fa7a6SAndroid Build Coastguard Worker "*.yaml", 98*523fa7a6SAndroid Build Coastguard Worker] 99*523fa7a6SAndroid Build Coastguard Worker 100*523fa7a6SAndroid Build Coastguard Worker[tool.setuptools.exclude-package-data] 101*523fa7a6SAndroid Build Coastguard Worker"*" = ["*.pyc"] 102*523fa7a6SAndroid Build Coastguard Worker 103*523fa7a6SAndroid Build Coastguard Worker[tool.usort] 104*523fa7a6SAndroid Build Coastguard Worker# Do not try to put "first-party" imports in their own section. 105*523fa7a6SAndroid Build Coastguard Workerfirst_party_detection = false 106*523fa7a6SAndroid Build Coastguard Worker 107*523fa7a6SAndroid Build Coastguard Worker[tool.black] 108*523fa7a6SAndroid Build Coastguard Worker# Emit syntax compatible with older versions of python instead of only the range 109*523fa7a6SAndroid Build Coastguard Worker# specified by `requires-python`. TODO: Remove this once we support these older 110*523fa7a6SAndroid Build Coastguard Worker# versions of python and can expand the `requires-python` range. 111*523fa7a6SAndroid Build Coastguard Workertarget-version = ["py38", "py39", "py310", "py311", "py312"] 112