txt2ebook 0.1.138__tar.gz → 0.1.139__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.
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/CHANGELOG.md +8 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/PKG-INFO +2 -2
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/pyproject.toml +2 -2
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/typ.py +5 -2
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/parser.py +2 -2
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/tokenizer.py +20 -5
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/uv.lock +35 -35
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/.coveragerc +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/.gitignore +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/.pre-commit-config.yaml +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/.python-version +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/CONTRIBUTING.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/LICENSE.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/README.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/Makefile +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/make.bat +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/CHANGELOG.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/CONTRIBUTING.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/LICENSE.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/README.md +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/_static/logo.png +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/conf.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/index.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/txt2ebook.formats.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/txt2ebook.helpers.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/txt2ebook.models.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/txt2ebook.parsers.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/docs/source/txt2ebook.rst +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/noxfile.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/__main__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/cli.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/exceptions.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/base.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/epub.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/gmi.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/md.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/pdf.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/templates/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/templates/epub/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/templates/epub/clean.css +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/templates/epub/condense.css +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/templates/epub/noindent.css +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/tex.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/formats/txt.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/helpers/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/languages/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/languages/en.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/languages/zh_cn.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/languages/zh_tw.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/en/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/en/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/txt2ebook.pot +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/models/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/models/book.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/models/chapter.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/models/volume.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/env.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/epub.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/gmi.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/massage.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/md.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/parse.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/pdf.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/tex.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/subcommands/typ.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/zh_utils.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/__init__.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/conftest.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/empty_file.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/missing_chapters.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_all_headers.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_long_headers.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_remove_wrapping.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_unsorted_headers.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_with_issues.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/fixtures/sample_with_metadata.txt +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_epub_writer.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_filename_format_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_format_option.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_header_number_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_input_file_arg.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_language_option.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_output_file_arg.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_overwrite_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_parser.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_purge_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_quiet_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_raise_warnings.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_sort_volume_and_chapter_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_split_volume_and_chapter_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_subcommand_env.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_subcommand_epub.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_subcommand_massage.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_test_parsing_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_tokenizer.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_translator_option.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_txt2ebook.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_verbose_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_volume_page_flag.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_zh_utils_zh_halfwidth_to_fullwidth.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_zh_utils_zh_numeric.py +0 -0
- {txt2ebook-0.1.138 → txt2ebook-0.1.139}/tests/test_zh_utils_zh_words_to_numbers.py +0 -0
@@ -7,6 +7,14 @@ and this project adheres to [0-based versioning](https://0ver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## v0.1.139 (2025-05-11)
|
11
|
+
|
12
|
+
- Bump deps
|
13
|
+
- Bump typst to 0.13.2
|
14
|
+
- Ensure indentation for first paragraph for typ doc
|
15
|
+
- Refactor content tokenization to handle metadata blocks correctly.
|
16
|
+
- Remove field() from Parser attributes
|
17
|
+
|
10
18
|
## v0.1.138 (2025-05-04)
|
11
19
|
|
12
20
|
- Bump deps
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: txt2ebook
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.139
|
4
4
|
Summary: CLI tool to convert txt file to ebook format
|
5
5
|
Project-URL: Homepage, https://github.com/kianmeng/txt2ebook
|
6
6
|
Project-URL: Repository, https://github.com/kianmeng/txt2ebook
|
@@ -38,7 +38,7 @@ Requires-Dist: pypandoc~=1.11
|
|
38
38
|
Requires-Dist: regex<2022,>=2021.11.10
|
39
39
|
Requires-Dist: reportlab<5,>=4.0.0
|
40
40
|
Requires-Dist: typing-extensions<5,>=4.5.0
|
41
|
-
Requires-Dist: typst
|
41
|
+
Requires-Dist: typst>=0.13.0
|
42
42
|
Description-Content-Type: text/markdown
|
43
43
|
|
44
44
|
# txt2ebook
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "txt2ebook"
|
3
|
-
version = "0.1.
|
3
|
+
version = "0.1.139"
|
4
4
|
description = "CLI tool to convert txt file to ebook format"
|
5
5
|
authors = [{ name = "Kian-Meng Ang", email = "kianmeng@cpan.org" }]
|
6
6
|
requires-python = "~=3.9"
|
@@ -40,7 +40,7 @@ dependencies = [
|
|
40
40
|
"pypandoc~=1.11",
|
41
41
|
"typing-extensions>=4.5.0,<5",
|
42
42
|
"reportlab>=4.0.0,<5",
|
43
|
-
"typst>=0.
|
43
|
+
"typst>=0.13.0",
|
44
44
|
"importlib-resources>=6.1.1,<7",
|
45
45
|
"pylatex>=1.4.2,<2",
|
46
46
|
"lxml>=5.2.2,<6",
|
@@ -35,8 +35,8 @@ logger = logging.getLogger(__name__)
|
|
35
35
|
class Parser:
|
36
36
|
"""Parser class to massage and parse a text content."""
|
37
37
|
|
38
|
-
raw_content: str
|
39
|
-
config: argparse.Namespace
|
38
|
+
raw_content: str
|
39
|
+
config: argparse.Namespace
|
40
40
|
|
41
41
|
def __init__(self, raw_content: str, config: argparse.Namespace) -> None:
|
42
42
|
"""Set the constructor for the Parser."""
|
@@ -171,12 +171,27 @@ class Tokenizer:
|
|
171
171
|
|
172
172
|
|
173
173
|
def _tokenize_content(self) -> None:
|
174
|
-
#
|
175
|
-
|
176
|
-
|
177
|
-
|
174
|
+
# Determine the actual content part, after any metadata block
|
175
|
+
metadata_block_re = (
|
176
|
+
rf"^(?:{self.metadata_marker})\n(.*)\n(?:{self.metadata_marker})$"
|
177
|
+
)
|
178
|
+
match = re.search(
|
179
|
+
metadata_block_re, self.raw_content, re.MULTILINE | re.DOTALL
|
180
|
+
)
|
178
181
|
|
179
|
-
if
|
182
|
+
if match:
|
183
|
+
# Content starts after the matched metadata block
|
184
|
+
content_str = self.raw_content[match.end(0) :]
|
185
|
+
else:
|
186
|
+
# No metadata block found according to the pattern,
|
187
|
+
# so assume all raw_content is the actual content.
|
188
|
+
# _extract_metadata would have already logged/warned if metadata was expected.
|
189
|
+
content_str = self.raw_content
|
190
|
+
|
191
|
+
content_str = content_str.strip(self.config.paragraph_separator)
|
192
|
+
lines = content_str.split(self.config.paragraph_separator)
|
193
|
+
|
194
|
+
if len(lines) <= 1 and content_str: # Avoid warning for empty content
|
180
195
|
msg = (
|
181
196
|
"Cannot split content by "
|
182
197
|
f"{repr(self.config.paragraph_separator)}. "
|
@@ -952,11 +952,11 @@ wheels = [
|
|
952
952
|
|
953
953
|
[[package]]
|
954
954
|
name = "platformdirs"
|
955
|
-
version = "4.3.
|
955
|
+
version = "4.3.8"
|
956
956
|
source = { registry = "https://pypi.org/simple" }
|
957
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
957
|
+
sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" }
|
958
958
|
wheels = [
|
959
|
-
{ url = "https://files.pythonhosted.org/packages/
|
959
|
+
{ url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" },
|
960
960
|
]
|
961
961
|
|
962
962
|
[[package]]
|
@@ -1023,7 +1023,7 @@ sdist = { url = "https://files.pythonhosted.org/packages/6d/a8/10cf6b955b5fa1943
|
|
1023
1023
|
|
1024
1024
|
[[package]]
|
1025
1025
|
name = "pylint"
|
1026
|
-
version = "3.3.
|
1026
|
+
version = "3.3.7"
|
1027
1027
|
source = { registry = "https://pypi.org/simple" }
|
1028
1028
|
dependencies = [
|
1029
1029
|
{ name = "astroid" },
|
@@ -1036,9 +1036,9 @@ dependencies = [
|
|
1036
1036
|
{ name = "tomlkit" },
|
1037
1037
|
{ name = "typing-extensions", marker = "python_full_version < '3.10'" },
|
1038
1038
|
]
|
1039
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1039
|
+
sdist = { url = "https://files.pythonhosted.org/packages/1c/e4/83e487d3ddd64ab27749b66137b26dc0c5b5c161be680e6beffdc99070b3/pylint-3.3.7.tar.gz", hash = "sha256:2b11de8bde49f9c5059452e0c310c079c746a0a8eeaa789e5aa966ecc23e4559", size = 1520709, upload-time = "2025-05-04T17:07:51.089Z" }
|
1040
1040
|
wheels = [
|
1041
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1041
|
+
{ url = "https://files.pythonhosted.org/packages/e8/83/bff755d09e31b5d25cc7fdc4bf3915d1a404e181f1abf0359af376845c24/pylint-3.3.7-py3-none-any.whl", hash = "sha256:43860aafefce92fca4cf6b61fe199cdc5ae54ea28f9bf4cd49de267b5195803d", size = 522565, upload-time = "2025-05-04T17:07:48.714Z" },
|
1042
1042
|
]
|
1043
1043
|
|
1044
1044
|
[[package]]
|
@@ -1256,11 +1256,11 @@ sdist = { url = "https://files.pythonhosted.org/packages/c8/48/609b5463da485943d
|
|
1256
1256
|
|
1257
1257
|
[[package]]
|
1258
1258
|
name = "setuptools"
|
1259
|
-
version = "80.3.
|
1259
|
+
version = "80.3.1"
|
1260
1260
|
source = { registry = "https://pypi.org/simple" }
|
1261
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1261
|
+
sdist = { url = "https://files.pythonhosted.org/packages/70/dc/3976b322de9d2e87ed0007cf04cc7553969b6c7b3f48a565d0333748fbcd/setuptools-80.3.1.tar.gz", hash = "sha256:31e2c58dbb67c99c289f51c16d899afedae292b978f8051efaf6262d8212f927", size = 1315082, upload-time = "2025-05-04T18:47:04.397Z" }
|
1262
1262
|
wheels = [
|
1263
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1263
|
+
{ url = "https://files.pythonhosted.org/packages/53/7e/5d8af3317ddbf9519b687bd1c39d8737fde07d97f54df65553faca5cffb1/setuptools-80.3.1-py3-none-any.whl", hash = "sha256:ea8e00d7992054c4c592aeb892f6ad51fe1b4d90cc6947cc45c45717c40ec537", size = 1201172, upload-time = "2025-05-04T18:47:02.575Z" },
|
1264
1264
|
]
|
1265
1265
|
|
1266
1266
|
[[package]]
|
@@ -1274,11 +1274,11 @@ wheels = [
|
|
1274
1274
|
|
1275
1275
|
[[package]]
|
1276
1276
|
name = "snowballstemmer"
|
1277
|
-
version = "
|
1277
|
+
version = "3.0.0.1"
|
1278
1278
|
source = { registry = "https://pypi.org/simple" }
|
1279
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1279
|
+
sdist = { url = "https://files.pythonhosted.org/packages/71/81/f47e97c9850c529ab233fd1cd8319e0e5a1cfae49c87c49ab2fd0a19c744/snowballstemmer-3.0.0.1.tar.gz", hash = "sha256:1d09493a5ecc85fb5b433674e9c83fcd41c6739b6979ce4b54e81a40ec078342", size = 105321, upload-time = "2025-05-08T12:30:36.516Z" }
|
1280
1280
|
wheels = [
|
1281
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1281
|
+
{ url = "https://files.pythonhosted.org/packages/17/29/38d0cd1c958894aa042433a1515b7dab49a0a79b39df953b30b7ded716ce/snowballstemmer-3.0.0.1-py3-none-any.whl", hash = "sha256:d1cdabc06fb492e80620d9e2c44d39e67cfda290b2aaef8718b0691079443b10", size = 103250, upload-time = "2025-05-08T12:30:34.651Z" },
|
1282
1282
|
]
|
1283
1283
|
|
1284
1284
|
[[package]]
|
@@ -1468,7 +1468,7 @@ wheels = [
|
|
1468
1468
|
|
1469
1469
|
[[package]]
|
1470
1470
|
name = "txt2ebook"
|
1471
|
-
version = "0.1.
|
1471
|
+
version = "0.1.138"
|
1472
1472
|
source = { editable = "." }
|
1473
1473
|
dependencies = [
|
1474
1474
|
{ name = "bs4" },
|
@@ -1523,7 +1523,7 @@ requires-dist = [
|
|
1523
1523
|
{ name = "regex", specifier = ">=2021.11.10,<2022" },
|
1524
1524
|
{ name = "reportlab", specifier = ">=4.0.0,<5" },
|
1525
1525
|
{ name = "typing-extensions", specifier = ">=4.5.0,<5" },
|
1526
|
-
{ name = "typst", specifier = ">=0.
|
1526
|
+
{ name = "typst", specifier = ">=0.13.0" },
|
1527
1527
|
]
|
1528
1528
|
|
1529
1529
|
[package.metadata.requires-dev]
|
@@ -1560,26 +1560,26 @@ wheels = [
|
|
1560
1560
|
|
1561
1561
|
[[package]]
|
1562
1562
|
name = "typst"
|
1563
|
-
version = "0.
|
1563
|
+
version = "0.13.2"
|
1564
1564
|
source = { registry = "https://pypi.org/simple" }
|
1565
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1565
|
+
sdist = { url = "https://files.pythonhosted.org/packages/90/84/e6c135449a9df3e1d5b81156db2decd84a089439212f2d0a1f754a558d3f/typst-0.13.2.tar.gz", hash = "sha256:ee84c54886bf1c1890dd064819d9d2e332e1ae1fff89a3615fae429b239305a4", size = 38968, upload-time = "2025-03-20T09:58:28.364Z" }
|
1566
1566
|
wheels = [
|
1567
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1568
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1569
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1570
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1571
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1572
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1573
|
-
{ url = "https://files.pythonhosted.org/packages/c6/
|
1574
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1575
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1576
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1577
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1578
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1579
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1580
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1581
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1582
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1567
|
+
{ url = "https://files.pythonhosted.org/packages/fe/69/bb21498c2386ff2973620013452aba3316d36edd09028f19e7a8b92efe39/typst-0.13.2-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:1bd26a9f51fb2cf72a071034642c2cd0aec0236ed5f379e4a0c3aa07fd40ef90", size = 18655258, upload-time = "2025-03-20T09:57:39.983Z" },
|
1568
|
+
{ url = "https://files.pythonhosted.org/packages/94/7a/393693dbe8e51b3aea0ba0247a21019900c6b537a579e84ec60cc17e5620/typst-0.13.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:81f201740cfe2e04dde3f69d7f08358b78be942c0e7c889abc6c6fe89c3a4f2c", size = 18177502, upload-time = "2025-03-20T09:57:43.136Z" },
|
1569
|
+
{ url = "https://files.pythonhosted.org/packages/01/2e/af7f9a7dbc98b79bee1011a745966fafd12a4fefb56c523e10d1082344c9/typst-0.13.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7845dcb07e1d1f569810db64d5efb5b657598a25f73b03dccad1034d0684c6f0", size = 21694339, upload-time = "2025-03-20T09:57:46.266Z" },
|
1570
|
+
{ url = "https://files.pythonhosted.org/packages/39/57/77bb34c270cfb1ec97a428fb2a7e3250bcc5110921187d7a14b946e4a113/typst-0.13.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f360cd431e41477653c150da18a62474b20b5538d5082c120283b60bf2c896f", size = 21850319, upload-time = "2025-03-20T09:57:49.41Z" },
|
1571
|
+
{ url = "https://files.pythonhosted.org/packages/31/60/5a5beeb27d3b2cf9d0f8c90428805bf7cb941d2e90cad877fa0c7a1550c3/typst-0.13.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4980a85f9d2b6e0fea267cf337c2a88e905dad10996feb1617bbffa68bc26555", size = 22129592, upload-time = "2025-03-20T09:57:52.583Z" },
|
1572
|
+
{ url = "https://files.pythonhosted.org/packages/b0/41/1e0fb06ef071cd7cdade9bb5b708427fa7d4c100a08404b9a3a966f22a9d/typst-0.13.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dfa3f33592a3d156cf039510046f495cc41130ee5613998d641d5141e82d81e6", size = 23435078, upload-time = "2025-03-20T09:57:55.999Z" },
|
1573
|
+
{ url = "https://files.pythonhosted.org/packages/2e/c6/bad2e9e4198315d929f29e6f26ba93f3318d870f797109327d3e0328b97a/typst-0.13.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:789138b066982abffdc8d360493499188d64d7ef59aea998dda606df9d452128", size = 21703895, upload-time = "2025-03-20T09:57:58.841Z" },
|
1574
|
+
{ url = "https://files.pythonhosted.org/packages/d3/91/e495f896cdf701470633bbf99056d48385b2e8e41290406e3e711aca15c2/typst-0.13.2-cp313-cp313t-win_amd64.whl", hash = "sha256:be1ae603d07c2f406778a3c3b80484b69ed68a33c67bd56ac930af5ec7243497", size = 17444943, upload-time = "2025-03-20T09:58:01.702Z" },
|
1575
|
+
{ url = "https://files.pythonhosted.org/packages/fe/0f/38514b1ac2f2194d1e10dd08bcfcf0f97918d0b742999399451811419c26/typst-0.13.2-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:6d3c5e9372fbfc4b8176fafb5cac35d29693e437b8e15f91cc00523ddd071569", size = 18668206, upload-time = "2025-03-20T09:58:04.461Z" },
|
1576
|
+
{ url = "https://files.pythonhosted.org/packages/a0/e2/fc210e0a1436c261f2fa442550054218c3318eeba40abd383c47b06b0c94/typst-0.13.2-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd4d880e94b91028184cd167dda4e950264a8ea628841a48842d3e8453558a95", size = 18184589, upload-time = "2025-03-20T09:58:08.162Z" },
|
1577
|
+
{ url = "https://files.pythonhosted.org/packages/10/c9/0028a05bcaae0fbf6ef4e987784db5e23b0981a5d5fb5a89b1c95b7107b1/typst-0.13.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6abf9352540af30bcbb1687e4d00f0d0e7115db27db1b71b901df15abaf2086a", size = 21700856, upload-time = "2025-03-20T09:58:11.161Z" },
|
1578
|
+
{ url = "https://files.pythonhosted.org/packages/2a/64/c03db1f6824a2c7792d7ce5ede7e8e28db05dc63000cb748f84ac8539f94/typst-0.13.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d558ee6fb449714955297b026cc2f567f44c991b6b7d32d8ba5262150f267603", size = 21852362, upload-time = "2025-03-20T09:58:14.593Z" },
|
1579
|
+
{ url = "https://files.pythonhosted.org/packages/43/d1/fe1170f1692fc9f4fcfd61b4447be75e7b1b8653b55cb80737919bcc0df7/typst-0.13.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b9e542d136741df846f15ed23e110475d4c82e1f0f29ab948cd3344bcc8181e", size = 22136479, upload-time = "2025-03-20T09:58:17.434Z" },
|
1580
|
+
{ url = "https://files.pythonhosted.org/packages/15/9f/9c056dbbff5a57e58a666cf576dd7053086f5826e5552796ad45d23202c5/typst-0.13.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3939b7cc16abc0f753015c886f8173f3a0a289ebc828d886c0f2284415d20490", size = 23443993, upload-time = "2025-03-20T09:58:20.575Z" },
|
1581
|
+
{ url = "https://files.pythonhosted.org/packages/23/aa/4a774bb4b31ff5865e4aeafe26180c58d76ba6eebd688690b4bc63197bb1/typst-0.13.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c2a78e01b897e3075b6bc01b0bf7738ae110550394d7be1ec51de178ccd5e8c", size = 21712749, upload-time = "2025-03-20T09:58:23.536Z" },
|
1582
|
+
{ url = "https://files.pythonhosted.org/packages/a6/81/3a2bb633622c81c03b1ab7de0b7dc82ed44f9f0e2d65699f3d0c357a043e/typst-0.13.2-cp38-abi3-win_amd64.whl", hash = "sha256:897829e5ddfad5ace94f3f378ce7c6d580b78402af92e66eed5b28cb98186b57", size = 17446971, upload-time = "2025-03-20T09:58:26.39Z" },
|
1583
1583
|
]
|
1584
1584
|
|
1585
1585
|
[[package]]
|
@@ -1593,16 +1593,16 @@ wheels = [
|
|
1593
1593
|
|
1594
1594
|
[[package]]
|
1595
1595
|
name = "virtualenv"
|
1596
|
-
version = "20.
|
1596
|
+
version = "20.31.2"
|
1597
1597
|
source = { registry = "https://pypi.org/simple" }
|
1598
1598
|
dependencies = [
|
1599
1599
|
{ name = "distlib" },
|
1600
1600
|
{ name = "filelock" },
|
1601
1601
|
{ name = "platformdirs" },
|
1602
1602
|
]
|
1603
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1603
|
+
sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" }
|
1604
1604
|
wheels = [
|
1605
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1605
|
+
{ url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" },
|
1606
1606
|
]
|
1607
1607
|
|
1608
1608
|
[[package]]
|
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
|
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
|
{txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.mo
RENAMED
File without changes
|
{txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po
RENAMED
File without changes
|
{txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.mo
RENAMED
File without changes
|
{txt2ebook-0.1.138 → txt2ebook-0.1.139}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.po
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
|
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
|
File without changes
|