Pandoc is a universal document converter written in Haskell. It reads input in dozens of formats (Markdown, LaTeX, HTML, docx, EPUB, Org, RST, MediaWiki, etc.) into a common abstract syntax tree (AST), then writes to a wide range of output formats. The system is modular: readers parse source formats, writers produce target formats, and a template system controls output structure. It includes an integrated citation processor (citeproc), a Lua scripting engine for custom readers/writers/filters, and a server mode (HTTP API). The codebase is a monolith library with separate CLI, server, and Lua engine packages, plus a WebAssembly build for browser use. It is heavily tested with golden tests and property tests. The architecture demonstrates strong separation of concerns, with reusable parsing utilities, a well-defined AST, and a flexible extension mechanism via Lua. While the codebase is large and complex, it is actively maintained and exhibits high craftsmanship in its modular design and handling of diverse formats.
This repository is a modular toolkit for academic research workflows, providing reusable 'skills' that assist with tasks such as manuscript preparation, figure generation, citation management, paper downloading, and presentation creation. Each skill is self-contained with its own workflow, documentation, and validation, while sharing common components through a nature-shared module. The system is designed for integration with AI agents (like Codex and Claude Code) and emphasizes verifiable, reproducible outputs that comply with journal-specific standards (particularly Nature Portfolio journals).
MarkItDown is a Python library and CLI tool that converts a wide variety of file formats (PDF, DOCX, PPTX, XLSX, HTML, CSV, JSON, EPUB, Outlook MSG, images, audio, YouTube, RSS, IPYNB, ZIP, and more) into Markdown. Its primary production use is preparing documents for LLM ingestion, agent workflows, and text analysis pipelines. The architecture is a monorepo containing the core `markitdown` package, an OCR extension (`markitdown-ocr`) that uses LLM Vision for image text extraction, an MCP server (`markitdown-mcp`) exposing conversion as a tool for AI agents, and a sample plugin for third-party converters. The core library uses a plugin system based on `importlib.metadata.entry_points` to register converters, each implementing a `DocumentConverter` base class with `accepts()`/`convert()` methods and a priority-based dispatch. The main entry points are the `MarkItDown` class (Python API), the `markitdown` CLI, and the MCP server's `convert_to_markdown` tool. Data flows from local files, streams, HTTP responses, or URIs through converter selection (by MIME type, extension, or content inspection) to produce Markdown output. External dependencies include many optional format-specific libraries (pdfminer.six, python-docx, python-pptx, openpyxl, etc.), external binaries (exiftool, ffmpeg), cloud APIs (Azure Document Intelligence, Azure Content Understanding), and an OpenAI-compatible LLM client for image captioning and OCR.
Docling is a production-grade Python library for converting diverse document formats (PDF, DOCX, PPTX, XLSX, HTML, LaTeX, EPUB, images, audio, video, email, EBCDIC, and more) into a unified, structured `DoclingDocument` representation. It is designed to serve as the document understanding layer for AI workflows, particularly Retrieval-Augmented Generation (RAG), agentic AI, and document extraction pipelines. The system provides a rich Python SDK, a Typer-based CLI (`docling convert`), a service client for remote conversion via `docling-serve`, and an MCP server. It supports multiple output formats including Markdown, JSON, HTML, DocTags, and plain text. Architecturally, Docling employs a modular pipeline system with pluggable backends for each input format and a stage-based processing model. The core pipeline (`StandardPdfPipeline`, `VlmPipeline`, `AsrPipeline`) orchestrates page-level operations (preprocessing, OCR, layout detection, table structure recognition, picture classification, reading order) and document-level enrichments (code/formula extraction, heading hierarchy, picture description). Inference engines are abstracted behind factory patterns supporting ONNX Runtime, HuggingFace Transformers, vLLM, MLX, KServe v2, and remote APIs. The library integrates with over 20 OCR engines and vision-language models, and includes a plugin system for extensibility. Key entry points include the `DocumentConverter` class, the CLI (`docling.cli.main`), and the service client (`docling.service_client`). External dependencies span PDF libraries (pypdfium2, docling-parse), ML frameworks (torch, transformers, onnxruntime), OCR engines (Tesseract, EasyOCR, RapidOCR), and cloud services (KServe, Azure, S3). The codebase is actively maintained with frequent releases, extensive test coverage, and a clear migration path from legacy components.
Marker is a high-accuracy document-to-markdown converter that transforms PDFs, images, DOCX, PPTX, XLSX, HTML, and EPUB files into clean markdown, JSON, HTML, or chunked output. It uses a pipeline architecture: a Provider extracts raw text and layout from the input, Builders (layout, line, OCR) construct a structured document model, Processors apply domain-specific transformations (table reconstruction, equation extraction, footnote handling, LLM-based correction), and Renderers produce the final output format. The system is driven by the Surya VLM for layout analysis and OCR, with an optional LLM enhancement layer (Gemini, Claude, OpenAI, etc.) for complex tasks like table merging, inline math, and image descriptions. Key entry points include CLI tools (`marker`, `marker_single`), a FastAPI server (`marker_server`), a Streamlit GUI, and a Python API (`PdfConverter`, `TableConverter`, `OCRConverter`). External dependencies include surya-ocr, pdftext, pypdfium2, torch, transformers, and various LLM SDKs. The codebase is well-structured with a clear separation of concerns, extensive test coverage, and a benchmark suite (olmocr-bench) that validates quality scores (~76% overall balanced mode).
This repository implements an AI-agent skill that converts images, PDFs, and image-based PPT/PPTX files into fully editable PowerPoint (.pptx) documents. The system uses a deterministic CLI state machine (`editppt`) with a four-phase workflow: normalize input into per-page jobs, dispatch to subagents for page reconstruction, record page manifests, and finalize by rebuilding the PPTX from manifests. It integrates OCR (PaddleOCR or offline detector) for text bounding boxes, image generation/editing backends (built-in, OpenAI-compatible, or Codex OAuth), and LaTeX rendering for formulas. The output preserves native text boxes, shapes (including custom paths and polygons), tables, images, and speaker notes, with strict provenance tracking for all assets. The codebase is well-structured with clear separation of concerns, a manifest-driven assembly pattern, and comprehensive tests. However, the last commit date is anomalously in the future (2026-09-16), suggesting the repository may be abandoned or the timestamp is erroneous; combined with only 1 open issue and no recent activity, it is classified as stale. The technical drift is low as the code uses modern Python and standard libraries, but external dependencies (OCR, image APIs, LaTeX) may become incompatible over time.
wechatDownload is a desktop GUI utility for bulk-downloading articles from WeChat official accounts (ĺžŽäżĄĺ Źäźĺˇ). The exported artifacts in example/ prove a production pipeline that converts articles into HTML, MHTML, Markdown, PDF, DOCX, and CSV, while also pulling embedded images, videos (nested MP4s), audio, cover images, and reader comments, and recording social metrics (like_num, read_num, share_num, comment_count) per article into CSV files. The tool supports single-article, full-account batch, and collection-based downloads, plus keyword filtering â all driven from a local GUI (README documents version 4.7+ and Windows/macOS use).