API reference
The docparser public surface — WorkspaceLayout, per-format parsers, parse_path, run_all, and caption_image.
This page summarizes the public API. All functions are importable from the
top-level docparser package (pip install rc-docparser, then
import docparser).
WorkspaceLayout
WorkspaceLayout(raw_dir, parsed_dir, assets_dir, cache_dir)A dataclass describing where parser output lives. Use .under(root) for the
default data/raw + data/parsed + data/assets + .cache layout under a root, and
.ensure() to create the directories.
layout = WorkspaceLayout.under("./project")
layout.ensure()Per-format parsers
Each returns a payload dict and (by default) writes document.md /
document.json.
| Function | Requires | Notes |
|---|---|---|
parse_docx(source, layout=None, *, captioner=None, write_outputs=True) | core | — |
parse_xlsx(source, layout=None, *, captioner=None, write_outputs=True) | core | — |
parse_pdf(source, layout=None, *, captioner=None, write_outputs=True, extract_images=True, backend="builtin", ocr="off", extract_tables=False) | [pdf] | backends/OCR/tables need their extras |
parse_html(source, layout=None, *, captioner=None, write_outputs=True, use_trafilatura=True) | [html] | source may be a path or http(s):// URL |
parse_pptx(source, layout=None, *, captioner=None, write_outputs=True) | [pptx] | — |
parse_epub(source, layout=None, *, captioner=None, write_outputs=True) | [epub] | — |
parse_text(source, layout=None, ...) | core | .txt / .md |
parse_csv(source, layout=None, ...) | core | .csv / .tsv |
parse_path
parse_path(source, layout=None, **kwargs)Dispatches by file extension to the right parser. PDF-only kwargs (backend,
ocr, extract_tables) are forwarded to PDFs.
run_all
run_all(
layout, *,
use_vlm=True,
only=None,
max_images=None,
continue_on_error=False,
vlm_provider=None,
vlm_model=None,
pdf_backend="builtin",
ocr="off",
extract_tables=False,
)Walks layout.raw_dir, parses everything supported, and writes a top-level
CORPUS.md and data/parsed/corpus.json.
caption_image
caption_image(
image_bytes, *,
mime, doc_name, nearby_caption, context,
provider=None, model=None, layout=None, ...
) # -> VLMResultCaptions a single image with a vision-language model. Requires the [vlm]
extra. See Image captioning (VLM).
Reference links
- PyPI: pypi.org/project/rc-docparser
- Repository: github.com/Research-Commons/docparser