BabelDOC 0.3.36__tar.gz → 0.3.37__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {babeldoc-0.3.36 → babeldoc-0.3.37}/PKG-INFO +1 -1
- babeldoc-0.3.37/babeldoc/__init__.py +1 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/const.py +1 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/translator/translator.py +10 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/main.py +1 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/pdfinterp.py +5 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/pyproject.toml +2 -2
- {babeldoc-0.3.36 → babeldoc-0.3.37}/uv.lock +1 -1
- babeldoc-0.3.36/babeldoc/__init__.py +0 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.cursorignore +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/dependabot.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/labels.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/release-drafter.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.github/workflows/test.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.gitignore +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/LICENSE +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/README.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/converter.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/frontend/il_creater.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/atomic_integer.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/format/office/__init__.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/high_level.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/result_merger.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/split_manager.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/README.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/deploy.sh +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/index.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/requirements.txt +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/docs/supported_languages.md +1 -1
- {babeldoc-0.3.36 → babeldoc-0.3.37}/mkdocs.yml +0 -0
- {babeldoc-0.3.36 → babeldoc-0.3.37}/tests/test_translation_config.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.37"
|
|
@@ -6,6 +6,7 @@ import unicodedata
|
|
|
6
6
|
from abc import ABC
|
|
7
7
|
from abc import abstractmethod
|
|
8
8
|
|
|
9
|
+
import httpx
|
|
9
10
|
import openai
|
|
10
11
|
from tenacity import retry
|
|
11
12
|
from tenacity import retry_if_exception_type
|
|
@@ -191,7 +192,15 @@ class OpenAITranslator(BaseTranslator):
|
|
|
191
192
|
):
|
|
192
193
|
super().__init__(lang_in, lang_out, ignore_cache)
|
|
193
194
|
self.options = {"temperature": 0} # 随机采样可能会打断公式标记
|
|
194
|
-
self.client = openai.OpenAI(
|
|
195
|
+
self.client = openai.OpenAI(
|
|
196
|
+
base_url=base_url,
|
|
197
|
+
api_key=api_key,
|
|
198
|
+
http_client=httpx.Client(
|
|
199
|
+
limits=httpx.Limits(
|
|
200
|
+
max_connections=None, max_keepalive_connections=None
|
|
201
|
+
)
|
|
202
|
+
),
|
|
203
|
+
)
|
|
195
204
|
self.add_cache_impact_parameters("temperature", self.options["temperature"])
|
|
196
205
|
self.model = model
|
|
197
206
|
self.add_cache_impact_parameters("model", self.model)
|
|
@@ -130,7 +130,11 @@ class PDFPageInterpreterEx(PDFPageInterpreter):
|
|
|
130
130
|
else:
|
|
131
131
|
name = literal_name(spec)
|
|
132
132
|
if name == "ICCBased" and isinstance(spec, list) and len(spec) >= 2:
|
|
133
|
-
|
|
133
|
+
val = stream_value(spec[1])
|
|
134
|
+
if "N" in val:
|
|
135
|
+
return PDFColorSpace(name, val["N"])
|
|
136
|
+
elif "Alternate" in val:
|
|
137
|
+
return PREDEFINED_COLORSPACE[val["Alternate"].name]
|
|
134
138
|
elif name == "DeviceN" and isinstance(spec, list) and len(spec) >= 2:
|
|
135
139
|
return PDFColorSpace(name, len(list_value(spec[1])))
|
|
136
140
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.37"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -150,7 +150,7 @@ pythonpath = [".", "src"]
|
|
|
150
150
|
testpaths = ["tests"]
|
|
151
151
|
|
|
152
152
|
[bumpver]
|
|
153
|
-
current_version = "0.3.
|
|
153
|
+
current_version = "0.3.37"
|
|
154
154
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
155
155
|
|
|
156
156
|
[bumpver.file_patterns]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.36"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/babeldoc/document_il/utils/priority_thread_pool_executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.36 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
For languages in the table below that do not rely on ligature support, BabelDOC provides good support. For languages that partially rely on ligatures, BabelDOC's translation results can generally meet self-reading needs. For languages that completely rely on ligatures (such as some Indian languages), BabelDOC does not currently support them.
|
|
4
4
|
|
|
5
5
|
We are working hard to develop support for ligatures as soon as possible.
|
|
6
|
+
<!-- | Kazakh (Cyrillic) | kk | None | -->
|
|
6
7
|
|
|
7
8
|
| Language | Language Code | Ligature Dependency |
|
|
8
9
|
| :------------------- | :------------ | :------------------ |
|
|
@@ -23,7 +24,6 @@ We are working hard to develop support for ligatures as soon as possible.
|
|
|
23
24
|
| Filipino (Tagalog) | tl | None |
|
|
24
25
|
| Vietnamese | vi | None |
|
|
25
26
|
| Kazakh (Latin) | kk | None |
|
|
26
|
-
<!-- | Kazakh (Cyrillic) | kk | None | -->
|
|
27
27
|
| German | de | None |
|
|
28
28
|
| Dutch | nl | None |
|
|
29
29
|
| Irish | ga | None |
|
|
File without changes
|
|
File without changes
|