[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.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    Programming Language :: Python :: 3.12
    Programming Language :: Python :: 3.13
    Programming Language :: Python :: 3.14
    Typing :: Typed

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

[options.package_data]
* = py.typed

[options.extras_require]
# Remember to update tests/minreqs.txt if changing anything below:
devel =
    distlib >= 0.3.6
    flake8 >= 5.0.4
    fusepy >= 2.0.4
    isort >= 5.6.0
    # Max ver is temporary until we drop 3.9
    mypy >= 1.4.0, <2.0.0
    pylint >= 2.17.3
    pylint != 3.2.4; python_version<"3.9"
    pytest >= 6.0.2
    tox >= 3.18.0
    sphinx >= 3.4.3

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

[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

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

[mypy]
strict = True
python_version = 3.9
namespace_packages = True
warn_unused_ignores = False

[mypy-qemu.utils.qom_fuse]
# fusepy has 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-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-positional-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.
           _import_ok,  # For mkvenv import trickery and compatibility pre-4.x

[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 = py39, py310, py311, py312, py313, py314
skip_missing_interpreters = true

[testenv]
allowlist_externals = make
deps =
    .[devel]
    .[fuse]  # 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
