Files
anki/qt/pyproject.toml
2026-07-03 21:56:43 +03:00

97 lines
2.0 KiB
TOML

[project]
name = "aqt"
dynamic = ["version"]
description = "Qt-based desktop GUI for Anki, the spaced repetition flashcard program"
readme = "README.md"
requires-python = ">=3.10"
license = "AGPL-3.0-or-later"
authors = [
{ name = "Anki Team" },
]
urls."Bug Tracker" = "https://github.com/ankitects/anki/issues"
urls."Source Code" = "https://github.com/ankitects/anki"
urls.homepage = "https://github.com/ankitects/anki"
dependencies = [
"beautifulsoup4",
"flask[async]",
"jsonschema",
"requests",
"send2trash",
"waitress>=2.0.0",
"pywin32; sys.platform == 'win32'",
"anki-mac-helper>=0.1.1; sys.platform == 'darwin'",
"truststore>=0.10.4",
"pyqt6>=6.2",
"pyqt6-webengine>=6.2",
"packaging",
# anki dependency is added dynamically in hatch_build.py with exact version
]
[project.optional-dependencies]
audio = [
"anki-audio==0.2.2; sys.platform == 'win32' or sys.platform == 'darwin'",
]
qt = [
"pyqt6==6.11.0",
"pyqt6-qt6==6.11.0",
"pyqt6-webengine==6.11.0",
"pyqt6-webengine-qt6==6.11.0",
"pyqt6_sip==13.11.1",
]
qt68 = [
"pyqt6==6.8.0",
"pyqt6-qt6==6.8.1",
"pyqt6-webengine==6.8.0",
"pyqt6-webengine-qt6==6.8.1",
"pyqt6_sip==13.10.2",
]
qt69 = [
"pyqt6==6.9.1",
"pyqt6-qt6==6.9.1",
"pyqt6-webengine==6.9.0",
"pyqt6-webengine-qt6==6.9.0",
"pyqt6_sip==13.10.2",
]
qt610 = [
"pyqt6==6.10.2",
"pyqt6-qt6==6.10.2",
"pyqt6-webengine==6.10.0",
"pyqt6-webengine-qt6==6.10.0",
"pyqt6_sip==13.10.3",
]
[tool.uv]
conflicts = [
[
{ extra = "qt" },
{ extra = "qt68" },
{ extra = "qt69" },
{ extra = "qt610" },
],
]
[tool.uv.sources]
anki = { workspace = true }
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project.scripts]
anki = "aqt:run"
[project.gui-scripts]
ankiw = "aqt:run"
[tool.hatch.build.targets.wheel]
packages = ["aqt"]
exclude = ["aqt/data", "**/*.ui"]
[tool.hatch.version]
source = "code"
path = "../python/version.py"
[tool.hatch.build.hooks.custom]
path = "hatch_build.py"