load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test") load("@py_deps//:requirements.bzl", "requirement") py_binary( name = "genbackend", srcs = [ "tools/genbackend.py", "//pylib/anki:backend_pb2", ], imports = [ ".", ], visibility = [":__subpackages__"], deps = [ requirement("black"), requirement("stringcase"), requirement("protobuf"), ], ) py_library( name = "hookslib", srcs = ["tools/hookslib.py"], imports = ["tools"], visibility = ["//qt:__pkg__"], ) py_binary( name = "genhooks", srcs = [ "tools/genhooks.py", "tools/hookslib.py", ], imports = ["."], visibility = [":__subpackages__"], deps = [ requirement("black"), requirement("stringcase"), ], ) py_test( name = "pytest", srcs = glob(["tests/*.py"]), data = glob(["tests/support/**"]) + [ "//rspy:ankirspy", ], main = "tests/run_pytest.py", deps = [ "//pylib/anki", requirement("pytest"), ], ) py_test( name = "mypy", srcs = [ "tests/run_mypy.py", ], args = [ "anki", "$(location mypy.ini)", ], data = ["mypy.ini"], main = "tests/run_mypy.py", deps = [ "//pylib/anki", requirement("mypy"), ], ) py_test( name = "pylint", srcs = [ "tests/run_pylint.py", ], args = [ "anki", "$(location .pylintrc)", ], data = [".pylintrc"], main = "tests/run_pylint.py", deps = [ "//pylib/anki", requirement("pylint"), ], ) py_test( name = "format", srcs = glob([ "anki/**/*.py", "tests/**/*.py", "tools/*.py", ]), args = [ "$(location .isort.cfg)", ], data = [".isort.cfg"], main = "tests/run_format.py", deps = [ "//pylib/anki", requirement("black"), requirement("isort"), ], ) py_binary( name = "format_fix", 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"), ], )