src.utils.docstring_generation

Module Contents

src.utils.docstring_generation.logger
src.utils.docstring_generation.DEFAULT_OPENAI_MODEL = 'gpt-4o-mini'
src.utils.docstring_generation.DEFAULT_CODEX_COMMAND = 'codex exec --skip-git-repo-check -'
src.utils.docstring_generation.DEFAULT_CLAUDE_COMMAND = 'claude -p --output-format text'
src.utils.docstring_generation.CLI_TIMEOUT_SECONDS = 120
src.utils.docstring_generation.SUPPORTED_AI_PROVIDERS
src.utils.docstring_generation.resolve_ai_provider(model: str | None = None, api_key: str | None = None) tuple[str, str | None]

Resolve the AI provider and model from explicit model prefixes, environment, and API key state.

Model values may be prefixed with openai:, codex:, or claude:. Without a prefix, AUTODOC_AI_PROVIDER chooses the backend. If OpenAI is not configured, the CLI fallback is used so local Codex or Claude authentication can handle generation.

src.utils.docstring_generation.configure_openai(api_key: str | None = None)

Configure OpenAI API with the provided API key.

Parameters:

api_key (str, optional) – OpenAI API key. If None, reads from environment.

src.utils.docstring_generation.create_docstring_prompt(code: str, language: str | None = 'python') str

Create a prompt for ChatGPT to generate a concise docstring.

Parameters:
  • code (str) – The code block to Analyse.

  • language (str) – Programming language of the code.

Returns:

Formatted prompt for docstring generation.

Return type:

str

src.utils.docstring_generation.create_openai_docstring_prompt(code: str, language: str | None = 'python') str
src.utils.docstring_generation.generate_docstring(code: str, language: str | None = 'python', api_key: str | None = None, model: str | None = DEFAULT_OPENAI_MODEL) str | None

Generate a concise docstring for the given code using the configured AI backend.

Parameters:
  • code (str) – The code block for which to generate docstring.

  • language (str) – Programming language of the code (default: “python”).

  • api_key (str, optional) – OpenAI API key, used only for the OpenAI backend.

  • model (str) – Optional model name. Prefix with openai:, codex:, or claude: to select a provider.

Returns:

Generated docstring or None if generation fails.

Return type:

str

src.utils.docstring_generation.generate_docstring_with_openai(code: str, language: str | None = 'python', api_key: str | None = None, model: str | None = DEFAULT_OPENAI_MODEL) str | None

Backward-compatible wrapper for callers/tests that still use the old OpenAI-specific name.

src.utils.docstring_generation.generate_docstrings_for_code_blocks_openai(code_blocks_data: list, language: str = 'python', model: str = DEFAULT_OPENAI_MODEL) list

Generate docstrings for multiple code blocks using the configured AI backend.

Parameters:
  • code_blocks_data (list) – List of dictionaries containing code block information.

  • language (str) – Programming language of the code blocks.

  • model (str) – Optional AI model name or provider-prefixed model.

Returns:

Updated list with generated docstrings.

Return type:

list

src.utils.docstring_generation.format_docstring_for_language(docstring: str, language: str | None) str

Format the generated docstring according to language conventions.

Parameters:
  • docstring (str) – Raw docstring content.

  • language (str) – Programming language.

Returns:

Formatted docstring.

Return type:

str