Files
aqtinstall/pyproject.toml
xavier2k6 44393832f3
Some checks failed
Check tox tests / Check packaging 📦 (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Publish Python 🐍 distributions 📦 to PyPI / Build package (push) Has been cancelled
Test on GH actions environment / test (binary, windows-latest, 3.13, 6.6.3) (push) Has been cancelled
Test on GH actions environment / test (standard, ubuntu-latest, 3.13, 6.5.3) (push) Has been cancelled
Test on GH actions environment / test (standard, ubuntu-latest, 3.13, 6.6.3) (push) Has been cancelled
Test on GH actions environment / test (standard, ubuntu-latest, 3.13, 6.8.0) (push) Has been cancelled
Test on GH actions environment / test (standard, ubuntu-latest, 3.13, 6.8.1) (push) Has been cancelled
Test on GH actions environment / test (standard, windows-latest, 3.13, 6.5.3) (push) Has been cancelled
Test on GH actions environment / test (standard, windows-latest, 3.13, 6.6.3) (push) Has been cancelled
Test on GH actions environment / test (standard, windows-latest, 3.13, 6.7.3) (push) Has been cancelled
Publish Python 🐍 distributions 📦 to PyPI / publish Python 🐍 distributions 📦 to PyPI (push) Has been cancelled
Explicitly use python 3.13 (#891)
Co-authored-by: Hiroshi Miura <miurahr@linux.com>
2025-03-16 22:05:41 +09:00

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-ng",
"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 = ['py313']
[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.13
extras = check
commands =
check-manifest {toxinidir}
flake8 aqt tests
[testenv:mypy]
basepython = python3.13
extras = check
commands = mypy aqt
deps =
types-requests
types-beautifulsoup4
types-psutil
[testenv:docs]
basepython = python3.13
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.13
extras = debug
commands =
mprof run --multiprocess python -m aqt install-qt -O /tmp -d /tmp linux desktop 6.8.1
mprof plot --output memory-profile.png
deps =
memory_profiler
matplotlib
[testenv:fil]
basepython = python3.13
extras = debug
commands =
fil-profile run -m aqt install-qt -O /tmp -d /tmp linux desktop 6.8.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
"""