[build-system] requires = ["setuptools >= 65", "setuptools_scm[toml] >= 6.2"] build-backend = "setuptools.build_meta" [project] name = "lisa" description = "Linux Integration Services Automation" classifiers = [ "Programming Language :: Python :: 3", "Development Status :: 5 - Production/Stable", "Topic :: Software Development :: Testing", ] dependencies = [ "assertpy ~= 1.1", "func-timeout ~= 4.3.5", "dataclasses-json ~= 0.5.2", "paramiko ~= 2.12.0", "pluggy ~= 0.13.1", "python-dateutil ~= 2.8.1", "pytest-html >= 3.2.0", "PyYAML ~= 6.0.1", "randmac ~= 0.1", "retry ~= 0.9.2", "semver ~= 2.13.0", "simpleeval ~= 0.9.12", "spurplus ~= 2.3.4", "websockets ~= 10.3", ] dynamic = ["version"] license = {text = "MIT"} readme = "README.rst" requires-python = ">=3.8" [project.optional-dependencies] aws = [ "boto3 ~= 1.21.37", ] azure = [ "azure-identity ~= 1.9.0", "azure-mgmt-compute ~= 26.1.0", "azure-mgmt-keyvault ~= 10.2.3", "azure-mgmt-marketplaceordering ~= 1.1.0", "azure-mgmt-network ~= 19.3.0", "azure-mgmt-privatedns ~= 1.0.0", "azure-mgmt-resource ~= 21.0.0", "azure-mgmt-serialconsole ~= 1.0.0", "azure-mgmt-storage ~= 20.0.0", "azure-storage-blob ~= 12.11.0", "azure-storage-file-share ~= 12.4.0", "azure-keyvault-secrets ~= 4.7.0", "azure-keyvault-certificates ~= 4.7.0", "msrestazure ~= 0.6.4", "cachetools ~= 5.2.0", "requests", "Pillow ~= 9.5.0", "PyGObject ~= 3.42.0; platform_system == 'Linux'", ] black = [ "black ~= 23.1.0", ] docs = [ "Sphinx >= 4.1.0", "sphinx-argparse >= 0.2.5", "sphinx-rtd-theme >= 0.5.2", "sphinxemoji >= 0.1.8", "sphinx-copybutton >= 0.4.0", ] flake8 = [ "flake8 ~= 6.0.0", "Flake8-pyproject", "flake8-black >= 0.3.2", "flake8-bugbear ~= 23.2.13", "flake8-isort >= 4.1.1", "pep8-naming >= 0.12.1", ] isort = [ "isort ~= 5.12.0", ] legacy = [ "pypiwin32; platform_system == 'Windows'", ] libvirt = [ "libvirt-python ~= 9.3.0; platform_system != 'Windows'", "pycdlib ~= 1.12.0; platform_system != 'Windows'", ] mypy = [ "mypy == 0.942", ] pylint = [ "pylint ~= 2.17.0" ] test = [ ] typing = [ "types-retry ~= 0.1.3", "types-paramiko ~= 0.1.7", "types-requests ~= 2.25.0", "types-python-dateutil ~= 0.1.4", "types-PyYAML ~= 5.4.3", "types-cachetools ~= 5.2.1", "types-Pillow ~= 8.3.3", "types-toml", "boto3-stubs ~= 1.21.37", "mypy-boto3-ec2", ] [project.scripts] lisa = "lisa.main:cli" [project.urls] homepage = "https://github.com/microsoft/lisa" documentation = "https://mslisa.readthedocs.io" [tool.black] line-length = 88 target-version = ['py38'] [tool.coverage.run] branch = true source = [ "lisa", "examples", "microsoft/testsuites", ] omit = [ "lisa/tests", ] [tool.coverage.report] include_namespace_packages = true precision = 2 skip_empty = true [tool.flake8] max-line-length = 88 select = ["B", "BLK", "C90", "E", "F", "I", "W", "N"] max-complexity = 15 extend-ignore = ["E203", "W503", "N818"] exclude = [ ".git", ".nox", "__pycache__", "*.pyi", "runtime", ".venv", ".vscode", ] [tool.isort] multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true line_length = 88 [tool.mypy] exclude = ".venv/.*" implicit_reexport = true mypy_path = "./typings" strict = true namespace_packages = true show_column_numbers = true explicit_package_bases = true [tool.setuptools] packages = ["lisa"] [tool.setuptools_scm] version_scheme = "post-release" local_scheme = "no-local-version"