BabelDOC 0.3.35__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.
Files changed (106) hide show
  1. {babeldoc-0.3.35 → babeldoc-0.3.37}/PKG-INFO +1 -1
  2. babeldoc-0.3.37/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/const.py +1 -1
  4. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/typesetting.py +2 -0
  5. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/translator.py +10 -1
  6. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/main.py +1 -1
  7. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/pdfinterp.py +5 -1
  8. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/supported_languages.md +39 -11
  9. {babeldoc-0.3.35 → babeldoc-0.3.37}/pyproject.toml +2 -2
  10. {babeldoc-0.3.35 → babeldoc-0.3.37}/uv.lock +301 -323
  11. babeldoc-0.3.35/babeldoc/__init__.py +0 -1
  12. {babeldoc-0.3.35 → babeldoc-0.3.37}/.cursorignore +0 -0
  13. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  14. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  15. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  16. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/dependabot.yml +0 -0
  17. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/labels.yml +0 -0
  18. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/release-drafter.yml +0 -0
  19. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/codeql.yml +0 -0
  20. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/docs.yml +0 -0
  21. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/labeler.yml +0 -0
  22. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/lint.yml +0 -0
  23. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/pr-lint.yml +0 -0
  24. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/publish-to-pypi.yml +0 -0
  25. {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/test.yml +0 -0
  26. {babeldoc-0.3.35 → babeldoc-0.3.37}/.gitignore +0 -0
  27. {babeldoc-0.3.35 → babeldoc-0.3.37}/.pre-commit-config.yaml +0 -0
  28. {babeldoc-0.3.35 → babeldoc-0.3.37}/LICENSE +0 -0
  29. {babeldoc-0.3.35 → babeldoc-0.3.37}/README.md +0 -0
  30. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/assets/assets.py +0 -0
  31. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  32. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/asynchronize/__init__.py +0 -0
  33. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/converter.py +0 -0
  34. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/__init__.py +0 -0
  35. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  36. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/backend/__init__.py +0 -0
  37. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  38. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/frontend/__init__.py +0 -0
  39. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/frontend/il_creater.py +0 -0
  40. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.py +0 -0
  41. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rnc +0 -0
  42. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rng +0 -0
  43. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.xsd +0 -0
  44. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/__init__.py +0 -0
  45. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  46. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  47. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator.py +0 -0
  48. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
  49. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/layout_parser.py +0 -0
  50. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  51. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/remove_descent.py +0 -0
  52. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  53. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/table_parser.py +0 -0
  54. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/__init__.py +0 -0
  55. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/cache.py +0 -0
  56. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  57. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/fontmap.py +0 -0
  58. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/layout_helper.py +0 -0
  59. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
  60. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  61. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/style_helper.py +0 -0
  62. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/zstd_helper.py +0 -0
  63. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/xml_converter.py +0 -0
  64. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/README.md +0 -0
  65. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/__init__.py +0 -0
  66. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/doclayout.py +0 -0
  67. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/rpc_doclayout.py +0 -0
  68. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  69. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/format/office/__init__.py +0 -0
  70. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/high_level.py +0 -0
  71. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/progress_monitor.py +0 -0
  72. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/result_merger.py +0 -0
  73. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/split_manager.py +0 -0
  74. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/generate_font_metadata.py +0 -0
  75. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/italic_assistance.py +0 -0
  76. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/italic_recognize_tool.py +0 -0
  77. {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/translation_config.py +0 -0
  78. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CODE_OF_CONDUCT.md +0 -0
  79. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CONTRIBUTING.md +0 -0
  80. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CONTRIBUTOR_REWARD.md +0 -0
  81. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  82. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  83. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  84. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  85. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  86. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/README.md +0 -0
  87. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  88. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  89. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/README.md +0 -0
  90. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/deploy.sh +0 -0
  91. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-banner.png +0 -0
  92. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  93. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  94. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  95. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  96. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo.png +0 -0
  97. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  98. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-preview.gif +0 -0
  99. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  100. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  101. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo.png +0 -0
  102. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/index.md +0 -0
  103. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/intro-to-pdf-object.md +0 -0
  104. {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/requirements.txt +0 -0
  105. {babeldoc-0.3.35 → babeldoc-0.3.37}/mkdocs.yml +0 -0
  106. {babeldoc-0.3.35 → babeldoc-0.3.37}/tests/test_translation_config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.3.35
3
+ Version: 0.3.37
4
4
  Summary: Yet Another Document Translator
5
5
  Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
6
6
  Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
@@ -0,0 +1 @@
1
+ __version__ = "0.3.37"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.35"
6
+ __version__ = "0.3.37"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -146,6 +146,8 @@ class TypesettingUnit:
146
146
  r"\U0001E900-\U0001E95F" # Adlam
147
147
  r"\u1C80-\u1C8F" # Cyrillic Extended-C
148
148
  r"\U0001E030-\U0001E08F" # Cyrillic Extended-D
149
+ r"\uA000-\uA48F" # Yi Syllables
150
+ r"\uA490-\uA4CF" # Yi Radicals
149
151
  r"'"
150
152
  r"-" # Hyphen
151
153
  r"·" # Middle Dot (U+00B7) For Català
@@ -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(base_url=base_url, api_key=api_key)
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)
@@ -23,7 +23,7 @@ from babeldoc.translation_config import TranslationConfig
23
23
  from babeldoc.translation_config import WatermarkOutputMode
24
24
 
25
25
  logger = logging.getLogger(__name__)
26
- __version__ = "0.3.35"
26
+ __version__ = "0.3.37"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -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
- return PDFColorSpace(name, stream_value(spec[1])["N"])
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:
@@ -3,13 +3,16 @@
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
  | :------------------- | :------------ | :------------------ |
10
+ | English | EN | None |
9
11
  | Simplified Chinese | zh-CN | None |
10
- | Traditional Chinese | zh-TW | None |
11
- | Japanese | JP | None |
12
- | Korean | KR | None |
12
+ | Traditional Chinese - Hong Kong| zh-HK | None |
13
+ | Traditional Chinese - Taiwan | zh-TW | None |
14
+ | Japanese | JA | None |
15
+ | Korean | KO | None |
13
16
  | Polish | PL | Partial |
14
17
  | Russian | RU | None |
15
18
  | Spanish | es | None |
@@ -20,9 +23,7 @@ We are working hard to develop support for ligatures as soon as possible.
20
23
  | Turkmen | tk | None |
21
24
  | Filipino (Tagalog) | tl | None |
22
25
  | Vietnamese | vi | None |
23
- | Azerbaijani | az | None |
24
26
  | Kazakh (Latin) | kk | None |
25
- | Kazakh (Cyrillic) | kk | None |
26
27
  | German | de | None |
27
28
  | Dutch | nl | None |
28
29
  | Irish | ga | None |
@@ -85,7 +86,6 @@ We are working hard to develop support for ligatures as soon as possible.
85
86
  | Akan | ak | None |
86
87
  | Aragonese | an | None |
87
88
  | Avaric | av | None |
88
- | Avestan | ae | None |
89
89
  | Ewe | ee | None |
90
90
  | Aymara | ay | None |
91
91
  | Ojibwa | oj | None |
@@ -95,26 +95,22 @@ We are working hard to develop support for ligatures as soon as possible.
95
95
  | Pali | pi | None |
96
96
  | Bashkir | ba | None |
97
97
  | Basque | eu | None |
98
- | Bambara | bm | None |
99
98
  | Breton | br | None |
100
99
  | Chamorro | ch | None |
101
100
  | Chechen | ce | None |
102
101
  | Chuvash | cv | None |
103
102
  | Tswana | tn | None |
104
- | Divehi | dv | None |
105
103
  | Ndebele, South | nr | None |
106
104
  | Ndonga | ng | None |
107
105
  | Faroese | fo | None |
108
106
  | Fijian | fj | None |
109
107
  | Frisian, Western | fy | None |
110
- | Fulah | ff | None |
111
108
  | Ganda | lg | None |
112
109
  | Kongo | kg | None |
113
110
  | Kalaallisut | kl | None |
114
111
  | Church Slavic | cu | None |
115
112
  | Guarani | gn | None |
116
113
  | Interlingua | ia | None |
117
- | Hausa | ha | None |
118
114
  | Herero | hz | None |
119
115
  | Kikuyu | ki | None |
120
116
  | Rundi | rn | None |
@@ -137,4 +133,36 @@ We are working hard to develop support for ligatures as soon as possible.
137
133
  | Malagasy | mg | None |
138
134
  | Marshallese | mh | None |
139
135
  | Maori | mi | None |
140
-
136
+ | Navajo | nv | None |
137
+ | Nauru | na | None |
138
+ | Nyanja | ny | None |
139
+ | Norwegian Nynorsk | nn | None |
140
+ | Sardinian | sc | None |
141
+ | Northern Sami | se | None |
142
+ | Samoan | sm | None |
143
+ | Sango | sg | None |
144
+ | Shona | sn | None |
145
+ | Esperanto | eo | None |
146
+ | Scottish Gaelic | gd | None |
147
+ | Somali | so | None |
148
+ | Southern Sotho | st | None |
149
+ | Tagalog | tl | None |
150
+ | Tatar | tt | None |
151
+ | Tahitian | ty | None |
152
+ | Tongan | to | None |
153
+ | Twi | tw | None |
154
+ | Walloon | wa | None |
155
+ | Welsh | cy | None |
156
+ | Venda | ve | None |
157
+ | Volapük | vo | None |
158
+ | Interlingue | ie | None |
159
+ | Hiri Motu | ho | None |
160
+ | Igbo | ig | None |
161
+ | Ido | io | None |
162
+ | Inuktitut | iu | None |
163
+ | Inupiaq | ik | None |
164
+ | Sichuan Yi | ii | None |
165
+ | Yoruba | yo | None |
166
+ | Zhuang | za | None |
167
+ | Tsonga | ts | None |
168
+ | Zulu | zu | None |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.3.35"
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.35"
153
+ current_version = "0.3.37"
154
154
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
155
155
 
156
156
  [bumpver.file_patterns]