| # Reference at | |
| # https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ | |
| # https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html | |
| [build-system] | |
| requires = [ | |
| "setuptools", | |
| "setuptools-scm", | |
| ] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "fuchsia-controller" | |
| description = "Library for controlling a Fuchsia device" | |
| requires-python = ">=3.11" | |
| dynamic = ["version"] | |
| readme = "README.md" | |
| keywords = ["fuchsia", "dev"] | |
| dependencies = [] | |
| [project.optional-dependencies] | |
| # Testing related dependencies | |
| test = [ | |
| ] | |
| # Coding guidelines related dependencies | |
| guidelines = [ | |
| "coverage==7.2.7", # for measuring code coverage using unit tests | |
| "pylint==2.17.4", # for code linting | |
| "mypy==1.3.0", # for type checking | |
| "types-colorama==0.4.6", # for type checking | |
| "jellyfish==0.11.0", # for type checking | |
| ] | |
| [tool.setuptools.packages.find] | |
| where = ["."] # list of folders that contain the packages (["."] by default) | |
| [tool.isort] | |
| # Reference at https://pycqa.github.io/isort/docs/configuration/config_files.html | |
| profile = "black" | |
| line_length = 80 | |
| [tool.mypy] | |
| # Reference at https://mypy.readthedocs.io/en/stable/config_file.html#example-pyproject-toml | |
| # Needed because dependency modules such as mobly are not pip installed | |
| ignore_missing_imports = true | |
| check_untyped_defs = true | |
| python_version = "3.11" |