Files
AI/참고/guardrails-main/docs/pydocs/api_reference/validation.py

72 lines
2.0 KiB
Python
Raw Normal View History

2026-05-12 19:40:31 +09:00
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 docs.pydocs.helpers import write_to_file
# exports = [
# "docs.pydocs.api_reference.validator",
# "ValidatorReference",
# ]
# export_string = ", ".join([f"'{export}'" for export in exports])
export_map = {
"guardrails/validator_base.py": [
"guardrails.validator_base",
"Validator",
"__init__",
"chunking_function",
"validate",
"validate_stream",
"with_metadata",
"to_runnable",
"register_validator",
],
"guardrails/classes/validation/validation_result.py": [
"guardrails.classes.validation.validation_result",
"ValidationResult",
"PassResult",
"FailResult",
"ErrorSpan",
],
"guardrails/classes/validation/validator_logs.py": [
"guardrails.classes.validation.validator_logs",
"ValidatorLogs",
],
"guardrails/classes/validation/validator_reference.py": [
"guardrails.classes.validation.validator_reference",
"ValidatorReference",
],
}
conditionals = []
for k, v in export_map.items():
conditionals.append(
f"((name in {v}) if ('{k}' in obj.location.filename) else False)"
)
export_string = " or ".join(conditionals)
write_to_file(
str="# Validation\n\n"
+ render_loader(
PythonLoader(
modules=[
"guardrails.validator_base",
"guardrails.classes.validation.validation_result",
"guardrails.classes.validation.validator_logs",
"guardrails.classes.validation.validator_reference",
],
parser=ParserOptions(print_function=False),
),
processor=FilterProcessor(
expression=f"({export_string})",
skip_empty_modules=False,
),
),
filename="docs/api_reference/validator.md",
)