xref: /aosp_15_r20/external/executorch/pyproject.toml (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
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