Skip to content

Commit

Permalink
Merge pull request #12576 from luismedel/8044-docs-envvars
Browse files Browse the repository at this point in the history
Display env vars for pip options in docs
  • Loading branch information
pfmoore authored Mar 16, 2024
2 parents 3682309 + 347fa24 commit 303fed3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
26 changes: 25 additions & 1 deletion docs/pip_sphinxext.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,22 @@

from pip._internal.cli import cmdoptions
from pip._internal.commands import commands_dict, create_command
from pip._internal.configuration import _normalize_name
from pip._internal.req.req_file import SUPPORTED_OPTIONS


def convert_cli_option_to_envvar(opt_name: str) -> str:
undashed_opt_name = _normalize_name(opt_name)
normalized_opt_name = undashed_opt_name.upper().replace("-", "_")
return f"PIP_{normalized_opt_name}"


def convert_cli_opt_names_to_envvars(original_cli_opt_names: List[str]) -> List[str]:
return [
convert_cli_option_to_envvar(opt_name) for opt_name in original_cli_opt_names
]


class PipNewsInclude(rst.Directive):
required_arguments = 1

Expand Down Expand Up @@ -130,7 +143,18 @@ def _format_option(
opt_help = option.help.replace("%default", str(option.default))
# fix paths with sys.prefix
opt_help = opt_help.replace(sys.prefix, "<sys.prefix>")
return [bookmark_line, "", line, "", " " + opt_help, ""]
env_var_names = convert_cli_opt_names_to_envvars(option._long_opts)
env_var_names_src = ", ".join(f"``{env_var}``" for env_var in env_var_names)
return [
bookmark_line,
"",
line,
"",
f" {opt_help}",
"",
f" (environment variable: {env_var_names_src})",
"",
]

def _format_options(
self, options: Iterable[optparse.Option], cmd_name: Optional[str] = None
Expand Down
1 change: 1 addition & 0 deletions news/12576.doc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Document the environment variables that correspond with CLI options.

0 comments on commit 303fed3

Please sign in to comment.