PyMuPDF 1.25.4__tar.gz → 1.26.0__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.
- {pymupdf-1.25.4 → pymupdf-1.26.0}/PKG-INFO +1 -1
- {pymupdf-1.25.4 → pymupdf-1.26.0}/changes.txt +51 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/scripts/gh_release.py +1 -1
- {pymupdf-1.25.4 → pymupdf-1.26.0}/scripts/sysinstall.py +5 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/scripts/test.py +14 -3
- {pymupdf-1.25.4 → pymupdf-1.26.0}/setup.py +7 -20
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/__init__.py +295 -214
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/extra.i +1 -1
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/fitz___init__.py +1 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/table.py +145 -60
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/utils.py +22 -12
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/fitz_old.i +11 -3
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-python.i +1 -1
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/utils.py +9 -1
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/conftest.py +3 -0
- pymupdf-1.26.0/tests/resources/test_4363.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_4415.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_4415_out_expected.png +0 -0
- pymupdf-1.26.0/tests/resources/test_4423.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_4435.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_4479.pdf +1469 -1
- pymupdf-1.26.0/tests/resources/test_4505.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.cbz +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.doc +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.docx +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.epub +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.fb2 +64 -0
- pymupdf-1.26.0/tests/resources/test_open2.html +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.jpg +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.mobi +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.pdf +0 -0
- pymupdf-1.26.0/tests/resources/test_open2.svg +18 -0
- pymupdf-1.26.0/tests/resources/test_open2.xhtml +17 -0
- pymupdf-1.26.0/tests/resources/test_open2.xml +21 -0
- pymupdf-1.26.0/tests/resources/test_open2.xps +0 -0
- pymupdf-1.26.0/tests/resources/test_open2_expected.json +808 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_2548.py +1 -4
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_2907.py +0 -4
- pymupdf-1.26.0/tests/test_4466.pdf +0 -0
- pymupdf-1.26.0/tests/test_4505.py +27 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_annots.py +113 -29
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_balance_count.py +1 -4
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_font.py +106 -8
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_general.py +257 -53
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_mupdf_regressions.py +3 -21
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_pixmap.py +75 -8
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_story.py +1 -5
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_tables.py +102 -30
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_textbox.py +9 -3
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_textextract.py +36 -14
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_widgets.py +0 -4
- pymupdf-1.26.0/tests/util.py +28 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/COPYING +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/README.md +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/READMEb.md +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/READMEd.md +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/pipcl.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/pyproject.toml +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/pytest.ini +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/__main__.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/_apply_pages.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/_wxcolors.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/fitz_table.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/fitz_utils.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src/pymupdf.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/__init__.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/__main__.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/_config.h +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-annot.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-convert.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-defines.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-devices.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-fields.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-fileobj.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-geo-c.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-geo-py.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-globals.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-other.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-pdfinfo.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-pixmap.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-portfolio.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-select.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-stext.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/helper-xobject.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/src_classic/version.i +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/README.md +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/gentle_compare.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/001003ED.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/1.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/2.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/2201.00069.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/3.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/4.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/Bezier.epub +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/PragmaticaC.otf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/battery-file-22.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/bug1945.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/bug1971.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/chinese-tables.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/chinese-tables.pickle +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/circular-toc.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/cms-etc-filled.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/cython.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/cython.pickle +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/dotted-gridlines.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/full_toc.txt +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/github_sample.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/has-bad-fonts.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/image-file1.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/img-regular.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/img-transparent.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/img-transparent.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/interfield-calculation.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/joined.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/merge-form1.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/merge-form2.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/metadata.txt +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/mupdf_explored.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/nur-ruhig.jpg +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/quad-calc-0.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/simple_toc.txt +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/small-table.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/strict-yes-no.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/symbol-list.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/symbols.txt +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-2333.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-2462.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-2812.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-3143.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-3150.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-3207.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-3591.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-3820.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-4055.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-707448.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-707673.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-E+A.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test-linebreaks.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test2093.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test2182.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test2238.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_1645_expected.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_1824.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2108.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2270.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2533.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2548.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2553-2.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2553.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2596.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2608_expected +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2634.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2635.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2645_1.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2645_2.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2645_3.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2710.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2730.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2742.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2788.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2791_content.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2791_coverpage.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2861.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2871.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2885.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2904.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2907.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2954.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2957_1.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2957_2.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2969.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_2979.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3050_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3058.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3062.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3070.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3072.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3087.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3179.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3186.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3197.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3357.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3362.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3376.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3448.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3448.pdf-expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3450.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3493.epub +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3569.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3594.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3615.epub +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3624.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3624_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3650.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3654.docx +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3677.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3687-3.epub +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3687.epub +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3705.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3725.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3727.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3780.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3789.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3842.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3848.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3854.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3854_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.0.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.1.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.2.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.3.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.4.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.5.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.6.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3863.pdf.pdf.7.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3886.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3887.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3933.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3950.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_3994.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4004.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4017.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4026.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4034.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4043.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4047.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4079.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4079_after.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4079_after_1.25.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4090.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4125.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4139.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4141.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4147.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4179.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4179_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4180.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4180_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4182.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4182_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4224.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4245.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4245_expected.png +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_4263.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_annot_file_info.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_delete_image.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/test_toc_count.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/text-find-ligatures.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/type3font.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/v110-changes.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/resources/widgettest.pdf +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/run_compound.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_2634.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_2904.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_4141.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_badfonts.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_barcode.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_cluster_drawings.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_codespell.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_crypting.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_docs_samples.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_drawings.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_embeddedfiles.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_extractimage.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_flake8.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_geometry.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_imagebbox.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_imagemasks.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_import.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_insertimage.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_insertpdf.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_linebreaks.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_linequad.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_memory.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_metadata.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_named_links.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_nonpdf.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_object_manipulation.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_objectstreams.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_optional_content.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_page_links.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_pagedelete.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_pagelabels.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_pylint.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_remove-rotation.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_rtl.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_showpdfpage.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_spikes.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_tesseract.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_textsearch.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_toc.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/tests/test_word_delimiters.py +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/valgrind.supp +0 -0
- {pymupdf-1.25.4 → pymupdf-1.26.0}/wdev.py +0 -0
|
@@ -2,8 +2,59 @@ Change Log
|
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
**Changes in version 1.26.0 (2025-05-22)**
|
|
6
|
+
|
|
7
|
+
* Use MuPDF-1.26.1.
|
|
8
|
+
|
|
9
|
+
* Fixed issues:
|
|
10
|
+
|
|
11
|
+
* **Fixed** `4324 <https://github.com/pymupdf/PyMuPDF/issues/4324>`_: cluster_drawings() fails to cluster horizontal and vertical thin lines
|
|
12
|
+
* **Fixed** `4363 <https://github.com/pymupdf/PyMuPDF/issues/4363>`_: Trouble with searching
|
|
13
|
+
* **Fixed** `4404 <https://github.com/pymupdf/PyMuPDF/issues/4404>`_: IndexError in page.get_links()
|
|
14
|
+
* **Fixed** `4412 <https://github.com/pymupdf/PyMuPDF/issues/4412>`_: Regression? Spurious error? in insert_pdf in v1.25.4
|
|
15
|
+
* **Fixed** `4423 <https://github.com/pymupdf/PyMuPDF/issues/4423>`_: pymupdf.mupdf.FzErrorFormat: code=7: cannot find object in xref error encountered after version 1.25.3
|
|
16
|
+
* **Fixed** `4435 <https://github.com/pymupdf/PyMuPDF/issues/4435>`_: get_pixmap method stuck on one page
|
|
17
|
+
* **Fixed** `4439 <https://github.com/pymupdf/PyMuPDF/issues/4439>`_: New Xml class from data does not work - bug in code
|
|
18
|
+
* **Fixed** `4445 <https://github.com/pymupdf/PyMuPDF/issues/4445>`_: Broken XREF table incorrectly repaired
|
|
19
|
+
* **Fixed** `4447 <https://github.com/pymupdf/PyMuPDF/issues/4447>`_: Stroke color of annotations cannot be correctly set
|
|
20
|
+
* **Fixed** `4479 <https://github.com/pymupdf/PyMuPDF/issues/4479>`_: set_layer_ui_config() toggles all layers rather than just one
|
|
21
|
+
* **Fixed** `4505 <https://github.com/pymupdf/PyMuPDF/issues/4505>`_: Follow Widget flag values up its parent structure
|
|
22
|
+
|
|
23
|
+
* Other:
|
|
24
|
+
|
|
25
|
+
* Partial fixed for `4457 <https://github.com/pymupdf/PyMuPDF/issues/4457>`_: Wrong characters displayed after font subsetting (w/ native method)
|
|
26
|
+
* Support image stamp annotations.
|
|
27
|
+
* Support recoloring pages.
|
|
28
|
+
* Added example of using Django's file storage API to open files with pymupdf.
|
|
29
|
+
* Clarified FreeText annotation color options.
|
|
30
|
+
We now raise an exception if an attempt is made to set attributes that can not be supported.
|
|
31
|
+
* Fixed potential segv in Pixmap.is_unicolor().
|
|
32
|
+
* Added runtime assert that that PyMuPDF and MuPDF were built with compatible
|
|
33
|
+
NDEBUG settings (related to `4390 <https://github.com/pymupdf/PyMuPDF/issues/4390>`_).
|
|
34
|
+
* Simplified handling of filename/filetype when opening documents.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
**Changes in version 1.25.5 (2025-03-31)**
|
|
38
|
+
|
|
39
|
+
* Fixed issues:
|
|
40
|
+
|
|
41
|
+
* **Fixed** `4372 <https://github.com/pymupdf/PyMuPDF/issues/4372>`_: Text insertion fails due to missing /Resources object
|
|
42
|
+
* **Fixed** `4400 <https://github.com/pymupdf/PyMuPDF/issues/4400>`_: Infinite loop in fill_textbox
|
|
43
|
+
* **Fixed** `4403 <https://github.com/pymupdf/PyMuPDF/issues/4403>`_: Unable to get_text() - layer/clip nesting too deep
|
|
44
|
+
* **Fixed** `4415 <https://github.com/pymupdf/PyMuPDF/issues/4415>`_: PDF page is mirrored, origin is at bottom-left
|
|
45
|
+
|
|
46
|
+
* Other:
|
|
47
|
+
|
|
48
|
+
* Use MuPDF-1.25.6.
|
|
49
|
+
* Fixed MuPDF SEGV on MacOS with particular fonts.
|
|
50
|
+
* Fixed `Annot.get_textpage()`'s `clip` arg.
|
|
51
|
+
* Fixed Python-3.14 (pre-release) build error.
|
|
52
|
+
|
|
53
|
+
|
|
5
54
|
**Changes in version 1.25.4 (2025-03-14)**
|
|
6
55
|
|
|
56
|
+
* Use MuPDF-1.25.5.
|
|
57
|
+
|
|
7
58
|
* Fixed issues:
|
|
8
59
|
|
|
9
60
|
* **Fixed** `4079 <https://github.com/pymupdf/PyMuPDF/issues/4079>`_: Unexpected result for apply_redactions()
|
|
@@ -448,7 +448,7 @@ def build( platform_=None, valgrind=False):
|
|
|
448
448
|
# Include MuPDF build-time files.
|
|
449
449
|
flavour += 'd'
|
|
450
450
|
env_set( 'PYMUPDF_SETUP_FLAVOUR', flavour, pass_=1)
|
|
451
|
-
run( f'cibuildwheel{platform_arg}', env_extra)
|
|
451
|
+
run( f'cibuildwheel{platform_arg}', env_extra=env_extra)
|
|
452
452
|
run( 'echo after {flavour=}')
|
|
453
453
|
run( 'ls -l wheelhouse')
|
|
454
454
|
|
|
@@ -20,6 +20,7 @@ python is already defined.
|
|
|
20
20
|
|
|
21
21
|
Args:
|
|
22
22
|
|
|
23
|
+
--gdb 0|1
|
|
23
24
|
--mupdf-dir <mupdf_dir>
|
|
24
25
|
Path of MuPDF checkout; default is 'mupdf'.
|
|
25
26
|
--mupdf-do 0|1
|
|
@@ -134,6 +135,7 @@ def main():
|
|
|
134
135
|
|
|
135
136
|
# Set default behaviour.
|
|
136
137
|
#
|
|
138
|
+
gdb = False
|
|
137
139
|
use_installer = True
|
|
138
140
|
mupdf_do = True
|
|
139
141
|
mupdf_dir = 'mupdf'
|
|
@@ -165,6 +167,7 @@ def main():
|
|
|
165
167
|
if arg in ('-h', '--help'):
|
|
166
168
|
log(__doc__)
|
|
167
169
|
return
|
|
170
|
+
elif arg == '--gdb': gdb = int(next(args))
|
|
168
171
|
elif arg == '--mupdf-do': mupdf_do = int(next(args))
|
|
169
172
|
elif arg == '--mupdf-dir': mupdf_dir = next(args)
|
|
170
173
|
elif arg == '--mupdf-git': mupdf_git = next(args)
|
|
@@ -369,6 +372,8 @@ def main():
|
|
|
369
372
|
# 2024-03-20: Not sure whether/where `pymupdf` binary is installed, so we
|
|
370
373
|
# disable the test_cli* tests.
|
|
371
374
|
command += f' {pymupdf_dir}/scripts/test.py'
|
|
375
|
+
if gdb:
|
|
376
|
+
command += ' --gdb 1'
|
|
372
377
|
command += f' -v 0'
|
|
373
378
|
if pytest_name is None:
|
|
374
379
|
excluded_tests = (
|
|
@@ -13,8 +13,8 @@ Examples:
|
|
|
13
13
|
./PyMuPDF/scripts/test.py --mupdf 'git:https://git.ghostscript.com/mupdf.git' buildtest
|
|
14
14
|
Build and test with internal checkout of mupdf master.
|
|
15
15
|
|
|
16
|
-
./PyMuPDF/scripts/test.py --mupdf 'git:--branch 1.
|
|
17
|
-
Build and test using internal checkout of mupdf 1.
|
|
16
|
+
./PyMuPDF/scripts/test.py --mupdf 'git:--branch 1.26.x https://github.com/ArtifexSoftware/mupdf.git' buildtest
|
|
17
|
+
Build and test using internal checkout of mupdf 1.26.x branch from Github.
|
|
18
18
|
|
|
19
19
|
Usage:
|
|
20
20
|
scripts/test.py <options> <command(s)>
|
|
@@ -94,6 +94,8 @@ Options:
|
|
|
94
94
|
Whether to rebuild mupdf when we build PyMuPDF. Default is 1.
|
|
95
95
|
--gdb 0|1
|
|
96
96
|
Run tests under gdb. Requires user interaction.
|
|
97
|
+
--pytest-prefix <command>
|
|
98
|
+
Use specified prefix when running pytest. E.g. `gdb --args`.
|
|
97
99
|
--pybind 0|1
|
|
98
100
|
Experimental, for investigating
|
|
99
101
|
https://github.com/pymupdf/PyMuPDF/issues/3869. Runs run basic code
|
|
@@ -185,6 +187,7 @@ def main(argv):
|
|
|
185
187
|
implementations = 'r'
|
|
186
188
|
test_names = list()
|
|
187
189
|
venv = 2
|
|
190
|
+
pytest_prefix = None
|
|
188
191
|
pybind = False
|
|
189
192
|
pytest_options = None
|
|
190
193
|
timeout = None
|
|
@@ -222,7 +225,7 @@ def main(argv):
|
|
|
222
225
|
implementations = next(args)
|
|
223
226
|
elif arg in ('--mupdf', '-m'):
|
|
224
227
|
mupdf = next(args)
|
|
225
|
-
if not mupdf.startswith('git:') and mupdf != '-':
|
|
228
|
+
if not mupdf.startswith('git:') and '://' not in mupdf and mupdf != '-':
|
|
226
229
|
assert os.path.isdir(mupdf), f'Not a directory: {mupdf=}.'
|
|
227
230
|
mupdf = os.path.abspath(mupdf)
|
|
228
231
|
os.environ['PYMUPDF_SETUP_MUPDF_BUILD'] = mupdf
|
|
@@ -236,6 +239,8 @@ def main(argv):
|
|
|
236
239
|
value = next(args)
|
|
237
240
|
assert value in ('0', '1'), f'`-s` must be followed by `0` or `1`, not {value=}.'
|
|
238
241
|
os.environ['PYMUPDF_SETUP_PY_LIMITED_API'] = value
|
|
242
|
+
elif arg == '--pytest-prefix':
|
|
243
|
+
pytest_prefix = next(args)
|
|
239
244
|
elif arg == '--pybind':
|
|
240
245
|
pybind = int(next(args))
|
|
241
246
|
elif arg == '--system-site-packages':
|
|
@@ -312,6 +317,7 @@ def main(argv):
|
|
|
312
317
|
pytest_options=pytest_options,
|
|
313
318
|
timeout=timeout,
|
|
314
319
|
gdb=gdb,
|
|
320
|
+
pytest_prefix=pytest_prefix,
|
|
315
321
|
test_fitz=test_fitz,
|
|
316
322
|
pytest_k=pytest_k,
|
|
317
323
|
pybind=pybind,
|
|
@@ -603,6 +609,7 @@ def test(
|
|
|
603
609
|
pytest_options=None,
|
|
604
610
|
timeout=None,
|
|
605
611
|
gdb=False,
|
|
612
|
+
pytest_prefix=None,
|
|
606
613
|
test_fitz=True,
|
|
607
614
|
pytest_k=None,
|
|
608
615
|
pybind=False,
|
|
@@ -624,6 +631,8 @@ def test(
|
|
|
624
631
|
See top-level option `-p`.
|
|
625
632
|
gdb:
|
|
626
633
|
See top-level option `--gdb`.
|
|
634
|
+
pytest_prefix:
|
|
635
|
+
See top-level option `--pytest-prefix`.
|
|
627
636
|
test_fitz:
|
|
628
637
|
See top-level option `-f`.
|
|
629
638
|
'''
|
|
@@ -732,6 +741,8 @@ def test(
|
|
|
732
741
|
)
|
|
733
742
|
elif gdb:
|
|
734
743
|
command = f'{python} {pymupdf_dir_rel}/tests/run_compound.py{run_compound_args} gdb --args {python} -m pytest {pytest_options} {pytest_arg}'
|
|
744
|
+
elif pytest_prefix:
|
|
745
|
+
command = f'{python} {pymupdf_dir_rel}/tests/run_compound.py{run_compound_args} {pytest_prefix} {python} -m pytest {pytest_options} {pytest_arg}'
|
|
735
746
|
elif platform.system() == 'Windows':
|
|
736
747
|
# `python -m pytest` doesn't seem to work.
|
|
737
748
|
command = f'{python} {pymupdf_dir_rel}/tests/run_compound.py{run_compound_args} pytest {pytest_options} {pytest_arg}'
|
|
@@ -700,10 +700,7 @@ def build():
|
|
|
700
700
|
add('p', f'{mupdf_build_dir}/_mupdf.so', to_dir)
|
|
701
701
|
add('b', f'{mupdf_build_dir}/libmupdfcpp.so', to_dir)
|
|
702
702
|
add('b', f'{mupdf_build_dir}/libmupdf.dylib', to_dir)
|
|
703
|
-
|
|
704
|
-
# MuPDF-1.25+ language bindings build also builds
|
|
705
|
-
# libmupdf-threads.a.
|
|
706
|
-
add('d', f'{mupdf_build_dir}/libmupdf-threads.a', f'{to_dir_d}/lib/')
|
|
703
|
+
add('d', f'{mupdf_build_dir}/libmupdf-threads.a', f'{to_dir_d}/lib/')
|
|
707
704
|
elif pyodide:
|
|
708
705
|
add('p', f'{mupdf_build_dir}/_mupdf.so', to_dir)
|
|
709
706
|
add('b', f'{mupdf_build_dir}/libmupdfcpp.so', 'PyMuPDF.libs/')
|
|
@@ -712,10 +709,7 @@ def build():
|
|
|
712
709
|
add('p', f'{mupdf_build_dir}/_mupdf.so', to_dir)
|
|
713
710
|
add('b', pipcl.get_soname(f'{mupdf_build_dir}/libmupdfcpp.so'), to_dir)
|
|
714
711
|
add('b', pipcl.get_soname(f'{mupdf_build_dir}/libmupdf.so'), to_dir)
|
|
715
|
-
|
|
716
|
-
# MuPDF-1.25+ language bindings build also builds
|
|
717
|
-
# libmupdf-threads.a.
|
|
718
|
-
add('d', f'{mupdf_build_dir}/libmupdf-threads.a', f'{to_dir_d}/lib/')
|
|
712
|
+
add('d', f'{mupdf_build_dir}/libmupdf-threads.a', f'{to_dir_d}/lib/')
|
|
719
713
|
|
|
720
714
|
if 'd' in PYMUPDF_SETUP_FLAVOUR:
|
|
721
715
|
# Add MuPDF C and C++ headers to `ret_d`. Would prefer to use
|
|
@@ -802,10 +796,7 @@ def build_mupdf_windows(
|
|
|
802
796
|
tesseract = '' if os.environ.get('PYMUPDF_SETUP_MUPDF_TESSERACT') == '0' else 'tesseract-'
|
|
803
797
|
windows_build_tail = f'build\\shared-{tesseract}{build_type}'
|
|
804
798
|
if g_py_limited_api:
|
|
805
|
-
|
|
806
|
-
windows_build_tail += f'-Py_LIMITED_API_{pipcl.current_py_limited_api()}'
|
|
807
|
-
else:
|
|
808
|
-
windows_build_tail += f'-Py_LIMITED_API={pipcl.current_py_limited_api()}'
|
|
799
|
+
windows_build_tail += f'-Py_LIMITED_API_{pipcl.current_py_limited_api()}'
|
|
809
800
|
windows_build_tail += f'-x{wp.cpu.bits}-py{wp.version}'
|
|
810
801
|
windows_build_dir = f'{mupdf_local}\\{windows_build_tail}'
|
|
811
802
|
#log( f'Building mupdf.')
|
|
@@ -982,16 +973,12 @@ def build_mupdf_unix(
|
|
|
982
973
|
if (
|
|
983
974
|
linux
|
|
984
975
|
and os.environ.get('PYMUPDF_SETUP_MUPDF_BSYMBOLIC', '1') == '1'
|
|
985
|
-
and mupdf_version_tuple >= (1, 24, 3)
|
|
986
976
|
):
|
|
987
977
|
log(f'Appending `bsymbolic-` to MuPDF build path.')
|
|
988
978
|
build_prefix += 'bsymbolic-'
|
|
989
979
|
log(f'{g_py_limited_api=}')
|
|
990
980
|
if g_py_limited_api:
|
|
991
|
-
|
|
992
|
-
build_prefix += f'Py_LIMITED_API_{pipcl.current_py_limited_api()}-'
|
|
993
|
-
else:
|
|
994
|
-
build_prefix += f'Py_LIMITED_API={pipcl.current_py_limited_api()}-'
|
|
981
|
+
build_prefix += f'Py_LIMITED_API_{pipcl.current_py_limited_api()}-'
|
|
995
982
|
unix_build_dir = f'{mupdf_local}/build/{build_prefix}{build_type}'
|
|
996
983
|
# We need MuPDF's Python bindings, so we build MuPDF with
|
|
997
984
|
# `mupdf/scripts/mupdfwrap.py` instead of running `make`.
|
|
@@ -1242,15 +1229,15 @@ classifier = [
|
|
|
1242
1229
|
#
|
|
1243
1230
|
|
|
1244
1231
|
# PyMuPDF version.
|
|
1245
|
-
version_p = '1.
|
|
1232
|
+
version_p = '1.26.0'
|
|
1246
1233
|
|
|
1247
1234
|
# PyMuPDFb version. This is the PyMuPDF version whose PyMuPDFb wheels we will
|
|
1248
1235
|
# (re)use if generating separate PyMuPDFb wheels. Though as of PyMuPDF-1.24.11
|
|
1249
1236
|
# (2024-10-03) we no longer use PyMuPDFb wheels so this is actually unused.
|
|
1250
1237
|
#
|
|
1251
|
-
version_b = '1.
|
|
1238
|
+
version_b = '1.26.0'
|
|
1252
1239
|
|
|
1253
|
-
version_mupdf = '1.
|
|
1240
|
+
version_mupdf = '1.26.1'
|
|
1254
1241
|
|
|
1255
1242
|
if os.path.exists(f'{g_root}/{g_pymupdfb_sdist_marker}'):
|
|
1256
1243
|
|