[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
    Typing :: Typed

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

[options.package_data]
* = py.typed

[options.extras_require]
# For the devel group, When adding new dependencies or bumping the minimum
# version, use e.g. "pipenv install --dev pylint==3.0.0".
# Subsequently, edit 'Pipfile' to remove e.g. 'pylint = "==3.0.0'.
devel =
    avocado-framework >= 90.0
    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]
extend-ignore = E722  # Prefer pylint's bare-except checks to flake8's
exclude = __pycache__,

[mypy]
strict = True
python_version = 3.6
warn_unused_configs = True
namespace_packages = True

[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

[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

[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
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
