load("@rules_python//python:defs.bzl", "py_binary", "py_test") load("@py_deps//:requirements.bzl", "requirement") py_binary( name = "genhooks_gui", srcs = [ "tools/genhooks_gui.py", ], imports = ["."], visibility = [":__subpackages__"], deps = [ "//pylib/tools:hookslib", requirement("black"), "//pylib/anki/_vendor:stringcase", ], ) py_binary( name = "extract_sass_colors", srcs = [ "tools/extract_sass_colors.py", ], imports = ["."], visibility = [":__subpackages__"], ) py_test( name = "pytest", srcs = glob(["tests/*.py"]) + ["bazelfixes.py"], imports = ["."], main = "tests/run_pytest.py", deps = [ "//pylib/anki", "//qt/aqt:aqt_without_data", requirement("pytest"), requirement("mock"), ], ) py_test( name = "mypy", srcs = [ "tests/run_mypy.py", ], args = [ "aqt", "$(location mypy.ini)", "$(location @pyqt6//:__init__.py)", "$(location //python/stubs:extendsitepkgs)", ], data = [ "mypy.ini", "//python/stubs", "//python/stubs:extendsitepkgs", "@pyqt6//:__init__.py", ], env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"}, main = "tests/run_mypy.py", deps = [ "//pylib/anki", "//qt/aqt:aqt_without_data", "@pyqt6", requirement("mypy"), ], ) py_test( name = "pylint", srcs = [ "tests/run_pylint.py", ], args = [ "aqt", "$(location .pylintrc)", ], data = [ ".pylintrc", ], main = "tests/run_pylint.py", deps = [ "//pylib/anki", "//qt/aqt:aqt_without_data", requirement("pylint"), "@pyqt6", ], ) py_test( name = "format_check", srcs = glob(["**/*.py"]) + [ "//qt/aqt:py_source_files", ], args = [ "$(location .isort.cfg)", ], data = [".isort.cfg"], main = "tests/run_format.py", deps = [ "//qt/aqt:aqt_without_data", requirement("black"), requirement("isort"), ], ) py_binary( name = "format", srcs = [ "tests/run_format.py", ], args = [ "$(location .isort.cfg)", "fix", ], data = [".isort.cfg"], main = "tests/run_format.py", tags = ["manual"], deps = [ requirement("black"), requirement("isort"), ], ) py_binary( name = "runanki", srcs = [ "bazelfixes.py", "runanki.py", ], imports = ["."], deps = [ "//pylib/anki", "//qt/aqt:aqt_with_data", "@pyqt6", ], ) py_binary( name = "runanki_qt515", srcs = [ "bazelfixes.py", "runanki.py", ], imports = ["."], main = "runanki.py", tags = ["manual"], deps = [ "//pylib/anki", "//qt/aqt:aqt_with_data", "@pyqt515", ], ) py_binary( name = "runanki_qt514", srcs = [ "bazelfixes.py", "runanki.py", ], imports = ["."], main = "runanki.py", tags = ["manual"], deps = [ "//pylib/anki", "//qt/aqt:aqt_with_data", "@pyqt514", ], ) py_binary( name = "dmypy", srcs = [ "dmypy.py", ], data = [ # ensure the binary's been built "//python:dmypy", "//python/stubs", "//python/stubs:extendsitepkgs", ], env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"}, imports = ["."], tags = ["manual"], deps = [ "//pylib/anki", "//qt/aqt:aqt_without_data", ], ) py_binary( name = "profile", srcs = ["tools/profile.py"], tags = ["manual"], deps = [ requirement("snakeviz"), ], )