• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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