14
0

6 Commits

Author SHA256 Message Date
bd40be7c67 Accepting request 1318160 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1318160
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pikepdf?expand=0&rev=30
2025-11-21 15:55:44 +00:00
b466520453 - Update to 10.0.2
- Fixed presentation of strings using unparse_content_stream - if
    the stream can be represented using PdfDocEncoding,
    it is rendered in that way for ease of reading. :issue:682
  - Reformatted C++ source.
- Changes from 10.0.1
  - Fixed issue with performing equality test on dictionaries with
    cyclic subgraphs. :issue:677
- Changes from 10.0.0
  Breaking changes for v10.x:
  - Dropped Python 3.9 compatibility, since it is end of life.
    Python 3.10 through 3.14 are supported.
  - Dropped macOS 13 support, since it is end of life.
  - Dropped macOS 14 Intel wheels, because GitHub doesn't provide a way
    to build them - macOS 15 Intel works fine.
  - Dropped deprecated method Pdf.check() (use .check_pdf_syntax()).
  pikepdf now declares unstable "support" for freethreading, and
  does not publish freethreading wheels. All tests seem to pass,
  but that's because the existing tests don't try to create
  race conditions. Must be compiled manually.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pikepdf?expand=0&rev=60
2025-11-17 07:18:49 +00:00
262f03cb7b Accepting request 1309606 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1309606
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pikepdf?expand=0&rev=29
2025-10-07 16:29:17 +00:00
241decae35 - update to 9.11.0:
- Upgraded to cibuildwheel 3.1.4.
  - We now build wheels for the CPython 3.14 prerelease (but
    without freethreading, since lxml does not release wheels with
    freethreading).
  - Now using uv for building.
  - Fixed broken link in documentation.
  - Migrated all remaining uses of "dumb" pointer holders to
    ``py::smart_holder``.
  - Updated contributing guidelines and build steps.
  - Fixed type signature of AttachedFileSpec to clarify its usage.
  - Fixed missing default /Decode for image masks. {issue}`664`
  - Fixed a missing dependency for ReadTheDocs documentation
    generation.
  - Upgraded to pybind11 3.0, which is now required. Changed many
    of our pointer holder types to use the py::smart_holder.
  - ``Pdf.check()`` is now deprecated, in favor of ``Pdf.check_pdf_syntax()``.
  - Use explicit page number substitution in mupdf to avoid
    problems in how it names output files. {issue}`661`
  - Upgraded to cibuildwheel 3.0.0.
  - C++-20 compiler is now required for building pikepdf.
  - Fixed a reference counting test on Python 3.14a.
  - We no longer build PyPy wheels by default.
  - If a folder named ``../qpdf`` is found, we automatically use
    that as the companion qpdf when building. For developers this
    means building works without setting environment variables.
    Environment variables can still be set to redirect to specific
    installation.
  - Introduced a new {class}`DimensionedFont` to avoid breaking
    changes in other code (mainly OCRmyPDF) that subclasses

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pikepdf?expand=0&rev=58
2025-09-30 11:27:33 +00:00
ec1aa1147e Accepting request 1225560 from devel:languages:python
- update to 9.4.2:
  * Internal type assertion error messages from qpdf that previously
    triggered a RuntimeError will now raise a PdfError. Generally
    these errors only occur in corrupted files.
  * When we are updating XMP in the processing of saving, errors
    from updating XML are wrapped differently to clarify the
    context in which the error occurs.
  * Fixed a process abort in JBIG2 handling related to cleanup of
    Python objects owned by C++ code.
  * Fixed inconsistent behavior when setting metadata records to an
    empty value.  :issue:`622`
  * Added missing Python 3.13 wheels for a few platforms that were
    missing them, mainly ARM Linux, musllinux/Alpine, and Windows.
  * Since Homebrew has ended support for macOS 12, macOS 13 is now
    the minimum requirement for Intel macOS.
  * Suppressed some spurious warnings during build tests.
  * Integrated OSS Fuzz.
  * Prevented generation of PDF date strings with invalid trailing
    apostrophes, while still accepting them.
  * Improved error message on parsing invalid date strings.
  * Dropped support for Python 3.8 (end of life October 2024).
  * Fixed some inconsistencies with the pikepdf.Rectangle class.
  * Python 3.13 with free-threading added to test matrix.
  * Removed wheel package as build requirement since modern packing
    no longer needs it.
  * Updated C++/Python exception translation to new pybind11
    2.12.0+ protocol, fixing possible undefined behavior in
    multithreaded applications.
  * pybind11 2.12.0 is now required.
  * qpdf 11.9.1 is now used to build wheels.

OBS-URL: https://build.opensuse.org/request/show/1225560
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pikepdf?expand=0&rev=28
2024-11-21 14:19:27 +00:00
6db6aebbbd - update to 9.4.2:
* Internal type assertion error messages from qpdf that previously
    triggered a RuntimeError will now raise a PdfError. Generally
    these errors only occur in corrupted files.
  * When we are updating XMP in the processing of saving, errors
    from updating XML are wrapped differently to clarify the
    context in which the error occurs.
  * Fixed a process abort in JBIG2 handling related to cleanup of
    Python objects owned by C++ code.
  * Fixed inconsistent behavior when setting metadata records to an
    empty value.  :issue:`622`
  * Added missing Python 3.13 wheels for a few platforms that were
    missing them, mainly ARM Linux, musllinux/Alpine, and Windows.
  * Since Homebrew has ended support for macOS 12, macOS 13 is now
    the minimum requirement for Intel macOS.
  * Suppressed some spurious warnings during build tests.
  * Integrated OSS Fuzz.
  * Prevented generation of PDF date strings with invalid trailing
    apostrophes, while still accepting them.
  * Improved error message on parsing invalid date strings.
  * Dropped support for Python 3.8 (end of life October 2024).
  * Fixed some inconsistencies with the pikepdf.Rectangle class.
  * Python 3.13 with free-threading added to test matrix.
  * Removed wheel package as build requirement since modern packing
    no longer needs it.
  * Updated C++/Python exception translation to new pybind11
    2.12.0+ protocol, fixing possible undefined behavior in
    multithreaded applications.
  * pybind11 2.12.0 is now required.
  * qpdf 11.9.1 is now used to build wheels.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pikepdf?expand=0&rev=56
2024-11-21 10:04:58 +00:00
4 changed files with 166 additions and 9 deletions

3
pikepdf-10.0.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c85a2526253e35575edb2e28cdc740d004be4b7c5fda954f0e721ee1c423a52
size 4548116

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:653aceedb2b3a4cdb579a55aaf78632b434b7cd53e2557b2bc8c8590bfe1d92b
size 2870723

View File

@@ -1,3 +1,160 @@
-------------------------------------------------------------------
Sat Nov 15 12:53:32 UTC 2025 - ecsos <ecsos@opensuse.org>
- Update to 10.0.2
- Fixed presentation of strings using unparse_content_stream - if
the stream can be represented using PdfDocEncoding,
it is rendered in that way for ease of reading. :issue:682
- Reformatted C++ source.
- Changes from 10.0.1
- Fixed issue with performing equality test on dictionaries with
cyclic subgraphs. :issue:677
- Changes from 10.0.0
Breaking changes for v10.x:
- Dropped Python 3.9 compatibility, since it is end of life.
Python 3.10 through 3.14 are supported.
- Dropped macOS 13 support, since it is end of life.
- Dropped macOS 14 Intel wheels, because GitHub doesn't provide a way
to build them - macOS 15 Intel works fine.
- Dropped deprecated method Pdf.check() (use .check_pdf_syntax()).
pikepdf now declares unstable "support" for freethreading, and
does not publish freethreading wheels. All tests seem to pass,
but that's because the existing tests don't try to create
race conditions. Must be compiled manually.
-------------------------------------------------------------------
Tue Sep 30 06:48:05 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 9.11.0:
- Upgraded to cibuildwheel 3.1.4.
- We now build wheels for the CPython 3.14 prerelease (but
without freethreading, since lxml does not release wheels with
freethreading).
- Now using uv for building.
- Fixed broken link in documentation.
- Migrated all remaining uses of "dumb" pointer holders to
``py::smart_holder``.
- Updated contributing guidelines and build steps.
- Fixed type signature of AttachedFileSpec to clarify its usage.
- Fixed missing default /Decode for image masks. {issue}`664`
- Fixed a missing dependency for ReadTheDocs documentation
generation.
- Upgraded to pybind11 3.0, which is now required. Changed many
of our pointer holder types to use the py::smart_holder.
- ``Pdf.check()`` is now deprecated, in favor of ``Pdf.check_pdf_syntax()``.
- Use explicit page number substitution in mupdf to avoid
problems in how it names output files. {issue}`661`
- Upgraded to cibuildwheel 3.0.0.
- C++-20 compiler is now required for building pikepdf.
- Fixed a reference counting test on Python 3.14a.
- We no longer build PyPy wheels by default.
- If a folder named ``../qpdf`` is found, we automatically use
that as the companion qpdf when building. For developers this
means building works without setting environment variables.
Environment variables can still be set to redirect to specific
installation.
- Introduced a new {class}`DimensionedFont` to avoid breaking
changes in other code (mainly OCRmyPDF) that subclasses
{class}`Font`. Remove the new abstract methods from
{class}`Font.
- Added a significant new feature to support filling and
rendering PDF forms. Thanks @dmjohnsson23. See `pikepdf.form`
and `pikepdf.canvas`.
- Now building wheels against qpdf 12.2.0.
- We no longer build PyPy wheels on Windows, due to strange test
failures that appear there and nowhere else.
- Merged {pr}`639`, a branch containing support for calculating
the current transformation matrix at time of rendering. This is
a valuable building block for users wishing to determine when
and where images are drawn.
- Clarified need for setuptools 77.0.3 to build. {issue}`648`
- `pikepdf.Object` that are indirect objects now raise an
exception on attempts to hash them (add to dict-type
containers), since they are in fact potentially
mutable. For now, direct objects can still be hashed, but this
is likely to be discontinued. {issue}`647`
- Wheels are now built against qpdf 12.0.0, which should bring
performance improvements for most workloads.
- qpdf 11.9.0 is now the minimum build requirement.
- We no longer build PyPy wheels on macOS, due to poor supporting
infrastructure and unfixed issues. pikepdf will likely drop
PyPy in its next major release.
- `pikepdf._core._ObjectList` no longer reports its `repr()`
correctly on Windows. This issue appears to be a compiler bug
in MSVC++ and has no known resolution, but also very minor
impact.
- setuptools 77.0.3 is now required for building.
- Updates to tooling.
- Fixed an issue where temporary files could be left behind when
using allow_overwriting_input=True and a SIGINT is sent while
the file is being flushed to disk, or generally within a
specific timing window.
- Fixed an issue via OCRmyPDF by replacing an invalid Document
Info dictionary with a valid dictionary.
- Bump version to address sigstore build issues.
- Pillow dropped PyPy 3.9 so we're dropping it too.
- Created setter for Outline management to make manipulating outlines easier.
- pikepdf now sets XMP properties as subelements instead of
inline properties, in line with the XMP specification.
- pikepdf an issue with converting certain images to PIL
- Added a new `pikepdf.exceptions` module which organizes all
exceptions more conveniently.
- pikepdf now tries harder to extract corrupt images in a PDF
when they are found.
- Fixed an issue where an exception handler referred to an object
not in scope, causing another exception.
- Dropped a comment about an unsupported dependency.
-------------------------------------------------------------------
Thu Nov 21 10:01:31 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 9.4.2:
* Internal type assertion error messages from qpdf that previously
triggered a RuntimeError will now raise a PdfError. Generally
these errors only occur in corrupted files.
* When we are updating XMP in the processing of saving, errors
from updating XML are wrapped differently to clarify the
context in which the error occurs.
* Fixed a process abort in JBIG2 handling related to cleanup of
Python objects owned by C++ code.
* Fixed inconsistent behavior when setting metadata records to an
empty value. :issue:`622`
* Added missing Python 3.13 wheels for a few platforms that were
missing them, mainly ARM Linux, musllinux/Alpine, and Windows.
* Since Homebrew has ended support for macOS 12, macOS 13 is now
the minimum requirement for Intel macOS.
* Suppressed some spurious warnings during build tests.
* Integrated OSS Fuzz.
* Prevented generation of PDF date strings with invalid trailing
apostrophes, while still accepting them.
* Improved error message on parsing invalid date strings.
* Dropped support for Python 3.8 (end of life October 2024).
* Fixed some inconsistencies with the pikepdf.Rectangle class.
* Python 3.13 with free-threading added to test matrix.
* Removed wheel package as build requirement since modern packing
no longer needs it.
* Updated C++/Python exception translation to new pybind11
2.12.0+ protocol, fixing possible undefined behavior in
multithreaded applications.
* pybind11 2.12.0 is now required.
* qpdf 11.9.1 is now used to build wheels.
* Modernized copyright information to REUSE.toml specification.
* Added a new test file for a rare case, CCITT with EndOfLine=True.
* Fixed handling of CalRGB and CalGray images with palettes.
* Fixed a test suite failure when numpy 2.1 is installed. :issue:`603`
* Prevented use of setuptools 72+ since it seems to introduce build errors.
* Added a missing #include header. :issue:`600`
* Fixed an issue where small floating point values would be recorded in
scientific notation, contrary to the PDF specification. :issue:`598`
* Fixed some false positive warnings on Windows C++ compilers.
* Improved support for Python 3.13 pre-release.
* Fixed a potential resource leak if we opened a file to read it
as a PDF but it was not a valid PDF.
* When overwriting an existing PDF with ``Pdf.save()``, pikepdf
now attempts to retain the original file permissions and
ownership.
* Fixed missing return type for PageList.Extend. :issue:`592`
-------------------------------------------------------------------
Thu May 2 08:23:18 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-pikepdf
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2020-2021, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -19,7 +19,7 @@
%{?sle15_python_module_pythons}
Name: python-pikepdf
Version: 8.15.1
Version: 10.0.2
Release: 0
Summary: Read and write PDFs with Python, powered by qpdf
License: MPL-2.0
@@ -31,13 +31,13 @@ BuildRequires: %{python_module Deprecated}
BuildRequires: %{python_module Pillow >= 10.0.1}
BuildRequires: %{python_module attrs >= 20.2.0}
BuildRequires: %{python_module deprecated}
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module devel >= 3.10}
BuildRequires: %{python_module hypothesis >= 6.36}
BuildRequires: %{python_module lxml >= 4.8}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module psutil >= 5.9}
BuildRequires: %{python_module pybind11 >= 2.10.1}
BuildRequires: %{python_module pybind11-devel >= 2.10.0}
BuildRequires: %{python_module pybind11 >= 3.0.0}
BuildRequires: %{python_module pybind11-devel >= 3.0.0}
BuildRequires: %{python_module pytest >= 6.2.5}
BuildRequires: %{python_module pytest-cov >= 3.0.0}
BuildRequires: %{python_module pytest-forked}
@@ -56,7 +56,7 @@ BuildRequires: gcc-c++
BuildRequires: libjpeg8-devel
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(libqpdf) >= 11.5.0
BuildRequires: pkgconfig(libqpdf) >= 12.2.0
Requires: python-Deprecated
Requires: python-Pillow >= 10.0.1
Requires: python-lxml >= 4.8