[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.6
    Programming Language :: Python :: 3.7
    Programming Language :: Python :: 3.8
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    Typing :: Typed

[options]
python_requires = >= 3.6
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 >= 3.6.0
    fusepy >= 2.0.4
    isort >= 5.1.2
    mypy >= 0.780
    pylint >= 2.8.0
    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.6
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-urwid]
ignore_missing_imports = True

[mypy-urwid_readline]
ignore_missing_imports = True

[mypy-pygments]
ignore_missing_imports = True

[mypy-importlib.metadata]
ignore_missing_imports = True

[mypy-importlib_metadata]
ignore_missing_imports = True

[mypy-pkg_resources]
ignore_missing_imports = True

[mypy-distlib]
ignore_missing_imports = True

[mypy-distlib.database]
ignore_missing_imports = True

[mypy-distlib.scripts]
ignore_missing_imports = True

[mypy-distlib.version]
ignore_missing_imports = True

[mypy-pip]
ignore_missing_imports = True

[mypy-pip._vendor]
ignore_missing_imports = True

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

[mypy-pip._vendor.distlib.database]
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 = py36, py37, py38, py39, py310, py311
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
