[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
    qemu.aqmp

[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

# AQMP 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.aqmp.qmp_shell:main
    aqmp-tui = qemu.aqmp.aqmp_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.aqmp.aqmp_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,
        too-many-function-args,  # mypy handles this with less false positives.
        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
    setuptools < 60  # Workaround, please see commit msg.
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
