PyMuPDF 1.22.3__tar.gz → 1.23.0rc1__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 (119) hide show
  1. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/PKG-INFO +67 -17
  2. PyMuPDF-1.22.3/PyMuPDF.egg-info/PKG-INFO → PyMuPDF-1.23.0rc1/README.md +58 -35
  3. PyMuPDF-1.23.0rc1/READMErb.md +6 -0
  4. PyMuPDF-1.23.0rc1/changes.txt +1820 -0
  5. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/_config.h +1 -1
  6. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/fitz.i +141 -47
  7. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-annot.i +61 -67
  8. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-defines.i +3 -0
  9. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-devices.i +91 -41
  10. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-fields.i +92 -58
  11. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-other.i +16 -21
  12. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-pdfinfo.i +18 -2
  13. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-python.i +77 -0
  14. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-select.i +2 -1
  15. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-stext.i +2 -2
  16. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/utils.py +19 -15
  17. PyMuPDF-1.23.0rc1/fitz/version.i +6 -0
  18. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/mupdf.tgz +0 -0
  19. PyMuPDF-1.23.0rc1/pipcl.py +1992 -0
  20. PyMuPDF-1.23.0rc1/pyproject.toml +7 -0
  21. PyMuPDF-1.23.0rc1/pytest.ini +3 -0
  22. PyMuPDF-1.23.0rc1/scripts/gh_release.py +354 -0
  23. PyMuPDF-1.22.3/setup.py → PyMuPDF-1.23.0rc1/setup-old.py +7 -11
  24. PyMuPDF-1.23.0rc1/setup.py +1136 -0
  25. PyMuPDF-1.23.0rc1/src/__init__.py +21522 -0
  26. PyMuPDF-1.23.0rc1/src/__main__.py +1136 -0
  27. PyMuPDF-1.23.0rc1/src/extra.i +4278 -0
  28. PyMuPDF-1.23.0rc1/src/fitz.py +1 -0
  29. PyMuPDF-1.23.0rc1/src/utils.py +5544 -0
  30. PyMuPDF-1.23.0rc1/tests/resources/full_toc.txt +48 -0
  31. PyMuPDF-1.23.0rc1/tests/resources/full_toc2.txt +48 -0
  32. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/symbols.txt +68 -82
  33. PyMuPDF-1.23.0rc1/tests/resources/test-2462.pdf +0 -0
  34. PyMuPDF-1.23.0rc1/tests/resources/test_2533.pdf +0 -0
  35. PyMuPDF-1.23.0rc1/tests/run_compound.py +88 -0
  36. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_docs_samples.py +12 -2
  37. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_drawings.py +35 -0
  38. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_general.py +93 -6
  39. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_insertpdf.py +10 -0
  40. PyMuPDF-1.23.0rc1/tests/test_textextract.py +73 -0
  41. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_toc.py +10 -3
  42. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_widgets.py +42 -0
  43. PyMuPDF-1.23.0rc1/valgrind.supp +17 -0
  44. PyMuPDF-1.23.0rc1/wdev.py +321 -0
  45. PyMuPDF-1.22.3/PyMuPDF.egg-info/SOURCES.txt +0 -96
  46. PyMuPDF-1.22.3/PyMuPDF.egg-info/dependency_links.txt +0 -1
  47. PyMuPDF-1.22.3/PyMuPDF.egg-info/top_level.txt +0 -1
  48. PyMuPDF-1.22.3/README.md +0 -99
  49. PyMuPDF-1.22.3/fitz/version.i +0 -6
  50. PyMuPDF-1.22.3/pyproject.toml +0 -3
  51. PyMuPDF-1.22.3/setup.cfg +0 -4
  52. PyMuPDF-1.22.3/tests/resources/full_toc.txt +0 -1
  53. PyMuPDF-1.22.3/tests/test_textextract.py +0 -28
  54. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/COPYING +0 -0
  55. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/MANIFEST.in +0 -0
  56. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/__init__.py +0 -0
  57. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/__main__.py +0 -0
  58. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-convert.i +0 -0
  59. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-fileobj.i +0 -0
  60. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-geo-c.i +0 -0
  61. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-geo-py.i +0 -0
  62. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-globals.i +0 -0
  63. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-pixmap.i +0 -0
  64. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-portfolio.i +0 -0
  65. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/fitz/helper-xobject.i +0 -0
  66. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/README.md +0 -0
  67. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/001003ED.pdf +0 -0
  68. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/1.pdf +0 -0
  69. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/2.pdf +0 -0
  70. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/3.pdf +0 -0
  71. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/4.pdf +0 -0
  72. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/Bezier.epub +0 -0
  73. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/PragmaticaC.otf +0 -0
  74. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/bug1945.pdf +0 -0
  75. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/bug1971.pdf +0 -0
  76. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/circular-toc.pdf +0 -0
  77. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/github_sample.pdf +0 -0
  78. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/has-bad-fonts.pdf +0 -0
  79. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/image-file1.pdf +0 -0
  80. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/img-transparent.png +0 -0
  81. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/joined.pdf +0 -0
  82. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/metadata.txt +0 -0
  83. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/nur-ruhig.jpg +0 -0
  84. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/quad-calc-0.pdf +0 -0
  85. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/simple_toc.txt +0 -0
  86. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/symbol-list.pdf +0 -0
  87. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test-2333.pdf +0 -0
  88. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test2093.pdf +0 -0
  89. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test2182.pdf +0 -0
  90. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test2238.pdf +0 -0
  91. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test_1645_expected.pdf +0 -0
  92. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test_1645_expected_1.22.pdf +0 -0
  93. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test_1824.pdf +0 -0
  94. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test_2108.pdf +0 -0
  95. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/test_2270.pdf +0 -0
  96. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/type3font.pdf +0 -0
  97. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/v110-changes.pdf +0 -0
  98. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/resources/widgettest.pdf +0 -0
  99. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_annots.py +0 -0
  100. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_badfonts.py +0 -0
  101. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_crypting.py +0 -0
  102. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_embeddedfiles.py +0 -0
  103. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_extractimage.py +0 -0
  104. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_font.py +0 -0
  105. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_geometry.py +0 -0
  106. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_imagebbox.py +0 -0
  107. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_insertimage.py +0 -0
  108. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_linequad.py +0 -0
  109. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_metadata.py +0 -0
  110. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_nonpdf.py +0 -0
  111. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_object_manipulation.py +0 -0
  112. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_optional_content.py +0 -0
  113. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_pagedelete.py +0 -0
  114. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_pagelabels.py +0 -0
  115. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_pixmap.py +0 -0
  116. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_showpdfpage.py +0 -0
  117. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_story.py +0 -0
  118. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_textbox.py +0 -0
  119. {PyMuPDF-1.22.3 → PyMuPDF-1.23.0rc1}/tests/test_textsearch.py +0 -0
@@ -1,15 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyMuPDF
3
- Version: 1.22.3
4
- Summary: Python bindings for the PDF toolkit and renderer MuPDF
5
- Home-page: https://github.com/pymupdf/PyMuPDF
3
+ Version: 1.23.0rc1
4
+ Summary: Rebased Python bindings for the PDF toolkit and renderer MuPDF
5
+ Description-Content-Type: text/markdown
6
6
  Author: Artifex
7
7
  Author-email: support@artifex.com
8
8
  License: GNU AFFERO GPL 3.0
9
- Project-URL: Documentation, https://pymupdf.readthedocs.io/
10
- Project-URL: Source, https://github.com/pymupdf/pymupdf
11
- Project-URL: Tracker, https://github.com/pymupdf/PyMuPDF/issues
12
- Project-URL: Changelog, https://pymupdf.readthedocs.io/en/latest/changes.html
13
9
  Classifier: Development Status :: 5 - Production/Stable
14
10
  Classifier: Intended Audience :: Developers
15
11
  Classifier: Intended Audience :: Information Technology
@@ -17,21 +13,25 @@ Classifier: Operating System :: MacOS
17
13
  Classifier: Operating System :: Microsoft :: Windows
18
14
  Classifier: Operating System :: POSIX :: Linux
19
15
  Classifier: Programming Language :: C
16
+ Classifier: Programming Language :: C++
20
17
  Classifier: Programming Language :: Python :: 3 :: Only
21
18
  Classifier: Programming Language :: Python :: Implementation :: CPython
22
19
  Classifier: Topic :: Utilities
23
20
  Classifier: Topic :: Multimedia :: Graphics
24
21
  Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: >=3.7
26
- Description-Content-Type: text/markdown
27
- License-File: COPYING
22
+ Requires-Python: >=3.8
23
+ Project-URL: Documentation, https://pymupdf.readthedocs.io/
24
+ Project-URL: Source, https://github.com/pymupdf/pymupdf
25
+ Project-URL: Tracker, https://github.com/pymupdf/PyMuPDF/issues
26
+ Project-URL: Changelog, https://pymupdf.readthedocs.io/en/latest/changes.html
28
27
 
29
- # PyMuPDF 1.22.3
28
+ # PyMuPDF 1.23.0rc1
30
29
 
31
30
  ![logo](https://artifex.com/images/logos/py-mupdf-github-icon.png)
32
31
 
33
32
 
34
- Release date: May 10, 2023
33
+ Release date: August 10, 2023
34
+
35
35
 
36
36
  On **[PyPI](https://pypi.org/project/PyMuPDF)** since August 2016: [![Downloads](https://static.pepy.tech/personalized-badge/pymupdf?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads)](https://pepy.tech/project/pymupdf)
37
37
 
@@ -42,9 +42,9 @@ On **[PyPI](https://pypi.org/project/PyMuPDF)** since August 2016: [![Downloads]
42
42
 
43
43
  PyMuPDF adds Python bindings and abstractions to [MuPDF](https://mupdf.com/), a lightweight PDF, XPS, and eBook viewer, renderer, and toolkit. Both PyMuPDF and MuPDF are maintained and developed by Artifex Software, Inc.
44
44
 
45
- MuPDF can access files in PDF, XPS, OpenXPS, CBZ, EPUB and FB2 (eBooks) formats, and it is known for its top performance and exceptional rendering quality.
45
+ MuPDF can access files in PDF, XPS, OpenXPS, CBZ, EPUB, MOBI and FB2 (eBooks) formats, and it is known for its top performance and exceptional rendering quality.
46
46
 
47
- With PyMuPDF you can access files with extensions like `.pdf`, `.xps`, `.oxps`, `.cbz`, `.fb2` or `.epub`. In addition, about 10 popular image formats can also be handled like documents: `.png`, `.jpg`, `.bmp`, `.tiff`, etc.
47
+ With PyMuPDF you can access files with extensions like `.pdf`, `.xps`, `.oxps`, `.cbz`, `.fb2`, `.mobi` or `.epub`. In addition, about 10 popular image formats can also be handled like documents: `.png`, `.jpg`, `.bmp`, `.tiff`, `.svg` etc.
48
48
 
49
49
  # Usage
50
50
  For all supported document types (i.e. **_including images_**) you can
@@ -94,9 +94,9 @@ The latest changelog can be viewed [here](https://pymupdf.readthedocs.io/en/late
94
94
 
95
95
  # Installation
96
96
 
97
- PyMuPDF **requires Python 3.7 or later**.
97
+ PyMuPDF **requires Python 3.8 or later**.
98
98
 
99
- For versions 3.7 and up, Python wheels exist for **Windows** (32bit and 64bit), **Linux** (64bit, Intel and ARM) and **Mac OSX** (64bit, Intel only), so it can be installed from [PyPI](https://pypi.org/search/?q=pymupdf) in the usual way. To ensure pip support for the latest wheel platform tags, we strongly recommend to always upgrade pip first.
99
+ For versions 3.8 and up, Python wheels exist for **Windows** (32bit and 64bit), **Linux** (64bit, Intel and ARM) and **Mac OSX** (64bit, Intel only), so it can be installed from [PyPI](https://pypi.org/search/?q=pymupdf) in the usual way. To ensure pip support for the latest wheel platform tags, we strongly recommend to always upgrade pip first.
100
100
 
101
101
  python -m pip install --upgrade pip
102
102
  python -m pip install --upgrade pymupdf
@@ -113,11 +113,61 @@ Older wheels - also with support for older Python versions - can be found [here]
113
113
 
114
114
  > **Note:** If `pip` cannot find a wheel that is compatible with your platform, it will automatically build and install from source using the PyMuPDF sdist; this requires only that SWIG is installed on your system.
115
115
 
116
+
117
+ # Alternative 'rebased' implementation.
118
+
119
+ A new implementation of PyMuPDF is available as module `fitz_new`.
120
+
121
+ *
122
+ Uses the [MuPDF C++ and Python
123
+ APIs](https://mupdf.readthedocs.io/en/latest/language-bindings.html)
124
+ instead of the MuPDF C API.
125
+
126
+ * Use as a drop-in replace with: `import fitz_new as fitz`
127
+
128
+ ## Benefits
129
+
130
+ * Access to the underlying MuPDF Python API.
131
+
132
+ The MuPDF Python API is available as `fitz_new.mupdf` - this is not possible
133
+ with native PyMuPDF, and can give useful flexibility to the user.
134
+
135
+ * Simplified implementation.
136
+
137
+ The underlying MuPDF C++/Python APIs' automated reference counting, automatic
138
+ contexts, and native C++ and Python exceptions, make the implementation
139
+ simpler than classic PyMuPDF.
140
+
141
+ This also simplifies development of new PyMuPDF functionality.
142
+
143
+ * Optional tracing of MuPDF C function calls using environment variables.
144
+
145
+ This is a feature of the MuPDF C++ and Python APIs, which can be
146
+ very useful during development and when reporting bugs. See:
147
+ <https://mupdf.readthedocs.io/en/latest/language-bindings.html#environmental-variables>
148
+
149
+ * Possible future support for multithreaded use.
150
+
151
+ Classic PyMuPDF is explicitly single-threaded, but the MuPDF C++/Python APIs
152
+ have automated per-thread contexts.
153
+
154
+
155
+ ## Known issues
156
+
157
+ *
158
+ `import fitz_new` is known to fail with a SEGV on Windows with Python-3.10.
159
+
160
+ # Secondary wheel `PyMuPDFb`
161
+
162
+ Installation of PyMuPDF with pip will automatically install a second
163
+ wheel called `PyMuPDFb` containing Python-independent libraries.
164
+
165
+
116
166
  # License and Copyright
117
167
 
118
168
  PyMuPDF and MuPDF are available under both, open-source AGPL and commercial license agreements.
119
169
 
120
- Please read the full text of the [AGPL license agreement](https://www.gnu.org/licenses/agpl-3.0.html) (which is also included here in file COPYING) to ensure that your use case complies with the guidelines of this license. If you determine you cannot meet the requirements of the AGPL, please contact [Artifex](https://artifex.com/contact/) for more information regarding a commercial license.
170
+ Please read the full text of the [AGPL license agreement](https://www.gnu.org/licenses/agpl-3.0.html) (which is also included here in file COPYING) to ensure that your use case complies with the guidelines of this license. If you determine you cannot meet the requirements of the AGPL, please contact [Artifex](https://artifex.com/contact/pymupdf-inquiry.php) for more information regarding a commercial license.
121
171
 
122
172
  Artifex is the exclusive commercial licensing agent for MuPDF.
123
173
 
@@ -1,37 +1,10 @@
1
- Metadata-Version: 2.1
2
- Name: PyMuPDF
3
- Version: 1.22.3
4
- Summary: Python bindings for the PDF toolkit and renderer MuPDF
5
- Home-page: https://github.com/pymupdf/PyMuPDF
6
- Author: Artifex
7
- Author-email: support@artifex.com
8
- License: GNU AFFERO GPL 3.0
9
- Project-URL: Documentation, https://pymupdf.readthedocs.io/
10
- Project-URL: Source, https://github.com/pymupdf/pymupdf
11
- Project-URL: Tracker, https://github.com/pymupdf/PyMuPDF/issues
12
- Project-URL: Changelog, https://pymupdf.readthedocs.io/en/latest/changes.html
13
- Classifier: Development Status :: 5 - Production/Stable
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Intended Audience :: Information Technology
16
- Classifier: Operating System :: MacOS
17
- Classifier: Operating System :: Microsoft :: Windows
18
- Classifier: Operating System :: POSIX :: Linux
19
- Classifier: Programming Language :: C
20
- Classifier: Programming Language :: Python :: 3 :: Only
21
- Classifier: Programming Language :: Python :: Implementation :: CPython
22
- Classifier: Topic :: Utilities
23
- Classifier: Topic :: Multimedia :: Graphics
24
- Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: >=3.7
26
- Description-Content-Type: text/markdown
27
- License-File: COPYING
28
-
29
- # PyMuPDF 1.22.3
1
+ # PyMuPDF 1.23.0rc1
30
2
 
31
3
  ![logo](https://artifex.com/images/logos/py-mupdf-github-icon.png)
32
4
 
33
5
 
34
- Release date: May 10, 2023
6
+ Release date: August 10, 2023
7
+
35
8
 
36
9
  On **[PyPI](https://pypi.org/project/PyMuPDF)** since August 2016: [![Downloads](https://static.pepy.tech/personalized-badge/pymupdf?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads)](https://pepy.tech/project/pymupdf)
37
10
 
@@ -42,9 +15,9 @@ On **[PyPI](https://pypi.org/project/PyMuPDF)** since August 2016: [![Downloads]
42
15
 
43
16
  PyMuPDF adds Python bindings and abstractions to [MuPDF](https://mupdf.com/), a lightweight PDF, XPS, and eBook viewer, renderer, and toolkit. Both PyMuPDF and MuPDF are maintained and developed by Artifex Software, Inc.
44
17
 
45
- MuPDF can access files in PDF, XPS, OpenXPS, CBZ, EPUB and FB2 (eBooks) formats, and it is known for its top performance and exceptional rendering quality.
18
+ MuPDF can access files in PDF, XPS, OpenXPS, CBZ, EPUB, MOBI and FB2 (eBooks) formats, and it is known for its top performance and exceptional rendering quality.
46
19
 
47
- With PyMuPDF you can access files with extensions like `.pdf`, `.xps`, `.oxps`, `.cbz`, `.fb2` or `.epub`. In addition, about 10 popular image formats can also be handled like documents: `.png`, `.jpg`, `.bmp`, `.tiff`, etc.
20
+ With PyMuPDF you can access files with extensions like `.pdf`, `.xps`, `.oxps`, `.cbz`, `.fb2`, `.mobi` or `.epub`. In addition, about 10 popular image formats can also be handled like documents: `.png`, `.jpg`, `.bmp`, `.tiff`, `.svg` etc.
48
21
 
49
22
  # Usage
50
23
  For all supported document types (i.e. **_including images_**) you can
@@ -94,9 +67,9 @@ The latest changelog can be viewed [here](https://pymupdf.readthedocs.io/en/late
94
67
 
95
68
  # Installation
96
69
 
97
- PyMuPDF **requires Python 3.7 or later**.
70
+ PyMuPDF **requires Python 3.8 or later**.
98
71
 
99
- For versions 3.7 and up, Python wheels exist for **Windows** (32bit and 64bit), **Linux** (64bit, Intel and ARM) and **Mac OSX** (64bit, Intel only), so it can be installed from [PyPI](https://pypi.org/search/?q=pymupdf) in the usual way. To ensure pip support for the latest wheel platform tags, we strongly recommend to always upgrade pip first.
72
+ For versions 3.8 and up, Python wheels exist for **Windows** (32bit and 64bit), **Linux** (64bit, Intel and ARM) and **Mac OSX** (64bit, Intel only), so it can be installed from [PyPI](https://pypi.org/search/?q=pymupdf) in the usual way. To ensure pip support for the latest wheel platform tags, we strongly recommend to always upgrade pip first.
100
73
 
101
74
  python -m pip install --upgrade pip
102
75
  python -m pip install --upgrade pymupdf
@@ -113,11 +86,61 @@ Older wheels - also with support for older Python versions - can be found [here]
113
86
 
114
87
  > **Note:** If `pip` cannot find a wheel that is compatible with your platform, it will automatically build and install from source using the PyMuPDF sdist; this requires only that SWIG is installed on your system.
115
88
 
89
+
90
+ # Alternative 'rebased' implementation.
91
+
92
+ A new implementation of PyMuPDF is available as module `fitz_new`.
93
+
94
+ *
95
+ Uses the [MuPDF C++ and Python
96
+ APIs](https://mupdf.readthedocs.io/en/latest/language-bindings.html)
97
+ instead of the MuPDF C API.
98
+
99
+ * Use as a drop-in replace with: `import fitz_new as fitz`
100
+
101
+ ## Benefits
102
+
103
+ * Access to the underlying MuPDF Python API.
104
+
105
+ The MuPDF Python API is available as `fitz_new.mupdf` - this is not possible
106
+ with native PyMuPDF, and can give useful flexibility to the user.
107
+
108
+ * Simplified implementation.
109
+
110
+ The underlying MuPDF C++/Python APIs' automated reference counting, automatic
111
+ contexts, and native C++ and Python exceptions, make the implementation
112
+ simpler than classic PyMuPDF.
113
+
114
+ This also simplifies development of new PyMuPDF functionality.
115
+
116
+ * Optional tracing of MuPDF C function calls using environment variables.
117
+
118
+ This is a feature of the MuPDF C++ and Python APIs, which can be
119
+ very useful during development and when reporting bugs. See:
120
+ <https://mupdf.readthedocs.io/en/latest/language-bindings.html#environmental-variables>
121
+
122
+ * Possible future support for multithreaded use.
123
+
124
+ Classic PyMuPDF is explicitly single-threaded, but the MuPDF C++/Python APIs
125
+ have automated per-thread contexts.
126
+
127
+
128
+ ## Known issues
129
+
130
+ *
131
+ `import fitz_new` is known to fail with a SEGV on Windows with Python-3.10.
132
+
133
+ # Secondary wheel `PyMuPDFb`
134
+
135
+ Installation of PyMuPDF with pip will automatically install a second
136
+ wheel called `PyMuPDFb` containing Python-independent libraries.
137
+
138
+
116
139
  # License and Copyright
117
140
 
118
141
  PyMuPDF and MuPDF are available under both, open-source AGPL and commercial license agreements.
119
142
 
120
- Please read the full text of the [AGPL license agreement](https://www.gnu.org/licenses/agpl-3.0.html) (which is also included here in file COPYING) to ensure that your use case complies with the guidelines of this license. If you determine you cannot meet the requirements of the AGPL, please contact [Artifex](https://artifex.com/contact/) for more information regarding a commercial license.
143
+ Please read the full text of the [AGPL license agreement](https://www.gnu.org/licenses/agpl-3.0.html) (which is also included here in file COPYING) to ensure that your use case complies with the guidelines of this license. If you determine you cannot meet the requirements of the AGPL, please contact [Artifex](https://artifex.com/contact/pymupdf-inquiry.php) for more information regarding a commercial license.
121
144
 
122
145
  Artifex is the exclusive commercial licensing agent for MuPDF.
123
146
 
@@ -0,0 +1,6 @@
1
+ # PyMuPDF 1.23.0rc1
2
+
3
+ This wheel contains MuPDF shared libraries for use by PyMuPDF.
4
+
5
+ This wheel is shared by PyMuPDF wheels that are spcific to different Python
6
+ versions, significantly reducing the total size of a release.