blob: ca152c1be5747955144cad453201e8e87ae9c943 [file] [log] [blame]
# Reference at https://peps.python.org/pep-0621/
[build-system]
requires = ["setuptools", "setuptools-scm[toml]"]
build-backend = "setuptools.build_meta"
[project]
name = "antlion"
description = "Host-driven, hardware-agnostic Fuchsia connectivity tests"
requires-python = ">=3.8"
license = {text = "Apache-2.0"}
dynamic = ["version"]
readme = "README.md"
dependencies = [
"mobly==1.12.0",
"pyyaml>=5.1",
"tenacity~=8.0",
]
[project.optional-dependencies]
# Required to support development tools
dev = [
"autoflake~=2.1", # remove unused code
"black~=23.3", # code formatting
"isort~=5.12", # import sorting
"mock~=5.0", # required for unit tests
"mypy~=1.3", # static type checking
"shiv~=1.0", # packaging python
"toml==0.10.2", # required for pyproject.toml
"vulture~=2.7", # finds unused code
# Library stubs for type checking
"types-PyYAML~=6.0",
"types-mock~=5.0",
"types-psutil~=5.9",
]
digital_loggers_pdu = ["dlipower"]
html_graphing = ["bokeh"]
flash = ["usbinfo"]
mdns = ["psutil", "zeroconf"]
android = [
"numpy",
"scapy",
]
[tool.setuptools.packages.find]
where = ["packages"]
[tool.autoflake]
imports = [
"antlion",
"dataclasses",
"dlipower",
"mobly",
"mock",
"numpy",
"scapy",
"tenacity",
"usbinfo",
"zeroconf",
]
[tool.isort]
profile = "black"
known_local_folder = ["antlion"]
[tool.mypy]
mypy_path = "stubs"
python_version = "3.11"
warn_redundant_casts = true
check_untyped_defs = true
exclude = [
# TODO(http://b/285950835): Fix typing of relevant Fuchsia-related utilities and
# tests
"packages/antlion/unit_tests/",
"tests/dhcp/Dhcpv4DuplicateAddressTest.py",
"tests/dhcp/Dhcpv4InteropBasicTest.py",
"tests/dhcp/Dhcpv4InteropCombinatorialOptionsTest.py",
"tests/netstack/NetstackIfaceTest.py",
"tests/wlan/functional/BeaconLossTest.py",
"tests/wlan/functional/DownloadStressTest.py",
"tests/wlan/functional/WlanRebootTest.py",
"tests/wlan/functional/WlanWirelessNetworkManagementTest.py",
"tests/wlan/performance/WlanRvrTest.py",
"tests/wlan/performance/WlanWmmTest.py",
# TODO(http://b/274619290): Remove the following files when the migration from ACTS
# to Mobly is complete.
"packages/antlion/base_test.py",
"packages/antlion/config_parser.py",
"packages/antlion/context.py",
"packages/antlion/logger.py",
"packages/antlion/records.py",
"packages/antlion/test_decorators.py",
"packages/antlion/test_runner.py",
"packages/antlion/libs/yaml_writer.py",
# TODO(http://b/285950976): Fix typing of non-Fuchsia related controllers and test
# utilities, or remove if no longer relevant.
"packages/antlion/controllers/adb.py",
"packages/antlion/controllers/android_device.py",
"packages/antlion/controllers/android_lib/tel/tel_utils.py",
"packages/antlion/controllers/attenuator_lib/_tnhelper.py",
"packages/antlion/controllers/attenuator_lib/minicircuits/http.py",
"packages/antlion/controllers/iperf_server.py",
"packages/antlion/controllers/packet_sender.py",
"packages/antlion/controllers/pdu_lib/digital_loggers/webpowerswitch.py",
"packages/antlion/controllers/pdu_lib/synaccess/np02b.py",
"packages/antlion/controllers/sl4a_lib/event_dispatcher.py",
"packages/antlion/controllers/sl4a_lib/rpc_client.py",
"packages/antlion/controllers/sl4a_lib/sl4a_manager.py",
"packages/antlion/controllers/sniffer_lib/local/tcpdump.py",
"packages/antlion/controllers/sniffer_lib/local/tshark.py",
"packages/antlion/controllers/utils_lib/commands/route.py",
"packages/antlion/libs/logging/log_stream.py",
"packages/antlion/libs/ota/ota_runners/ota_runner_factory.py",
"packages/antlion/libs/ota/ota_tools/ota_tool_factory.py",
"packages/antlion/libs/proc/job.py",
"packages/antlion/libs/proc/process.py",
"packages/antlion/test_utils/net/net_test_utils.py",
"packages/antlion/test_utils/wifi/wifi_performance_test_utils/__init__.py",
"packages/antlion/test_utils/wifi/wifi_performance_test_utils/bokeh_figure.py",
"packages/antlion/test_utils/wifi/wifi_performance_test_utils/brcm_utils.py",
"packages/antlion/test_utils/wifi/wifi_performance_test_utils/ping_utils.py",
"packages/antlion/test_utils/wifi/wifi_performance_test_utils/qcom_utils.py",
"packages/antlion/test_utils/wifi/wifi_test_utils.py",
"packages/antlion/utils.py",
"setup.py",
"stubs/mobly/",
]
[tool.vulture]
paths = ["packages", "tests"]
sort_by_size = true
min_confidence = 80