mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 04:34:37 +03:00
* appease mypy Version no-untyped-call Without the type hint we get: error: Call to untyped function "Version" in typed context [no-untyped-call] Note that our Version is derived from semantic_version, which doesn't have type hints. * mark class definition __init__ functions -> None. This prevents reviewdog from generating an no-untyped-call warning when a new instance of the class is created. This behavior is a time bomb. reviewdog flags the warning at the line the new instance was added, which is within the scope of the diffs, but the problem lies elsewhere, in the class definition. * fix mypy import-untyped error.
252 lines
5.8 KiB
TOML
252 lines
5.8 KiB
TOML
[project]
|
|
name = "aqtinstall"
|
|
description = "Another unofficial Qt installer"
|
|
license = {text = "MIT License"}
|
|
authors = [
|
|
{name = "Hiroshi Miura", email = "miurahr@linux.com"},
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Environment :: X11 Applications :: Qt",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: C++",
|
|
"Topic :: Software Development",
|
|
"Topic :: Software Development :: Libraries",
|
|
]
|
|
requires-python = ">=3.9"
|
|
dependencies = [
|
|
"bs4", # canonical name is beautifulsoup4
|
|
"defusedxml",
|
|
"humanize",
|
|
"patch>=1.16",
|
|
"py7zr>=0.22.0",
|
|
"requests>=2.31.0",
|
|
"semantic-version",
|
|
"texttable",
|
|
]
|
|
dynamic = ["version", "readme"]
|
|
|
|
[tool.setuptools]
|
|
packages = ["aqt"]
|
|
|
|
[tool.setuptools.dynamic]
|
|
readme = {file = ["README.rst"]}
|
|
|
|
[tool.setuptools.package-data]
|
|
aqt = ["*.yml", "*.ini"]
|
|
|
|
[project.scripts]
|
|
aqt = "aqt.__main__:main"
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=6.0",
|
|
"pytest-pep8",
|
|
"pytest-cov",
|
|
"pytest-remotedata>=0.4.1",
|
|
"pytest-socket",
|
|
"pytest-timeout",
|
|
"pympler",
|
|
]
|
|
check = [
|
|
"mypy>=1.10.0",
|
|
"flake8>=6.0.0,<8.0.0",
|
|
"flake8-black",
|
|
"flake8-colors",
|
|
"flake8-isort>=6.0.0,<7.0.0",
|
|
"flake8-pyi",
|
|
"flake8-typing-imports",
|
|
"docutils",
|
|
"check-manifest",
|
|
"readme-renderer",
|
|
"pygments",
|
|
"packaging",
|
|
"pylint",
|
|
"types-requests",
|
|
]
|
|
docs = [
|
|
"sphinx>=7.0",
|
|
"sphinx_rtd_theme>=1.3",
|
|
"sphinx-py3doc-enhanced-theme>=2.4",
|
|
]
|
|
debug = [
|
|
"pytest-leaks",
|
|
]
|
|
|
|
[project.urls]
|
|
Documentation = "https://aqtinstall.readthedocs.io/"
|
|
"Bug Tracker" = "https://github.com/miurahr/aqtinstall/issues"
|
|
Wiki = "https://github.com/miurahr/aqtinstall/wiki"
|
|
Source = "https://github.com/miurahr/aqtinstall"
|
|
Changelog = "https://aqtinstall.readthedocs.io/en/latest/CHANGELOG.html"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61", "wheel", "setuptools_scm[toml]>=6.4"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools_scm]
|
|
local_scheme = "no-local-version"
|
|
write_to = "aqt/version.py"
|
|
write_to_template = """
|
|
__version__ = \"{version}\"
|
|
"""
|
|
tag_regex = "^(?P<prefix>v)?(?P<version>[^\\+]+)(?P<suffix>.*)?$"
|
|
|
|
[tool.check-manifest]
|
|
ignore = ["aqt/version.py","azure-pipelines.yml", ".readthedocs.yml", "ci/*"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
parallel = true
|
|
source = ["aqt", "tests"]
|
|
|
|
[tool.coverage.report]
|
|
show_missing = true
|
|
exclude_lines = ["if __name__ == .__main__.:", "pragma: no-cover", "@abstract", "def __repr__"]
|
|
|
|
[tool.pylint]
|
|
max-line-length = 125
|
|
|
|
[tool.black]
|
|
line-length = 125
|
|
target-version = ['py312']
|
|
|
|
[tool.isort]
|
|
line_length = 125
|
|
known_first_party = "aqt"
|
|
known_third_party = ["docutils", "flake8", "pyannotate_runtime", "pytest", "pytz", "requests", "setuptools", "sphinx", "yaml", "packaging"]
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
force_grid_wrap = 0
|
|
use_parentheses = true
|
|
ensure_newline_before_comments = true
|
|
|
|
[tool.mypy]
|
|
# Untyped definitions and calls are disable in default
|
|
check_untyped_defs = false
|
|
disallow_incomplete_defs = false
|
|
disallow_untyped_calls = false
|
|
disallow_untyped_defs = false
|
|
disallow_untyped_decorators = false
|
|
# not a all 3rd party package has type hints
|
|
ignore_missing_imports = true
|
|
# Optional check: implicit check enabled in mypy 0.980 or before
|
|
strict_optional = true
|
|
implicit_optional = false
|
|
# Enable incremental mode and use sqlite cache
|
|
incremental = true
|
|
sqlite_cache = true
|
|
# Enables PEP 420 style namespace packages
|
|
namespace_packages = true
|
|
# Control error output
|
|
pretty = true
|
|
color_output = true
|
|
show_error_context = false
|
|
show_column_numbers = true
|
|
error_summary = true
|
|
# configuring warnings
|
|
warn_no_return = true
|
|
warn_redundant_casts = true
|
|
warn_return_any = true
|
|
warn_unreachable = true
|
|
warn_unused_ignores = true
|
|
|
|
# TODO: Remove this `ignore_missing_imports` and add type stubs.
|
|
# See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
|
|
[[tool.mypy.overrides]]
|
|
module = "texttable"
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
testpaths = ["tests"]
|
|
python_files = "test*.py"
|
|
norecursedirs = [".git", "_build", "tmp", ".eggs"]
|
|
timeout = 480
|
|
markers = [
|
|
"unit: mark a test as an unit test.",
|
|
"enable_socket : mark a test with enabling socket.",
|
|
"remote_data: mark a test with remote data.",
|
|
]
|
|
|
|
[tool.tox]
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
envlist = check, docs, py{39,310,311,312,313}, mprof, fil, mypy
|
|
isolated_build = True
|
|
|
|
[testenv]
|
|
passenv =
|
|
GITHUB*
|
|
APPVEYOR*
|
|
TRAVIS*
|
|
COVERALLS_*
|
|
PYTEST_ADDOPTS
|
|
extras = test, check, docs
|
|
commands =
|
|
python -m pytest -vv
|
|
|
|
[testenv:check]
|
|
basepython = python3.12
|
|
extras = check
|
|
commands =
|
|
check-manifest {toxinidir}
|
|
flake8 aqt tests
|
|
|
|
[testenv:mypy]
|
|
basepython = python3.12
|
|
extras = check
|
|
commands = mypy aqt
|
|
deps =
|
|
types-requests
|
|
types-beautifulsoup4
|
|
types-psutil
|
|
|
|
[testenv:docs]
|
|
basepython = python3.12
|
|
extras = docs
|
|
commands =
|
|
sphinx-build {posargs:-E} -W -b html docs build/docs
|
|
sphinx-build -W -b linkcheck docs build/docs
|
|
|
|
[testenv:mprof]
|
|
basepython = python3.12
|
|
extras = debug
|
|
commands =
|
|
mprof run --multiprocess python -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1
|
|
mprof plot --output memory-profile.png
|
|
deps =
|
|
memory_profiler
|
|
matplotlib
|
|
|
|
[testenv:fil]
|
|
basepython = python3.12
|
|
extras = debug
|
|
commands =
|
|
fil-profile run -m aqt install-qt -O /tmp -d /tmp linux desktop 6.2.1
|
|
deps =
|
|
filprofiler
|
|
|
|
[testenv:coveralls]
|
|
deps =
|
|
coveralls
|
|
skip_install = true
|
|
commands =
|
|
coveralls []
|
|
|
|
[gh-actions]
|
|
python =
|
|
3.9: py39
|
|
3.10: py310
|
|
3.11: py311
|
|
3.12: py312
|
|
3.13: py313
|
|
"""
|