Skip to main content

Python bindings for oxidize-pdf — generate, parse, split, merge, and manipulate PDF files

Project description

oxidize-pdf

PyPI version CI License: MIT Python Typed

Python bindings for oxidize-pdf, a pure Rust PDF generation and manipulation library.

Generate, parse, split, merge, and manipulate PDF files from Python with native performance — no C dependencies, no Java, no subprocess calls.

Why oxidize-pdf?

Most Python PDF libraries are written in pure Python or wrap C/Java backends. oxidize-pdf is different: the core engine is written in Rust and compiled to a native Python extension via PyO3. This means:

  • Native performance — The core is compiled Rust, not interpreted Python
  • Zero external dependencies — No Poppler, no Java, no Ghostscript, no subprocess calls
  • Memory safe — Rust's ownership model prevents crashes and memory leaks
  • Fully typed — Ships with type stubs, works with mypy/pyright out of the box
  • Cross-platform wheels — Pre-built for Linux, macOS, and Windows (x86_64 + ARM)

Installation

pip install oxidize-pdf

Supported platforms: Linux (x86_64, aarch64), macOS (x86_64, Apple Silicon), Windows (x86_64) Requires: Python 3.10+

Quick start

Create a PDF

from oxidize_pdf import Document, Page, Font, Color

doc = Document()
doc.set_title("My Document")
doc.set_author("Jane Doe")

page = Page.a4()
page.set_font(Font.HELVETICA, 24.0)
page.set_text_color(Color.black())
page.text_at(72.0, 750.0, "Hello from oxidize-pdf!")

page.set_font(Font.TIMES_ROMAN, 12.0)
page.text_at(72.0, 700.0, "Generated with Python + Rust.")

doc.add_page(page)
doc.save("output.pdf")

Parse an existing PDF

from oxidize_pdf import PdfReader

reader = PdfReader.open("document.pdf")
print(f"Pages: {reader.page_count}, Version: {reader.version}")

# Extract text from all pages
for i, text in enumerate(reader.extract_text()):
    print(f"--- Page {i + 1} ---")
    print(text)

# Inspect page dimensions
page = reader.get_page(0)
print(f"Size: {page.width} x {page.height} points")

Operations

Split a PDF into individual pages

from oxidize_pdf import split_pdf

files = split_pdf("input.pdf", "output_dir/")
# Returns: ["output_dir/page_1.pdf", "output_dir/page_2.pdf", ...]

Merge multiple PDFs

from oxidize_pdf import merge_pdfs

merge_pdfs(["part1.pdf", "part2.pdf", "part3.pdf"], "merged.pdf")

Rotate all pages

from oxidize_pdf import rotate_pdf

rotate_pdf("input.pdf", "rotated.pdf", 90)  # 0, 90, 180, or 270 degrees

Extract specific pages

from oxidize_pdf import extract_pages

extract_pages("input.pdf", "subset.pdf", [0, 2, 4])  # 0-based indices

Graphics

from oxidize_pdf import Document, Page, Color

doc = Document()
page = Page.a4()

# Draw a filled rectangle
page.set_fill_color(Color.hex("#3498db"))
page.draw_rect(72.0, 700.0, 200.0, 100.0)
page.fill()

# Draw a circle with stroke
page.set_stroke_color(Color.red())
page.set_line_width(2.0)
page.draw_circle(300.0, 500.0, 50.0)
page.stroke()

# Draw a custom path
page.set_fill_color(Color.rgb(0.2, 0.8, 0.2))
page.move_to(100.0, 400.0)
page.line_to(200.0, 400.0)
page.line_to(150.0, 450.0)
page.close_path()
page.fill_and_stroke()

doc.add_page(page)
doc.save("graphics.pdf")

Types

Color

from oxidize_pdf import Color

color = Color.rgb(1.0, 0.0, 0.0)       # Red (values 0.0–1.0)
color = Color.gray(0.5)                  # 50% gray
color = Color.cmyk(0.0, 1.0, 1.0, 0.0)  # CMYK red
color = Color.hex("#ff6600")             # From hex string
color = Color.black()                    # Convenience presets

Point, Rectangle, Margins

from oxidize_pdf import Point, Rectangle, Margins

point = Point(72.0, 720.0)
origin = Point.origin()

rect = Rectangle(Point(0.0, 0.0), Point(612.0, 792.0))
rect = Rectangle.from_xywh(72.0, 72.0, 468.0, 648.0)
print(f"{rect.width} x {rect.height}, center: {rect.center}")

margins = Margins(top=72.0, right=72.0, bottom=72.0, left=72.0)
margins = Margins.uniform(72.0)  # Same value for all sides

Fonts

All 14 standard PDF fonts are available:

from oxidize_pdf import Font

Font.HELVETICA             # Font.HELVETICA_BOLD
Font.TIMES_ROMAN           # Font.TIMES_BOLD
Font.COURIER               # Font.COURIER_BOLD
Font.SYMBOL                # Font.ZAPF_DINGBATS
# ... and italic/oblique variants

Error handling

All exceptions inherit from PdfError:

from oxidize_pdf import PdfReader, PdfError, PdfIoError, PdfParseError

try:
    reader = PdfReader.open("missing.pdf")
except PdfIoError as e:
    print(f"I/O error: {e}")
except PdfParseError as e:
    print(f"Parse error: {e}")
except PdfError as e:
    print(f"PDF error: {e}")

Exception hierarchy:

  • PdfError — base class
    • PdfIoError — file I/O errors
    • PdfParseError — malformed PDF structure
    • PdfEncryptionError — encryption/decryption failures
    • PdfPermissionError — operation denied by document permissions

Type checking

oxidize-pdf ships with type stubs and a py.typed marker. Full autocomplete and type checking work out of the box with mypy, pyright, and IDEs.

Known limitations

  • Encryption write support: Document.encrypt() configures encryption parameters but the underlying Rust library does not yet serialize the encryption dictionary to the PDF output. The PdfReader.is_encrypted / unlock() API for reading encrypted PDFs works correctly.
  • CPython only: PyPy and GraalPy are not supported.

License

MIT — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oxidize_pdf-0.2.1.tar.gz (220.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp314-cp314t-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp314-cp314-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

oxidize_pdf-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

oxidize_pdf-0.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp313-cp313-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.13Windows x86-64

oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

oxidize_pdf-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

oxidize_pdf-0.2.1-cp312-cp312-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.12Windows x86-64

oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

oxidize_pdf-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

oxidize_pdf-0.2.1-cp311-cp311-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.11Windows x86-64

oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

oxidize_pdf-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

oxidize_pdf-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

oxidize_pdf-0.2.1-cp310-cp310-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.10Windows x86-64

oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

File details

Details for the file oxidize_pdf-0.2.1.tar.gz.

File metadata

  • Download URL: oxidize_pdf-0.2.1.tar.gz
  • Upload date:
  • Size: 220.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oxidize_pdf-0.2.1.tar.gz
Algorithm Hash digest
SHA256 3b3b936d039c45202a0a6f4a95b87df22630dda43fc0be94e34facf6249a54cc
MD5 483f6a76d246e136ff0302adf4819088
BLAKE2b-256 5164de688571dd3eaad5c14bce9e9bfb6a0c79cb7e1385ec39cc88ccac5555b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1.tar.gz:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87a51873efd533ad87401542290f02b292de47aba338d588f6d015ea8e3af2d9
MD5 7548481b59a5a662ea020ef3de15cfb1
BLAKE2b-256 638844c4ec6d382e3303edf8f4433d133532f078c49dba4df738515ac5cef0e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f97cf371a1b29afc5190d1fbe74a14c454da25341c767931d7bd618f7d2185ab
MD5 d0339c050cc31c786b1df2edb28c9146
BLAKE2b-256 774663c20d484e7b6eca9fcd1475b43cfcb27211487979fabc51dfe3de792504

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fdb1e98f4b7ae1c5182220d69ff00c047f26f2159979f31c4c7b79f5391cc807
MD5 bdb9e18b49e5fccf5dbd1c5a613cf9ef
BLAKE2b-256 e92df94215877b654190a338bd8bbb6c1ab14368804601b3538ebddbc3cf5974

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314t-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4b9424d4509f417ca16dd55ddeb4c7b2dbb0c807f930f6a4e89a3dfc9b871542
MD5 ad711f7628b84428b75f42697a7efdd8
BLAKE2b-256 df805ea3830d6422acc73e19ac18a1b87cb506dcd0e451e21f1d78fdeb1db35d

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314-win_amd64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f3cdb04eb99f9b92ca8bc08832a13f13ccd0097ef7a6c0070b096795cafcd54
MD5 4718c962644c6fa7d796a873e66cb7ec
BLAKE2b-256 5e15c9f03e6e83e96c1a26a83a1dde4805ac66c29e9805d040696515573b8720

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55c8051787e86d3a5844ea4135b25661eef82ba42befc936a5f44bf472d530fb
MD5 ca6ff298110d9c9209475bb1edd9854a
BLAKE2b-256 7616b9a00b3bc0690d7d5d860c3794f8ca14cf29e01671c76284415819f609f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a5a7e3b4ec564518d49a56249d58a86c13e67afa93d44afe7fd3210dc5f2c1e
MD5 617fa9b2bd20da9f9e238e1d5b08b164
BLAKE2b-256 e7b1d1ffabf20c51ff6f79edf6398bccdf3bd10da0780c1fed2105df043304e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 06f65b73419121c2373185f1ff15d5a6d553af6b2bbe0d07d95b66dbe699ac44
MD5 90e9f240f5188b17a60e8677fdfbfdf6
BLAKE2b-256 868214b67d586edab2c14eb260b59ac23493b8187c4b2076d82fa8402f12ba0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4399ad3ff123c1d44716f412b275ae076e4e40cf3ce3f460969d94296fed1629
MD5 6542c2a254e8f928d4646a0618e5d82f
BLAKE2b-256 893471358464b2dd9c34321512b38821789356fb8fd5e20c9760dd1f69e36048

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f4f9189e4312029416e3bc4b724fd59622bc861847edbbb4a6012f6c30647b04
MD5 6cec778672ebee7cd9bdf0c201e91804
BLAKE2b-256 ce30f40014cf7e1414dec711b7bbb8b5fd8294f2ee75a5bc58bf377754d51b42

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 691ea5dde9348731ffb6ac1381a072289b494c0695db132b48ba930ddc67bf23
MD5 a3a35a6683bf0e4b2ed43b5961f6347c
BLAKE2b-256 ebf014a99b951da4a0cb865613a0a9008a8288f74bfce19b8a2a08c417bf539a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bde5576aa36ff5aced64c0322a652b055d20fb2f2ad970ef57a353a044e19120
MD5 098ffe640fa69d85865fda5dd15be3fe
BLAKE2b-256 7c6a67bd8fb69930a2358e2d3d0d6a4dbcd752f86faaeeba8409ee3eb69c7050

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e1c23519c93df1b89c87d96bf2ab15789d1f81e2a5b773eb889b4a7af2300c4
MD5 274e807bcd3e7cb2fabe9b7e823aec95
BLAKE2b-256 7f19abde620369e4f49be9175875c3a328270233c79c88e43302bde064d4d8d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 13c7118df4665d7e55033e34d7f3ae8bf2df038fe23da188afc846cd53716ac7
MD5 94778b154f1200c368d67bf5452c8b01
BLAKE2b-256 70f84356512e1353e13b986c42de7585390a4f275200b52f4c8d494521bfcb82

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e4a60bcf69c7785f52638d91f4ee59fe8b754a11329ab51a6fd5679d1cbf4bee
MD5 1443b2876422a681c786bc073bc6005f
BLAKE2b-256 94e730192c3bae975bc203a6bda7e2269eee23fc2af2c6e73ddd9c3b195bb88e

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7c3d46eb90ace7b5d4f2c12d5e3c558f646cc3934a393aa189c04cd537768261
MD5 1c13478500488720bbc1194fe4643be6
BLAKE2b-256 4490ba6452b6308fb08a19ea9d94c3ccdb8e6db751283fc7ec2d9a50f80c33df

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 23cc1528e180e9d2a8e2ec0e1ccf4f7bf9eea380fd73762ccad789d93a7353f7
MD5 067c2d03855aedf2d3b59001d5bf3217
BLAKE2b-256 fdf7fbae6f2459d7f30f2e7dd9ad5a9421df0b0ee30fd7cb69400e5e2a104d59

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebdb89874bc7ad0fd3e208b3785b8e8444a89b768843105f2b23cc5feb030c59
MD5 839e71eefdd11c503dd95327e035f6f9
BLAKE2b-256 0764370a5b0dcdb5bc5fb7c168db9f8ab47b3ccd775beabed7e42cda943c8cb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3a6383db2fbcab9b0ca258fb5b5d7f175d55aae4b01ef6b9dda5813f3f44b78d
MD5 61c1e3fcc0c1ac6b3d3c0322501aa558
BLAKE2b-256 6f2d07aee73d0883ea48b8181fd690c78df72cbd43ac979e30d1c50b73d1ff59

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e96085c3f600433569116b63d25057fb4568d1f82848d4cff928b9f79ce5169c
MD5 eb40af13c52935a7af9bc8ee257f8735
BLAKE2b-256 26fbba208938bf35c499bcb109f50210ade6daf8f80f117e1e7c8ef81288c982

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf98494bf7ace70bba80afb5535df76d3eb33cc06f795d3c3c2a051594198973
MD5 aaa61d9eea7e8b640b3ca00b8a979670
BLAKE2b-256 651d1d0676ff2e6bdcc181b87bb1602889794a0ab5aae705095274499028a16d

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c2bc8a60b6429539a0d122c8b2ba8c312c79d859a1c5574a435beb736f0e354d
MD5 255359cd6d4de02d593574f8ec7374a1
BLAKE2b-256 708ff5ecd41e916c1f30aaeba23df36baea8c11f67f467bf80d6d2d2ff0a821c

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4700beaffebaf173835332901d3720eb3c1980b7466aa91bedbea536d7f8b40d
MD5 7d3b11e4c9a77b661491fa31872da945
BLAKE2b-256 6cb3baf6d117ab8e26d5c6bc99cfc1f85d3ba9c0e9824cb7c2aaa9de225a3f2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0ece0ad5c016740ef8057faba96ab87cf377852f433e98124d0633f2603da98
MD5 38fc415d4dde2cf9bfa62c538c018346
BLAKE2b-256 c5913c306a0c051370b10cbea93349e68956cbc1d6a02ebfaedde8df7c70fdf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0d5ee834518ac95cdf6c1b6f1cd46b835bd28c6d76a89db1b84cea2aa4a38fe4
MD5 f5d4b867f9d99de32048c6a18f64676d
BLAKE2b-256 8336f0c92208b48bdda8d75fdc6e805421192057444ff426e05877a5d99a4725

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1dec120c64783968831bf6fa806dc6303967da9e5e1c9571dc28cc9907ce9991
MD5 9a3292322a48411b4911bdd5ff41c294
BLAKE2b-256 500eabea86d447afd456f5b4a7d8c53f951da2ea8e1e59cf41cd177e29270e2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a11264b150391f6bee4bca94b50fab33a873a24e7e6376a9c07c7f40db6fb97e
MD5 af4dcbcef1b3271a8109627322b9aab3
BLAKE2b-256 a98829bd9755c3ab67e2a311f26cad143e3855bb2456115766de296b5646d9e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for oxidize_pdf-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on bzsanti/oxidize-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page