The repository Python dependency lock remains in root requirements.txt, next
to pyproject.toml. Update it with //tools/py:requirements.update and validate
it with //tools/py:requirements.test; the root labels remain compatibility
entry points. These upstream pip-tools workflows require network access to
resolve and validate package versions and run outside the action sandbox.
This is the multi-page printable view of this section. Click here to print.
Py
Python rules
- 1: Bzl
- 1.1: al_compile_pip_requirements_combined
- 1.2: al_genrule_with_wheels
- 1.3: al_py_binary_shell
- 1.4: al_py_checker
- 1.5: al_py_checkers
1 - Bzl
Bazel code
1.1 - al_compile_pip_requirements_combined
al_compile_pip_requirements_combined
load("@com_alwaldend_src//tools/py/main/bzl:al_compile_pip_requirements_combined.bzl", "al_compile_pip_requirements_combined")
al_compile_pip_requirements_combined(name, srcs, **kwargs)
Create compile_pip_requirements target for several requirement files
PARAMETERS
| Name | Description | Default Value |
|---|---|---|
| name | compile_pip_requirements name | none |
| srcs | list of labels of requirement files to combine | none |
| kwargs | kwargs for compile_pip_requirements |
none |
1.2 - al_genrule_with_wheels
al_genrule_with_wheels
load("@com_alwaldend_src//tools/py/main/bzl:al_genrule_with_wheels.bzl", "al_genrule_with_wheels")
al_genrule_with_wheels(name, wheels, srcs, cmd, **kwargs)
Regular genrule with wheels added to ${PYTHONPATH}
PARAMETERS
| Name | Description | Default Value |
|---|---|---|
| name | genrule name | none |
| wheels | list of wheel labels | none |
| srcs | srcs for the genrule | [] |
| cmd | genrule cmd | [] |
| kwargs | other genrule kwargs | none |
1.3 - al_py_binary_shell
al_py_binary_shell
load("@com_alwaldend_src//tools/py/main/bzl:al_py_binary_shell.bzl", "al_py_binary_shell")
al_py_binary_shell(name, deps, srcs, shell_type, shell_label, **kwargs)
Create a py_binary target that allows you to run commands in proper python environment
PARAMETERS
1.4 - al_py_checker
al_py_checker
load("@com_alwaldend_src//tools/py/main/bzl:al_py_checker.bzl", "al_py_checker")
al_py_checker(name, tool, args_bin, args_test, test_size, disable_fix, **kwargs)
Create -fix and -test targets for a python checker
PARAMETERS
1.5 - al_py_checkers
al_py_checkers
load("@com_alwaldend_src//tools/py/main/bzl:al_py_checkers.bzl", "al_py_checkers")
al_py_checkers(name, srcs, isort_label, black_label, mypy_label, flake8_label, pyproject_label)
Generate -fix and -test targets for python checkers
PARAMETERS