mrkeyoor.com_
Sat 07 Nov 20:48 UTC
AI Toolsevaluationupdated 25 Oct 2026

BabelDOC review

BabelDOC is a Python library for scientific PDF translation and bilingual comparison, mainly designed for embedding in other programs. Its README documents translated and bilingual PDF output through OpenAI-compatible models. The standalone CLI is primarily for debugging, and direct use of its Python APIs is unsupported.

+19stars / 7d
Verdict

Evaluate BabelDOC when you need a scientific PDF translation engine and can own document-specific validation and integration maintenance. Our 28 September 2026 run at commit 38d3896 recorded successful install and build steps, but no translation workload or installed-binary check. The pytest summary recorded zero tests, and the zero-advisory audit result has unknown coverage. For self-deployment with a user interface, consider the README's recommended PDFMathTranslate-next route while observing that project's own support limits.

We ran it

Lab card: what happened when we ran BabelDOCScreenshot of BabelDOC (funstory-ai.github.io/BabelDOC)
Install✓ · 35s106 packages · 744 MB
Build✓ · 5s
Tests✗ · 4s0 passed · 0 failed of 0 (pytest)
Known vulns0(pip-audit)
Repo410 files~77,258 lines of source · 19.9 MB · 7 CI workflows

Answers from our run

Does BabelDOC build from source?

Dependencies installed in 35 seconds (106 packages), and the build succeeded in 5 seconds. We cloned commit 38d3896 into a clean Debian container with 3 CPUs and no project-specific setup.

Do BabelDOC's tests pass?

No. The project's own test command finished in 4 seconds and reported 0 passed, 0 failed (pytest).

Does BabelDOC have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use BabelDOC?

End users who need technical support for the standalone CLI.

What are the alternatives to BabelDOC?

PDFMathTranslate-next, Immersive Translate. Evaluate BabelDOC when you need a scientific PDF translation engine and can own document-specific validation and integration maintenance.

Setup3/5The 28 September 2026 run at commit 38d3896 recorded successful install and build steps in rounded times of 35 and 5 seconds. Model configuration and assets remain necessary, and CLI installation and translation were not verified.
Docs4/5The supplied README details installation, endpoint configuration, PDF options, offline assets and explicit CLI/API support limits. This rates documentation detail, not verified behavior of every option.
Community2/5The README describes maintainer-led development and welcomes reproducible reports and small fixes. Supplied issues show user follow-up, but response reliability, adoption and support capacity were not measured.
Maturity2/5The README calls the project early stage and direct APIs unsupported. Our run provides no translation validation or verified passing suite; issue 613 supplies a document-specific font-classification report for v0.6.4.

Who it’s for

Developers evaluating a PDF translation engine who can accept internal API boundaries.
Teams translating scientific papers, especially English to Chinese, with representative PDFs available for visual review.
Operators who can configure an OpenAI-compatible model endpoint and manage document-processing models and fonts.

Who it’s NOT for

End users who need technical support for the standalone CLI.
Applications requiring a supported, stable direct Python API.
Teams expecting our recorded build to establish translation accuracy, layout fidelity, CLI installation or dependency safety.
Workflows requiring verified support for additional languages without testing their own documents.

Setup reality

In our recorded run on 28 September 2026 at commit 38d3896dcde9b5a940c62cf5563cadea673a64d3, the install step exited successfully in 34.686 seconds, rounded to 35 seconds. The dependency summary recorded 106 packages and 744 MB. The build step exited successfully in 5.141 seconds, rounded to 5 seconds. These are recorded step results; the retained output does not establish that an installed babeldoc executable was checked or that a PDF was translated.

The pytest step exited 5 after 4.187 seconds, rounded to 4 seconds. The parser summary recorded 0 passed, 0 failed and 0 total tests. Its retained warning says no files were found in testpaths and that pytest would search recursively. This does not establish exhaustive test coverage or a failed product assertion. Pip-audit recorded an advisory total of 0, but audit coverage is unknown; the record does not establish how many packages it checked.

The install output identifies Python 3.12.12. The recorded sandbox configuration was 3 CPUs, 8 GB of memory and image ghcr.io/astral-sh/uv:python3.12-bookworm. The README recommends uv with Python 3.12. A translation additionally needs an input PDF, a configured model endpoint and document-processing assets. No translation workload, model quality check or rendered-output comparison is recorded.

Decide who will own the integration

BabelDOC targets developers who need scientific PDF translation and bilingual output inside another program. Its README describes parsing a PDF into an intermediate representation and rendering that structure into a new document. Preserving a paper's layout is the intended use, but our recorded run did not measure how faithfully it does so.

The support boundary matters before choosing an integration. The README calls the CLI a debugging interface and says end-user technical support is not provided for it. It also treats every BabelDOC API as internal and unsupported. For Python integration, it recommends calling high_level.do_translate_async_stream through pdf2zh-next rather than directly depending on BabelDOC APIs.

For self-deployment, the README points to PDFMathTranslate-next. That project describes itself as the official reference implementation for calling BabelDOC and provides an interactive interface, command line and Docker. Its own documentation declines usage assistance, so this recommendation should not be read as a promise of support.

What our recorded run establishes

Our stored run is dated 28 September 2026 at 02:51:46.640 UTC and identifies commit 38d3896dcde9b5a940c62cf5563cadea673a64d3. No new execution was performed for this review.

Recorded step Result Limit
Install Exit 0 in 34.686 seconds, rounded to 35 seconds; dependency summary of 106 packages and 744 MB Does not establish a checked installed CLI or completed translation
Build Exit 0 in 5.141 seconds, rounded to 5 seconds Does not measure PDF output quality
Pytest Exit 5 in 4.187 seconds, rounded to 4 seconds; parser summary of 0 passed, 0 failed and 0 total No passing suite or failed assertion is established; exhaustive coverage was not verified
Pip-audit Recorded advisory total of 0 Coverage is unknown; this is not proof of dependency safety

The retained install output identifies Python 3.12.12. The sandbox configuration records 3 CPUs, 8 GB of memory and image ghcr.io/astral-sh/uv:python3.12-bookworm. The repository summary records 410 files, approximately 77,258 lines of source, 19.9 MB and 7 CI workflow files. Detection found no Dockerfile, Compose file or tests directory; those detection results do not prove the repository contains no tests elsewhere.

Pytest warned that no files were found in testpaths and that it would search recursively. The retained record is a parser summary and output tail, without complete-log reconciliation. Treat it as an inconclusive test run. It does not show that BabelDOC is broken.

Translation needs a separate trial

The README documents an OpenAI-compatible endpoint, model name, API key and PDF paths. It recommends uv with Python 3.12 and supports local endpoints using the same API shape. Its --warmup option downloads and verifies required assets, while offline asset packaging covers document-processing models and fonts. Offline assets do not remove the need for a reachable translation endpoint.

English and Chinese are the default source and target languages. The README says the project mainly focuses on English-to-Chinese translation and that other scenarios have not been tested. This is the project's stated scope, not a language-quality result from our sandbox.

The documentation includes experimental table-text translation, formula-font controls and OCR workarounds. Those options are reasons to trial representative documents rather than assume that a successful build validates every PDF.

Separate document failures from model failures

Issue 613 reports ordinary New Computer Modern text fonts being classified as formulas, leaving body text unavailable to the translation model. The reporter checked v0.6.4 and the then-current main branch. An October 12, 2026 commenter reported improvement after narrowing the font patterns in a proposed fix. These are upstream reports, not our reproduction or proof that a fix reached a release.

Issue 609 initially reported untranslated content at the same full commit used in our sandbox. The reporter later said their model API sometimes returned Content of None and that adding exception handling and retries eliminated the incomplete translation. It should not be presented as an independently established extraction defect.

For an evaluation, choose PDFs with your actual fonts, scripts, equations and page structures. Check whether text reaches the model, whether the response is usable and whether the saved pages remain readable. Compare source and output pages, inspect retained source-language passages and verify navigation where your workflow requires it. These are recommended checks; we did not perform them in the recorded run.

Choose the application layer deliberately

PDFMathTranslate-next is the relevant self-deployment option when you want an interface around BabelDOC. Immersive Translate is relevant when the goal is bilingual reading through an extension rather than embedding a Python engine. Its primary repository states that the product is not open source and that the repository contains releases and feedback rather than its source code.

For a developer evaluation, pin the BabelDOC revision and model configuration, then translate representative documents before committing to the integration. Our install and build results support trying that next step; they do not establish production readiness.

How the scores work

These are editorial evidence ratings, not benchmark results. On this five-point rubric, 1 means the supplied evidence leaves major requirements unresolved; 2 means a documented route exists with substantial limits; 3 means a usable evaluation route is supported with important checks remaining; 4 means detailed evidence supports the category within its stated scope; and 5 requires broad verification beyond this record. Unknown adoption, compatibility and translation quality earn no extra credit. Community measures the documented contribution and feedback route, not popularity.

Alternatives

ProjectWhat it isPick it when
PDFMathTranslate-nextA BabelDOC-based PDF translation application with an interactive interface, command line and Docker deployment.Choose it for self-deployment with a user interface or multiple translation services. BabelDOC recommends this route, but PDFMathTranslate-next explicitly declines usage assistance and provides no quality or performance guarantees.
Immersive TranslateA bilingual translation extension supporting web pages, PDFs, ebooks and subtitles.Choose it for an end-user reading workflow in a browser. Its repository distributes extension releases and collects feedback; it does not contain the product's source code.

What people are saying

  1. [github-trending] funstory-ai/BabelDOC

Sources

  1. BabelDOC repository and README
  2. BabelDOC v0.6.4 release
  3. New Computer Modern formula classification report
  4. Hindi shaping report
  5. Untranslated PDF content report
  6. PDF line overlap report
  7. Bookmark preservation request

More ai tools reviews

grok-bot-templates · WorkDaddy · T3MP3ST · annotated_deep_learning_paper_implementations · guizang-ppt-skill · copilot-cli · the whole board →