61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
from docspec_python import ParserOptions
|
|
from docs.pydocs.pydocs_markdown_impl import render_loader
|
|
from pydoc_markdown.contrib.loaders.python import PythonLoader
|
|
from pydoc_markdown.contrib.processors.filter import FilterProcessor
|
|
from pydoc_markdown.contrib.renderers.markdown import MarkdownRenderer
|
|
from docs.pydocs.helpers import write_to_file
|
|
|
|
|
|
exports = [
|
|
"guardrails.actions.reask",
|
|
"ReAsk",
|
|
"FieldReAsk",
|
|
"SkeletonReAsk",
|
|
"NonParseableReAsk",
|
|
"guardrails.actions.filter",
|
|
"Filter",
|
|
"apply_filters",
|
|
"guardrails.actions.refrain",
|
|
"Refrain",
|
|
"apply_refrain",
|
|
]
|
|
export_string = ", ".join([f"'{export}'" for export in exports])
|
|
|
|
write_to_file(
|
|
str="# Actions\n\n"
|
|
+ render_loader(
|
|
PythonLoader(
|
|
modules=[
|
|
"guardrails.actions.reask",
|
|
"guardrails.actions.filter",
|
|
"guardrails.actions.refrain",
|
|
],
|
|
parser=ParserOptions(print_function=False),
|
|
),
|
|
processor=FilterProcessor(
|
|
expression=f"name in [{export_string}]", # noqa
|
|
skip_empty_modules=True,
|
|
),
|
|
renderer=MarkdownRenderer(
|
|
# Custom
|
|
data_code_block=True,
|
|
data_expression_maxlength=250,
|
|
header_level_by_type={
|
|
"Class": 2,
|
|
"Variable": 2,
|
|
},
|
|
# Default
|
|
render_module_header=False,
|
|
insert_header_anchors=False,
|
|
descriptive_class_title=False,
|
|
signature_in_header=False,
|
|
classdef_code_block=True,
|
|
classdef_with_decorators=True,
|
|
signature_code_block=True,
|
|
signature_with_decorators=True,
|
|
render_typehint_in_data_header=True,
|
|
),
|
|
),
|
|
filename="docs/api_reference/actions.md",
|
|
)
|