1workspace(name = "rules_python_multi_python_versions") 2 3local_repository( 4 name = "rules_python", 5 path = "../..", 6) 7 8load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_multi_toolchains") 9 10py_repositories() 11 12load("@rules_python//python/pip_install:repositories.bzl", "pip_install_dependencies") 13 14pip_install_dependencies() 15 16default_python_version = "3.9" 17 18python_register_multi_toolchains( 19 name = "python", 20 default_version = default_python_version, 21 python_versions = [ 22 "3.8", 23 "3.9", 24 "3.10", 25 "3.11", 26 ], 27 register_coverage_tool = True, 28) 29 30load("@python//:pip.bzl", "multi_pip_parse") 31load("@python//3.10:defs.bzl", interpreter_3_10 = "interpreter") 32load("@python//3.11:defs.bzl", interpreter_3_11 = "interpreter") 33load("@python//3.8:defs.bzl", interpreter_3_8 = "interpreter") 34load("@python//3.9:defs.bzl", interpreter_3_9 = "interpreter") 35 36multi_pip_parse( 37 name = "pypi", 38 default_version = default_python_version, 39 python_interpreter_target = { 40 "3.10": interpreter_3_10, 41 "3.11": interpreter_3_11, 42 "3.8": interpreter_3_8, 43 "3.9": interpreter_3_9, 44 }, 45 requirements_lock = { 46 "3.10": "//requirements:requirements_lock_3_10.txt", 47 "3.11": "//requirements:requirements_lock_3_11.txt", 48 "3.8": "//requirements:requirements_lock_3_8.txt", 49 "3.9": "//requirements:requirements_lock_3_9.txt", 50 }, 51) 52 53load("@pypi//:requirements.bzl", "install_deps") 54 55install_deps() 56