pdf-tooling 1.2.0__tar.gz → 1.2.1__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 (274) hide show
  1. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/PKG-INFO +4 -4
  2. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/README.md +1 -1
  3. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/THIRD_PARTY_LICENSES +3 -3
  4. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/pyproject.toml +23 -3
  5. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/.gitignore +0 -0
  6. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/CONTRIBUTING.md +0 -0
  7. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/LICENSE +0 -0
  8. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/Makefile +0 -0
  9. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/NOTICE +0 -0
  10. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/TESTING.md +0 -0
  11. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/changelog.md +0 -0
  12. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/_verify_outcomes.py +0 -0
  13. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/assert_artifacts.py +0 -0
  14. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/assert_skips.py +0 -0
  15. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/dco_check.py +0 -0
  16. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/gate_parity.py +0 -0
  17. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/licenses.py +0 -0
  18. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/measure_gate.py +0 -0
  19. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/reap_shims.py +0 -0
  20. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/startup_gate.py +0 -0
  21. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/stress_start_method_arm.py +0 -0
  22. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/scripts/verify_spec.py +0 -0
  23. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/__init__.py +0 -0
  24. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/__main__.py +0 -0
  25. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/__init__.py +0 -0
  26. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/pdfium_raster.py +0 -0
  27. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/pdfium_text.py +0 -0
  28. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/pdfplumber_text.py +0 -0
  29. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/pikepdf_structure.py +0 -0
  30. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/pypdf_structure.py +0 -0
  31. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/reportlab_compose.py +0 -0
  32. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/soffice_office.py +0 -0
  33. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/subprocess_util.py +0 -0
  34. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/adapters/tesseract_ocr.py +0 -0
  35. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/__init__.py +0 -0
  36. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_compose.py +0 -0
  37. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_compress.py +0 -0
  38. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_create.py +0 -0
  39. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_decrypt.py +0 -0
  40. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_delete.py +0 -0
  41. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_doctor.py +0 -0
  42. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_encrypt.py +0 -0
  43. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_extract.py +0 -0
  44. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_info.py +0 -0
  45. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_linearize.py +0 -0
  46. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_merge.py +0 -0
  47. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_meta.py +0 -0
  48. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_meta_get.py +0 -0
  49. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_meta_set.py +0 -0
  50. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_ocr.py +0 -0
  51. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_office.py +0 -0
  52. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_permissions.py +0 -0
  53. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_rasterize.py +0 -0
  54. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_reorder.py +0 -0
  55. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_repair.py +0 -0
  56. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_rotate.py +0 -0
  57. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_split.py +0 -0
  58. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_stamp.py +0 -0
  59. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_tables.py +0 -0
  60. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_text.py +0 -0
  61. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_version.py +0 -0
  62. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/cmd_watermark.py +0 -0
  63. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/common.py +0 -0
  64. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/exit_codes.py +0 -0
  65. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/main.py +0 -0
  66. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/cli/password.py +0 -0
  67. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/errors.py +0 -0
  68. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/models.py +0 -0
  69. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/__init__.py +0 -0
  70. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/batch.py +0 -0
  71. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/carriage.py +0 -0
  72. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/carriage_decl.py +0 -0
  73. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/compose.py +0 -0
  74. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/crypto.py +0 -0
  75. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/document_password.py +0 -0
  76. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/engine_disclosure.py +0 -0
  77. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/inspect.py +0 -0
  78. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/merge.py +0 -0
  79. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/metadata.py +0 -0
  80. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/ocr.py +0 -0
  81. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/office.py +0 -0
  82. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/optimize.py +0 -0
  83. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/overlay.py +0 -0
  84. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/pagerange.py +0 -0
  85. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/pages.py +0 -0
  86. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/procpool.py +0 -0
  87. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/raster.py +0 -0
  88. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/split.py +0 -0
  89. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ops/textract.py +0 -0
  90. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/output/__init__.py +0 -0
  91. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/output/json.py +0 -0
  92. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/output/logging.py +0 -0
  93. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/output/table.py +0 -0
  94. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/__init__.py +0 -0
  95. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/compose.py +0 -0
  96. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/ocr.py +0 -0
  97. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/office.py +0 -0
  98. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/raster.py +0 -0
  99. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/structure.py +0 -0
  100. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/ports/text.py +0 -0
  101. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/__init__.py +0 -0
  102. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/_faults.py +0 -0
  103. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/atomic.py +0 -0
  104. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/confirm.py +0 -0
  105. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/naming.py +0 -0
  106. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/paths.py +0 -0
  107. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/policy.py +0 -0
  108. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/safety/tempnames.py +0 -0
  109. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/src/pdf_tooling/secret.py +0 -0
  110. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/__init__.py +0 -0
  111. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/_model.py +0 -0
  112. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_01.py +0 -0
  113. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_02.py +0 -0
  114. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_03.py +0 -0
  115. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_04.py +0 -0
  116. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_05.py +0 -0
  117. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_06.py +0 -0
  118. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_09.py +0 -0
  119. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_23.py +0 -0
  120. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_82.py +0 -0
  121. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_85.py +0 -0
  122. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_86.py +0 -0
  123. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/acceptance/audit_pdf_88.py +0 -0
  124. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/atomic_harness.py +0 -0
  125. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/ceiling_register.py +0 -0
  126. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/conftest.py +0 -0
  127. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/corpus.py +0 -0
  128. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/dryreal.py +0 -0
  129. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/provenance/pdf_tooling-0.1.1-py3-none-any.whl.provenance.json +0 -0
  130. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/provenance/pdf_tooling-0.1.1.tar.gz.provenance.json +0 -0
  131. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/provenance/pdf_tooling-0.2.0-py3-none-any.whl.provenance.json +0 -0
  132. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/provenance/pdf_tooling-0.2.0.tar.gz.provenance.json +0 -0
  133. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/PROVENANCE.txt +0 -0
  134. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/a_655fc72_x_2141c76/PDF-89.header.txt +0 -0
  135. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/a_655fc72_x_2141c76/changelog-headings.txt +0 -0
  136. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/a_655fc72_x_2141c76/spec-index.txt +0 -0
  137. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/a_655fc72_x_2141c76/subjects.txt +0 -0
  138. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/b_1249757_x_7e2bd98/changelog-headings.txt +0 -0
  139. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/b_1249757_x_7e2bd98/spec-index.txt +0 -0
  140. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fixtures/roster_population/b_1249757_x_7e2bd98/subjects.txt +0 -0
  141. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/fs_snapshot.py +0 -0
  142. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/golden/README.md +0 -0
  143. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/golden/envelope_keys.json +0 -0
  144. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/golden/meta_get.json +0 -0
  145. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/golden/tables_lines.json +0 -0
  146. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/golden/text_layout.json +0 -0
  147. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/helpers/engine_hiding.py +0 -0
  148. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/helpers/pdfstream.py +0 -0
  149. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_atomic_crash.py +0 -0
  150. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_bulk_clobber_gate.py +0 -0
  151. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_compose_roundtrip.py +0 -0
  152. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_cross_filesystem.py +0 -0
  153. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_crypto_roundtrip.py +0 -0
  154. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_ocr.py +0 -0
  155. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_office.py +0 -0
  156. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_office_orphan_probe.py +0 -0
  157. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_optimize_cli.py +0 -0
  158. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_or7_bulk_destructive.py +0 -0
  159. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_or7_engine_absent.py +0 -0
  160. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_out_dir_planning.py +0 -0
  161. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_overlay_preservation.py +0 -0
  162. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pages_cli.py +0 -0
  163. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf107_meta_set_xmp_shapes.py +0 -0
  164. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf108_carriage_warnings.py +0 -0
  165. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf112_render_budget.py +0 -0
  166. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf115_decrypted_output_refusal.py +0 -0
  167. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf116_metadata_carriage.py +0 -0
  168. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf120_soffice_hardening.py +0 -0
  169. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf121_clear_all_remanence.py +0 -0
  170. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf126_residual_unreachable.py +0 -0
  171. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf127_clear_all_in_place_refusal.py +0 -0
  172. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf128_batch_auth_and_owner_only_password.py +0 -0
  173. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf129_sigkill_residue_contract.py +0 -0
  174. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf89_destination_is_input.py +0 -0
  175. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf90_output_mode.py +0 -0
  176. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_pdf99_meta_set_no_info.py +0 -0
  177. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_procpool_group_signals.py +0 -0
  178. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_purity_primitive.py +0 -0
  179. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_rasterize_cli.py +0 -0
  180. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_rasterize_signals.py +0 -0
  181. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_render_pool_start_method.py +0 -0
  182. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_samples_guard_fires.py +0 -0
  183. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_split_merge_atomicity.py +0 -0
  184. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_split_merge_cli.py +0 -0
  185. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_split_merge_roundtrip.py +0 -0
  186. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_text_tables_cli.py +0 -0
  187. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/integration/test_value_shape.py +0 -0
  188. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/pagetree.py +0 -0
  189. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/pdfium_text.py +0 -0
  190. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/ratchet.py +0 -0
  191. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/registry.py +0 -0
  192. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/remanence.py +0 -0
  193. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/samples_guard.py +0 -0
  194. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/seam_sitecustomize/sitecustomize.py +0 -0
  195. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/seams.py +0 -0
  196. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/spec_id_grammar.py +0 -0
  197. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_acceptance_audit.py +0 -0
  198. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_adapter_stream_ownership.py +0 -0
  199. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_assert_skips.py +0 -0
  200. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_batch_continuation.py +0 -0
  201. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_brand_surfaces.py +0 -0
  202. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_changelog_history.py +0 -0
  203. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_cli_contract.py +0 -0
  204. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_cli_spine.py +0 -0
  205. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_community_health_files.py +0 -0
  206. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_corpus.py +0 -0
  207. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_coverage_policy.py +0 -0
  208. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_derived_dimensions.py +0 -0
  209. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_destination_canonicalization_boundary.py +0 -0
  210. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_docs_antirot.py +0 -0
  211. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_docstring_pointers.py +0 -0
  212. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_doctor.py +0 -0
  213. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_engine_boundary.py +0 -0
  214. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_engine_gating_census.py +0 -0
  215. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_engine_hiding_shim.py +0 -0
  216. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_envelope_contract.py +0 -0
  217. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_gate_budget.py +0 -0
  218. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_gate_parity.py +0 -0
  219. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_honesty_claims.py +0 -0
  220. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_import_boundaries.py +0 -0
  221. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_info.py +0 -0
  222. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_license_metadata_policy.py +0 -0
  223. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_license_policy.py +0 -0
  224. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_merge_gate.py +0 -0
  225. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_message_hygiene.py +0 -0
  226. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_pagerange.py +0 -0
  227. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_password_file_contract.py +0 -0
  228. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_password_leaks.py +0 -0
  229. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_pdf130_readme_first_screen.py +0 -0
  230. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_pypi_metadata.py +0 -0
  231. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_pypi_provenance.py +0 -0
  232. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_ratchet_integrity.py +0 -0
  233. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_read_seams.py +0 -0
  234. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_rename_completeness.py +0 -0
  235. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_samples.py +0 -0
  236. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_secret_leak_sweeps.py +0 -0
  237. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_spec_id_grammar.py +0 -0
  238. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_startup_message_short_summary.py +0 -0
  239. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_testdata.py +0 -0
  240. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_usage_envelope.py +0 -0
  241. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_verify_spec.py +0 -0
  242. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_website_contract.py +0 -0
  243. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_website_diagrams.py +0 -0
  244. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_website_i18n.py +0 -0
  245. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/test_workflow_supply_chain.py +0 -0
  246. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_atomic_writer.py +0 -0
  247. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_compose.py +0 -0
  248. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_confirm.py +0 -0
  249. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_create.py +0 -0
  250. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_dryreal.py +0 -0
  251. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_golden.py +0 -0
  252. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_merge.py +0 -0
  253. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_meta_group.py +0 -0
  254. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_metadata.py +0 -0
  255. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_name_template.py +0 -0
  256. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_optimize.py +0 -0
  257. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_output_flags.py +0 -0
  258. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_overlay.py +0 -0
  259. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_pages.py +0 -0
  260. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_password_hint.py +0 -0
  261. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_password_resolution.py +0 -0
  262. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_pdf121_drop_unreachable.py +0 -0
  263. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_ports_registry.py +0 -0
  264. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_procpool.py +0 -0
  265. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_raster.py +0 -0
  266. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_registry.py +0 -0
  267. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_safety_paths.py +0 -0
  268. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_samples_guard.py +0 -0
  269. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_secret.py +0 -0
  270. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_split.py +0 -0
  271. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_subprocess_util.py +0 -0
  272. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_tempnames.py +0 -0
  273. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_textract.py +0 -0
  274. {pdf_tooling-1.2.0 → pdf_tooling-1.2.1}/tests/unit/test_verb_help_content.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pdf-tooling
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: One safe, permissively-licensed command-line tool for the common PDF chores.
5
5
  Project-URL: Homepage, https://armandoherra.github.io/pdf-tooling/
6
6
  Project-URL: Documentation, https://github.com/ArmandoHerra/pdf-tooling#readme
@@ -28,8 +28,8 @@ Classifier: Topic :: Utilities
28
28
  Requires-Python: >=3.11
29
29
  Requires-Dist: pdfplumber<0.12,>=0.11.10
30
30
  Requires-Dist: pikepdf<11,>=10.12.0
31
- Requires-Dist: pillow<13,>=12.3.0
32
- Requires-Dist: pypdf[crypto]<7,>=6.19.0
31
+ Requires-Dist: pillow<14,>=13.0.0
32
+ Requires-Dist: pypdf[crypto]<7,>=6.21.2
33
33
  Requires-Dist: pypdfium2<6,>=5.13.0
34
34
  Requires-Dist: pytesseract<0.4,>=0.3.13
35
35
  Requires-Dist: reportlab<6,>=5.0.1
@@ -366,7 +366,7 @@ A supplied password is checked even when the document would open without one: an
366
366
 
367
367
  ## Upgrading to 1.2
368
368
 
369
- A `1.1.x` invocation or script that relied on any of the following observes a different exit code or message at `1.2`. These changes are on `main` and ship in the first `1.2` release.
369
+ A `1.1.x` invocation or script that relied on any of the following observes a different exit code or message at `1.2`. These changes shipped in `1.2.0` on 2026-10-08.
370
370
 
371
371
  | In 1.1 | In 1.2 | What to change |
372
372
  |---|---|---|
@@ -324,7 +324,7 @@ A supplied password is checked even when the document would open without one: an
324
324
 
325
325
  ## Upgrading to 1.2
326
326
 
327
- A `1.1.x` invocation or script that relied on any of the following observes a different exit code or message at `1.2`. These changes are on `main` and ship in the first `1.2` release.
327
+ A `1.1.x` invocation or script that relied on any of the following observes a different exit code or message at `1.2`. These changes shipped in `1.2.0` on 2026-10-08.
328
328
 
329
329
  | In 1.1 | In 1.2 | What to change |
330
330
  |---|---|---|
@@ -62,7 +62,7 @@ THE SOFTWARE.
62
62
 
63
63
 
64
64
  brotli
65
- 1.2.0
65
+ 1.2.1
66
66
  MIT
67
67
  Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
68
68
 
@@ -760,7 +760,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
760
760
 
761
761
 
762
762
  pillow
763
- 12.3.0
763
+ 13.0.0
764
764
  MIT-CMU
765
765
  The Python Imaging Library (PIL) is
766
766
 
@@ -2405,7 +2405,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2405
2405
 
2406
2406
 
2407
2407
  pypdf
2408
- 6.19.0
2408
+ 6.21.2
2409
2409
  BSD-3-Clause
2410
2410
  Copyright (c) 2006-2008, Mathieu Fenniak
2411
2411
  Some contributions copyright (c) 2007, Ashish Kulkarni <kulkarni.ashish@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pdf-tooling"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  description = "One safe, permissively-licensed command-line tool for the common PDF chores."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -54,13 +54,20 @@ dependencies = [
54
54
  # lifting it needs the suite run against 7.x). The lock was refreshed
55
55
  # targeted (pypdf and urllib3 only); urllib3 >= 2.8.0 clears three more
56
56
  # advisories in the dev-only closure (requests <- pip-audit).
57
- "pypdf[crypto]>=6.19.0,<7",
57
+ # 2026-10-24 (ledger 9a0daae8ee follow-up): floor 6.19.0 -> 6.21.2, the
58
+ # lowest version that fixes all 11 pip-audit advisories published against
59
+ # 6.19.0; the `<7` ceiling stays (no fix needs 7.x).
60
+ "pypdf[crypto]>=6.21.2,<7",
58
61
  "pypdfium2>=5.13.0,<6",
59
62
  "reportlab>=5.0.1,<6",
60
63
  "pikepdf>=10.12.0,<11",
61
64
  "pdfplumber>=0.11.10,<0.12",
62
65
  "pytesseract>=0.3.13,<0.4",
63
- "pillow>=12.3.0,<13",
66
+ # 2026-10-24: 13.0.0 is the only release that fixes the 37 advisories
67
+ # pip-audit reports against 12.3.0, so the `<13` ceiling held every user on
68
+ # a vulnerable Pillow. Floor and ceiling move together to >=13.0.0,<14; the
69
+ # full suite was run against 13.0.0 before the move.
70
+ "pillow>=13.0.0,<14",
64
71
  "typer>=0.12,<1",
65
72
  ]
66
73
 
@@ -83,6 +90,19 @@ Repository = "https://github.com/ArmandoHerra/pdf-tooling"
83
90
  Changelog = "https://github.com/ArmandoHerra/pdf-tooling/blob/main/changelog.md"
84
91
  Issues = "https://github.com/ArmandoHerra/pdf-tooling/issues"
85
92
 
93
+ # CI uv pin (ledger 9a0daae8ee, B-461). uv 0.13 stopped writing the
94
+ # `_virtualenv.pth` startup shim, so a bare venv interpreter loads 12 fewer
95
+ # modules (45 -> 33 locally; CI's recorded floor 36 -> 24). That floor is the
96
+ # DENOMINATOR of test_total_startup_import_cost_stays_under_its_ceiling, so
97
+ # every Linux 3.11/3.12 cell read 27-30 against the 26.5 ceiling with no
98
+ # change in this project's own import cost. CI therefore pins uv 0.12.24 in
99
+ # every `astral-sh/setup-uv` step's `version:` input. It is deliberately NOT
100
+ # a `[tool.uv] required-version` here: Dependabot's uv updater runs only the
101
+ # newest uv and drops every update with `tool_version_not_supported` when the
102
+ # project declares an older range. Lifting the pin needs the ceiling
103
+ # re-derived under uv 0.13 with a fresh measured distribution, never a
104
+ # widened constant. A local `make test` under uv 0.13 reds the same arm.
105
+
86
106
  [dependency-groups]
87
107
  dev = [
88
108
  "ruff>=0.6",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes