[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.4; sys.platform == 'win32' or sys.platform == 'darwin'", ] qt = [ "pyqt6==6.11.0", "pyqt6-qt6==6.11.2", "pyqt6-webengine==6.11.0", "pyqt6-webengine-qt6==6.11.2", "pyqt6_sip==13.13.0", ] qt68 = [ "pyqt6==6.8.0", "pyqt6-qt6==6.8.1", "pyqt6-webengine==6.8.0", "pyqt6-webengine-qt6==6.8.1", "pyqt6_sip==13.13.0", ] qt69 = [ "pyqt6==6.9.1", "pyqt6-qt6==6.9.1", "pyqt6-webengine==6.9.0", "pyqt6-webengine-qt6==6.9.0", "pyqt6_sip==13.13.0", ] qt610 = [ "pyqt6==6.10.2", "pyqt6-qt6==6.10.2", "pyqt6-webengine==6.10.0", "pyqt6-webengine-qt6==6.10.0", "pyqt6_sip==13.13.0", ] [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"