BabelDOC 0.3.29__tar.gz → 0.3.31__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.29 → babeldoc-0.3.31}/.github/workflows/docs.yml +1 -1
  2. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/publish-to-pypi.yml +3 -3
  3. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/test.yml +1 -1
  4. {babeldoc-0.3.29 → babeldoc-0.3.31}/PKG-INFO +1 -1
  5. babeldoc-0.3.31/babeldoc/__init__.py +1 -0
  6. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/const.py +1 -1
  7. babeldoc-0.3.31/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +8 -0
  8. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/detect_scanned_file.py +1 -1
  9. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/il_translator_llm_only.py +3 -0
  10. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/paragraph_finder.py +22 -0
  11. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/typesetting.py +9 -0
  12. babeldoc-0.3.31/babeldoc/document_il/utils/paragraph_helper.py +35 -0
  13. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/main.py +1 -1
  14. {babeldoc-0.3.29 → babeldoc-0.3.31}/pyproject.toml +2 -2
  15. {babeldoc-0.3.29 → babeldoc-0.3.31}/uv.lock +1 -1
  16. babeldoc-0.3.29/babeldoc/__init__.py +0 -1
  17. babeldoc-0.3.29/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -3
  18. {babeldoc-0.3.29 → babeldoc-0.3.31}/.cursorignore +0 -0
  19. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  20. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  21. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  22. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/dependabot.yml +0 -0
  23. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/labels.yml +0 -0
  24. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/release-drafter.yml +0 -0
  25. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/codeql.yml +0 -0
  26. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/labeler.yml +0 -0
  27. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/lint.yml +0 -0
  28. {babeldoc-0.3.29 → babeldoc-0.3.31}/.github/workflows/pr-lint.yml +0 -0
  29. {babeldoc-0.3.29 → babeldoc-0.3.31}/.gitignore +0 -0
  30. {babeldoc-0.3.29 → babeldoc-0.3.31}/.pre-commit-config.yaml +0 -0
  31. {babeldoc-0.3.29 → babeldoc-0.3.31}/LICENSE +0 -0
  32. {babeldoc-0.3.29 → babeldoc-0.3.31}/README.md +0 -0
  33. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/assets/assets.py +0 -0
  34. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  35. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/asynchronize/__init__.py +0 -0
  36. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/converter.py +0 -0
  37. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/__init__.py +0 -0
  38. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/backend/__init__.py +0 -0
  39. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  40. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/frontend/__init__.py +0 -0
  41. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/frontend/il_creater.py +0 -0
  42. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/il_version_1.py +0 -0
  43. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/il_version_1.rnc +0 -0
  44. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/il_version_1.rng +0 -0
  45. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/il_version_1.xsd +0 -0
  46. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/__init__.py +0 -0
  47. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  48. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/il_translator.py +0 -0
  49. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/layout_parser.py +0 -0
  50. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/remove_descent.py +0 -0
  51. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  52. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/midend/table_parser.py +0 -0
  53. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/translator/__init__.py +0 -0
  54. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/translator/cache.py +0 -0
  55. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/translator/translator.py +0 -0
  56. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  57. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/fontmap.py +0 -0
  58. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/layout_helper.py +0 -0
  59. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  60. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/style_helper.py +0 -0
  61. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/utils/zstd_helper.py +0 -0
  62. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/document_il/xml_converter.py +0 -0
  63. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/docvision/README.md +0 -0
  64. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/docvision/__init__.py +0 -0
  65. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/docvision/doclayout.py +0 -0
  66. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/docvision/rpc_doclayout.py +0 -0
  67. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  68. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/format/office/__init__.py +0 -0
  69. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/high_level.py +0 -0
  70. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/pdfinterp.py +0 -0
  71. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/progress_monitor.py +0 -0
  72. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/result_merger.py +0 -0
  73. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/split_manager.py +0 -0
  74. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/tools/generate_font_metadata.py +0 -0
  75. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/tools/italic_assistance.py +0 -0
  76. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/tools/italic_recognize_tool.py +0 -0
  77. {babeldoc-0.3.29 → babeldoc-0.3.31}/babeldoc/translation_config.py +0 -0
  78. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/CODE_OF_CONDUCT.md +0 -0
  79. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/CONTRIBUTING.md +0 -0
  80. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/CONTRIBUTOR_REWARD.md +0 -0
  81. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  82. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  83. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  84. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  85. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  86. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/README.md +0 -0
  87. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  88. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  89. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/README.md +0 -0
  90. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/deploy.sh +0 -0
  91. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-banner.png +0 -0
  92. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  93. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  94. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  95. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  96. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-big-logo.png +0 -0
  97. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  98. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-preview.gif +0 -0
  99. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  100. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  101. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/images/babeldoc-small-logo.png +0 -0
  102. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/index.md +0 -0
  103. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/intro-to-pdf-object.md +0 -0
  104. {babeldoc-0.3.29 → babeldoc-0.3.31}/docs/requirements.txt +0 -0
  105. {babeldoc-0.3.29 → babeldoc-0.3.31}/mkdocs.yml +0 -0
  106. {babeldoc-0.3.29 → babeldoc-0.3.31}/tests/test_translation_config.py +0 -0
@@ -17,7 +17,7 @@ jobs:
17
17
  git config user.name github-actions[bot]
18
18
  git config user.email 41898282+github-actions[bot]@users.noreply.github.com
19
19
  - name: Setup uv with Python 3.12
20
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
20
+ uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0
21
21
  with:
22
22
  python-version: "3.12"
23
23
  enable-cache: true
@@ -35,7 +35,7 @@ jobs:
35
35
  token: ${{ secrets.GITHUB_TOKEN }}
36
36
 
37
37
  - name: Setup uv with Python 3.12
38
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
38
+ uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0
39
39
  with:
40
40
  python-version: "3.12"
41
41
  enable-cache: true
@@ -89,7 +89,7 @@ jobs:
89
89
 
90
90
  steps:
91
91
  - name: Download all the dists
92
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
92
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
93
93
  with:
94
94
  name: python-package-distributions
95
95
  path: dist/
@@ -113,7 +113,7 @@ jobs:
113
113
 
114
114
  steps:
115
115
  - name: Download all the dists
116
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
116
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
117
117
  with:
118
118
  name: python-package-distributions
119
119
  path: dist/
@@ -28,7 +28,7 @@ jobs:
28
28
  path: ~/.cache/babeldoc
29
29
  key: babeldoc-assets-${{ hashFiles('babeldoc/assets/embedding_assets_metadata.py') }}
30
30
  - name: Setup uv with Python ${{ matrix.python-version }}
31
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
31
+ uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0
32
32
  with:
33
33
  python-version: ${{ matrix.python-version }}
34
34
  enable-cache: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.3.29
3
+ Version: 0.3.31
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.31"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.29"
6
+ __version__ = "0.3.31"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -0,0 +1,8 @@
1
+ class ScannedPDFError(Exception):
2
+ def __init__(self, message):
3
+ super().__init__(message)
4
+
5
+
6
+ class ExtractTextError(Exception):
7
+ def __init__(self, message):
8
+ super().__init__(message)
@@ -130,4 +130,4 @@ class DetectScannedFile:
130
130
  )[:, :, ::-1]
131
131
  before_page_image = cv2.cvtColor(before_page_image, cv2.COLOR_RGB2GRAY)
132
132
  after_page_image = cv2.cvtColor(after_page_image, cv2.COLOR_RGB2GRAY)
133
- return structural_similarity(before_page_image, after_page_image) > 0.9
133
+ return structural_similarity(before_page_image, after_page_image) > 0.98
@@ -16,6 +16,7 @@ from babeldoc.document_il.midend.il_translator import ILTranslator
16
16
  from babeldoc.document_il.midend.il_translator import PageTranslateTracker
17
17
  from babeldoc.document_il.translator.translator import BaseTranslator
18
18
  from babeldoc.document_il.utils.fontmap import FontMapper
19
+ from babeldoc.document_il.utils.paragraph_helper import is_cid_paragraph
19
20
  from babeldoc.document_il.utils.priority_thread_pool_executor import (
20
21
  PriorityThreadPoolExecutor,
21
22
  )
@@ -162,6 +163,8 @@ class ILTranslatorLLMOnly:
162
163
  for paragraph in page.pdf_paragraph:
163
164
  if paragraph.debug_id is None or paragraph.unicode is None:
164
165
  continue
166
+ if is_cid_paragraph(paragraph):
167
+ continue
165
168
  # self.translate_paragraph(paragraph, pbar,tracker.new_paragraph(), page_font_map, page_xobj_font_map)
166
169
  total_token_count += self.calc_token_count(paragraph.unicode)
167
170
  paragraphs.append(paragraph)
@@ -3,16 +3,19 @@ import random
3
3
  import re
4
4
 
5
5
  from babeldoc.document_il import Box
6
+ from babeldoc.document_il import Document
6
7
  from babeldoc.document_il import Page
7
8
  from babeldoc.document_il import PdfCharacter
8
9
  from babeldoc.document_il import PdfLine
9
10
  from babeldoc.document_il import PdfParagraph
10
11
  from babeldoc.document_il import PdfParagraphComposition
11
12
  from babeldoc.document_il import PdfRectangle
13
+ from babeldoc.document_il.babeldoc_exception.BabelDOCException import ExtractTextError
12
14
  from babeldoc.document_il.utils.layout_helper import Layout
13
15
  from babeldoc.document_il.utils.layout_helper import add_space_dummy_chars
14
16
  from babeldoc.document_il.utils.layout_helper import get_char_unicode_string
15
17
  from babeldoc.document_il.utils.layout_helper import is_bullet_point
18
+ from babeldoc.document_il.utils.paragraph_helper import is_cid_paragraph
16
19
  from babeldoc.document_il.utils.style_helper import WHITE
17
20
  from babeldoc.translation_config import TranslationConfig
18
21
 
@@ -132,6 +135,25 @@ class ParagraphFinder:
132
135
  self.process_page(page)
133
136
  pbar.advance()
134
137
 
138
+ if self.check_cid_paragraph(document):
139
+ raise ExtractTextError("The document contains too many CID paragraphs.")
140
+
141
+ total_paragraph_count = 0
142
+ for page in document.page:
143
+ total_paragraph_count += len(page.pdf_paragraph)
144
+ if total_paragraph_count == 0:
145
+ raise ExtractTextError("The document contains no paragraphs.")
146
+
147
+ def check_cid_paragraph(self, doc: Document):
148
+ cid_para_count = 0
149
+ para_total = 0
150
+ for page in doc.page:
151
+ para_total += len(page.pdf_paragraph)
152
+ for para in page.pdf_paragraph:
153
+ if is_cid_paragraph(para):
154
+ cid_para_count += 1
155
+ return cid_para_count / para_total > 0.8
156
+
135
157
  def bbox_overlap(self, bbox1: Box, bbox2: Box) -> bool:
136
158
  return (
137
159
  bbox1.x < bbox2.x2
@@ -138,9 +138,18 @@ class TypesettingUnit:
138
138
  r"\u2D00-\u2D2F" # Georgian Supplement
139
139
  r"\u1780-\u17FF" # Khmer
140
140
  r"\u19E0-\u19FF" # Khmer Symbols
141
+ r"\U00010B00-\U00010B3F" # Avestan
142
+ r"\u1D00-\u1D7F" # Phonetic Extensions
143
+ r"\u1400-\u167F" # Unified Canadian Aboriginal Syllabics
144
+ r"\u0B00-\u0B7F" # Oriya
145
+ r"\u0780-\u07BF" # Thaana
146
+ r"\U0001E900-\U0001E95F" # Adlam
147
+ r"\u1C80-\u1C8F" # Cyrillic Extended-C
148
+ r"\U0001E030-\U0001E08F" # Cyrillic Extended-D
141
149
  r"'"
142
150
  r"-" # Hyphen
143
151
  r"·" # Middle Dot (U+00B7) For Català
152
+ r"ʻ" # Spacing Modifier Letters U+02BB
144
153
  r"]+$",
145
154
  unicode,
146
155
  ):
@@ -0,0 +1,35 @@
1
+ import logging
2
+ import re
3
+
4
+ from babeldoc.document_il import il_version_1
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+
9
+ def is_cid_paragraph(paragraph: il_version_1.PdfParagraph):
10
+ chars: list[il_version_1.PdfCharacter] = []
11
+ for composition in paragraph.pdf_paragraph_composition:
12
+ if composition.pdf_line:
13
+ chars.extend(composition.pdf_line.pdf_character)
14
+ elif composition.pdf_same_style_characters:
15
+ chars.extend(composition.pdf_same_style_characters.pdf_character)
16
+ elif composition.pdf_same_style_unicode_characters:
17
+ chars.extend(composition.pdf_same_style_unicode_characters.unicode)
18
+ elif composition.pdf_formula:
19
+ chars.extend(composition.pdf_formula.pdf_character)
20
+ elif composition.pdf_character:
21
+ chars.append(composition.pdf_character)
22
+ else:
23
+ logger.error(
24
+ f"Unknown composition type. "
25
+ f"Composition: {composition}. "
26
+ f"Paragraph: {paragraph}. ",
27
+ )
28
+ continue
29
+
30
+ cid_count = 0
31
+ for char in chars:
32
+ if re.match(r"^\(cid:\d+\)$", char.char_unicode):
33
+ cid_count += 1
34
+
35
+ return cid_count > len(chars) * 0.8
@@ -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.29"
26
+ __version__ = "0.3.31"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.3.29"
3
+ version = "0.3.31"
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.29"
153
+ current_version = "0.3.31"
154
154
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
155
155
 
156
156
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.3.29"
51
+ version = "0.3.31"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.3.29"
@@ -1,3 +0,0 @@
1
- class ScannedPDFError(Exception):
2
- def __init__(self, message):
3
- super().__init__(message)
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