[metadata]
name = qemu
version = file:VERSION
maintainer = QEMU Developer Team
maintainer_email = qemu-devel@nongnu.org
url = https://www.qemu.org/
download_url = https://www.qemu.org/download/
description = QEMU Python Build, Debug and SDK tooling.
long_description = file:PACKAGE.rst
long_description_content_type = text/x-rst
classifiers =
    Development Status :: 3 - Alpha
    License :: OSI Approved :: GNU General Public License v2 (GPLv2)
    Natural Language :: English
    Operating System :: OS Independent
    Programming Language :: Python :: 3 :: Only
    Programming Language :: Python :: 3.8
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    Programming Language :: Python :: 3.12
    Programming Language :: Python :: 3.13
    Typing :: Typed

[options]
python_requires = >= 3.8
packages =
    qemu.qmp
    qemu.machine
    qemu.utils

[options.package_data]
* = py.typed

[options.extras_require]
# Remember to update tests/minreqs.txt if changing anything below:
devel =
    avocado-framework >= 90.0
    distlib >= 0.3.6
    flake8 >= 5.0.4
    fusepy >= 2.0.4
    isort >= 5.1.2
    mypy >= 1.4.0
    pylint >= 2.17.3
    pylint != 3.2.4; python_version<"3.9"
    tox >= 3.18.0
    urwid >= 2.1.2
    urwid-readline >= 0.13
    Pygments >= 2.9.0

# Provides qom-fuse functionality
fuse =
    fusepy >= 2.0.4

# QMP TUI dependencies
tui =
    urwid >= 2.1.2
    urwid-readline >= 0.13
    Pygments >= 2.9.0

[options.entry_points]
console_scripts =
    qom = qemu.utils.qom:main
    qom-set = qemu.utils.qom:QOMSet.entry_point
    qom-get = qemu.utils.qom:QOMGet.entry_point
    qom-list = qemu.utils.qom:QOMList.entry_point
    qom-tree = qemu.utils.qom:QOMTree.entry_point
    qom-fuse = qemu.utils.qom_fuse:QOMFuse.entry_point [fuse]
    qemu-ga-client = qemu.utils.qemu_ga_client:main
    qmp-shell = qemu.qmp.qmp_shell:main
    qmp-shell-wrap = qemu.qmp.qmp_shell:main_wrap
    qmp-tui = qemu.qmp.qmp_tui:main [tui]

[flake8]
# Prefer pylint's bare-except checks to flake8's
extend-ignore = E722
exclude = __pycache__,

[mypy]
strict = True
python_version = 3.8
warn_unused_configs = True
namespace_packages = True
warn_unused_ignores = False

[mypy-qemu.utils.qom_fuse]
# fusepy has no type stubs:
allow_subclassing_any = True

[mypy-qemu.qmp.qmp_tui]
# urwid and urwid_readline have no type stubs:
allow_subclassing_any = True

# The following missing import directives are because these libraries do not
# provide type stubs. Allow them on an as-needed basis for mypy.
[mypy-fuse]
ignore_missing_imports = True

[mypy-tomli]
ignore_missing_imports = True

[mypy-tomllib]
ignore_missing_imports = True

[mypy-urwid]
ignore_missing_imports = True

[mypy-urwid_readline]
ignore_missing_imports = True

[mypy-pygments]
ignore_missing_imports = True

[mypy-distlib]
ignore_missing_imports = True

[mypy-distlib.scripts]
ignore_missing_imports = True

[mypy-distlib.version]
ignore_missing_imports = True

[mypy-pip._vendor.distlib]
ignore_missing_imports = True

[mypy-pip._vendor.distlib.scripts]
ignore_missing_imports = True

[mypy-pip._vendor.distlib.version]
ignore_missing_imports = True

[pylint.messages control]
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=consider-using-f-string,
        consider-using-with,
        too-many-arguments,
        too-many-function-args,  # mypy handles this with less false positives.
        too-many-instance-attributes,
        no-member,  # mypy also handles this better.

[pylint.basic]
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
           j,
           k,
           ex,
           Run,
           _,   # By convention: Unused variable
           fh,  # fh = open(...)
           fd,  # fd = os.open(...)
           c,   # for c in string: ...
           T,   # for TypeVars. See pylint#3401
           SocketAddrT,  # Not sure why this is invalid.

[pylint.similarities]
# Ignore imports when computing similarities.
ignore-imports=yes
ignore-signatures=yes

# Minimum lines number of a similarity.
# TODO: Remove after we opt in to Pylint 2.8.3. See commit msg.
min-similarity-lines=6


[isort]
force_grid_wrap=4
force_sort_within_sections=True
include_trailing_comma=True
line_length=72
lines_after_imports=2
multi_line_output=3

# tox (https://tox.readthedocs.io/) is a tool for running tests in
# multiple virtualenvs. This configuration file will run the test suite
# on all supported python versions. To use it, "pip install tox" and
# then run "tox" from this directory. You will need all of these versions
# of python available on your system to run this test.

[tox:tox]
envlist = py38, py39, py310, py311, py312, py313
skip_missing_interpreters = true

[testenv]
allowlist_externals = make
deps =
    .[devel]
    .[fuse]  # Workaround to trigger tox venv rebuild
    .[tui]   # Workaround to trigger tox venv rebuild
commands =
    make check

# Coverage.py [https://coverage.readthedocs.io/en/latest/] is a tool for
# measuring code coverage of Python programs. It monitors your program,
# noting which parts of the code have been executed, then analyzes the
# source to identify code that could have been executed but was not.

[coverage:run]
concurrency = multiprocessing
source = qemu/
parallel = true
