Skip to main content

build docs license downloads pypi pyver

PlutoPrint

PlutoPrint is a lightweight and easy-to-use Python library for generating high-quality PDFs and images directly from HTML or XML content. It is based on PlutoBook’s robust rendering engine and provides a simple API to convert your HTML into crisp PDF documents or vibrant image files. This makes it ideal for reports, invoices, or visual snapshots.

Invoices

Tickets

Invoices

Tickets

Installation

pip install plutoprint

PlutoPrint requires PlutoBook. On Windows (win_amd64), Linux (manylinux_2_28_x86_64) and macOS (macosx_15_0_arm64), prebuilt binaries are bundled with the package and no further steps are necessary. On other architectures or when building from source, see the Getting Started guide for dependency setup and build instructions.

On macOS and Linux, you can also install PlutoPrint using Homebrew:

brew update
brew install plutoprint

Quick Usage

Generate a PDF from the command line with the installed plutoprint script:

plutoprint input.html output.pdf --size=A4

Generate PDF with Python

import plutoprint

book = plutoprint.Book(plutoprint.PAGE_SIZE_A4)
book.load_url("hello.html")

# Export the entire document to PDF
book.write_to_pdf("hello.pdf")

# Export pages 2 to 15 (inclusive) in order
book.write_to_pdf("hello-range.pdf", 2, 15, 1)

# Export pages 15 to 2 (inclusive) in reverse order
book.write_to_pdf("hello-reverse.pdf", 15, 2, -1)

# Render pages manually with PDFCanvas (in reverse order)
with plutoprint.PDFCanvas("hello-canvas.pdf", book.get_page_size()) as canvas:
   canvas.scale(plutoprint.UNITS_PX, plutoprint.UNITS_PX)
   for page_index in range(book.get_page_count() - 1, -1, -1):
      canvas.set_size(book.get_page_size_at(page_index))
      book.render_page(canvas, page_index)
      canvas.show_page()

Generate PNG with Python

import plutoprint
import math

book = plutoprint.Book(media=plutoprint.MEDIA_TYPE_SCREEN)
book.load_html("<b>Hello World</b>", user_style="body { text-align: center }")

# Outputs an image at the document’s natural size
book.write_to_png("hello.png")

# Outputs a 320px wide image with auto-scaled height
book.write_to_png("hello-width.png", width=320)

# Outputs a 240px tall image with auto-scaled width
book.write_to_png("hello-height.png", height=240)

# Outputs an 800×200 pixels image (may stretch/squish content)
book.write_to_png("hello-fixed.png", 800, 200)

# Get the natural document size
width = math.ceil(book.get_document_width())
height = math.ceil(book.get_document_height())

# Outputs a high-resolution 5x scaled image
book.write_to_png("hello-scaled.png", width * 5, height * 5)

# Render manually on a canvas with white background
with plutoprint.ImageCanvas(width, height) as canvas:
   canvas.clear_surface(1, 1, 1)
   book.render_document(canvas)
   canvas.write_to_png("hello-canvas.png")

Generate QR Codes

Quick example of using -pluto-qrcode(<string>[, <color>]) to create QR codes with optional colors.

import plutoprint

HTML_CONTENT = """
<table>
  <tr>
    <th class="email">Email</th>
    <th class="tel">Tel</th>
  </tr>
  <tr>
    <th class="website">Website</th>
    <th class="github">GitHub</th>
  </tr>
</table>
"""

USER_STYLE = """
body {
  margin: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f7f7f7;
  font: 16px Arial;
}

table {
  border-spacing: 2rem;
  background: #fff;
  padding: 2rem;
  border: 1px solid #ccc;
  border-radius: 16px;
}

th::before {
  display: block;
  width: 130px;
  height: 130px;
  margin: 0 auto 0.8rem;
}

.email::before   { content: -pluto-qrcode('mailto:contact@example.com', #16a34a); }
.tel::before     { content: -pluto-qrcode('tel:+1234567890', #2563eb); }
.website::before { content: -pluto-qrcode('https://example.com', #ef4444); }
.github::before  { content: -pluto-qrcode('https://github.com/plutoprint', #f59e0b); }
"""

book = plutoprint.Book(plutoprint.PAGE_SIZE_LETTER.landscape())
book.load_html(HTML_CONTENT, USER_STYLE)
book.write_to_png("qrcard.png")
book.write_to_pdf("qrcard.pdf")

Expected output:

QR card

Generate Charts with Matplotlib

import plutoprint

import matplotlib.pyplot as plt
import urllib.parse
import io

class CustomResourceFetcher(plutoprint.ResourceFetcher):
   def fetch_url(self, url):
      if not url.startswith('chart:'):
         return super().fetch_url(url)
      values = [float(v) for v in urllib.parse.unquote(url[6:]).split(',')]
      labels = [chr(65 + i) for i in range(len(values))]

      plt.bar(labels, values)
      plt.title('Bar Chart')
      plt.xlabel('Labels')
      plt.ylabel('Values')

      buffer = io.BytesIO()
      plt.savefig(buffer, format='svg', transparent=True)

      return plutoprint.ResourceData(buffer.getvalue(), "image/svg+xml", "utf-8")

book = plutoprint.Book(plutoprint.PAGE_SIZE_A4.landscape(), plutoprint.PAGE_MARGINS_NONE)

book.custom_resource_fetcher = CustomResourceFetcher()

HTML_CONTENT = """
<body>
  <img src='chart:23,45,12,36,28,50'>
  <img src='chart:5,15,25,35,45'>
  <img src='chart:50,40,30,20,10'>
  <img src='chart:10,20,30,40,50,60,70'>
</body>
"""

USER_STYLE = """
body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #f7f7f7;
  height: 100vh;
  margin: 0;
}

img {
  background: #fff;
  border: 1px solid #ccc;
  margin: auto;
  max-height: 45vh;
}
"""

book.load_html(HTML_CONTENT, USER_STYLE)
book.write_to_png("charts.png")
book.write_to_pdf("charts.pdf")

Expected output:

Charts

Samples

Invoices
Invoice 1 Invoice 2 Invoice 3
Tickets
Ticket 1 Ticket 2
Ticket 3 Ticket 4

Support and Contribution

This project continues to grow through the encouragement and involvement of its users. If it has been helpful to you or your team, here are a few meaningful ways you can support its future:

  • Give it a Star on GitHub. Starring the project helps others discover it and shows your appreciation for the work behind it.

  • Sponsor the project to help drive new features, improve stability, and ensure the project continues to evolve for everyone who relies on it.

  • Share your feedback. If you have suggestions, feature requests, or notice an issue, please open a GitHub issue. Your voice and experience help guide the project’s direction.

Star History Chart

License

PlutoPrint is licensed under the MIT License, allowing for both personal and commercial use.

Metadata

Release files for plutoprint 0.23.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plutoprint 0.23.0
File Size Uploaded Provenance Actions
plutoprint-0.23.0.tar.gz 43.3 kB With provenance Details for plutoprint-0.23.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for plutoprint 0.23.0
File Actions
plutoprint-0.23.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for plutoprint-0.23.0-cp315-cp315-win_amd64.whl
plutoprint-0.23.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp315-cp315-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp315-cp315-macosx_15_0_arm64.whl CPython 3.15 CPython 3.15 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp315-cp315-macosx_15_0_arm64.whl
plutoprint-0.23.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for plutoprint-0.23.0-cp314-cp314-win_amd64.whl
plutoprint-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp314-cp314-macosx_15_0_arm64.whl
plutoprint-0.23.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for plutoprint-0.23.0-cp313-cp313-win_amd64.whl
plutoprint-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp313-cp313-macosx_15_0_arm64.whl
plutoprint-0.23.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for plutoprint-0.23.0-cp312-cp312-win_amd64.whl
plutoprint-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp312-cp312-macosx_15_0_arm64.whl
plutoprint-0.23.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for plutoprint-0.23.0-cp311-cp311-win_amd64.whl
plutoprint-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp311-cp311-macosx_15_0_arm64.whl
plutoprint-0.23.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for plutoprint-0.23.0-cp310-cp310-win_amd64.whl
plutoprint-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for plutoprint-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl
plutoprint-0.23.0-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details for plutoprint-0.23.0-cp310-cp310-macosx_15_0_arm64.whl

Total release size: 354.7 MB

Release files / plutoprint-0.23.0.tar.gz

Download URL plutoprint-0.23.0.tar.gz
Size 43.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6240e645599f08953fe0296b5b1955c6a978b212a05b878c2ba652a8ce7a0c82
BLAKE2b-256 checksum
How to use checksums
6be87db9d2d4801b80928f3b53d90d7343873aebed06b4cef5b71bc25f77086b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp315-cp315-win_amd64.whl

Download URL plutoprint-0.23.0-cp315-cp315-win_amd64.whl
Size 20.5 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
dbeffb1f50ee06736aa58a55dd660b04de66fabaf9beff472dc18ff2bc704141
BLAKE2b-256 checksum
How to use checksums
483429b8e9e1b04ad7da3ab05cf78850159b0ab026880404e9460b34f2d52523
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f6cff622609e7b656ad528fd5ef56ef1f497c32f772d23fc994c69ceed8e6ed8
BLAKE2b-256 checksum
How to use checksums
5c55988e234c73c46f3c58fd343a993a1356344467168947b0385d42a6585332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp315-cp315-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp315-cp315-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.15 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e94f29be36df06cfceb158a5b0ad4c078c47fd4823b57a2bdbe6f332567eadb5
BLAKE2b-256 checksum
How to use checksums
3ba1e1c2c2e1356371a4afa682be723a4a77685b7ede35091f6ccbb800c9aa1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp314-cp314-win_amd64.whl

Download URL plutoprint-0.23.0-cp314-cp314-win_amd64.whl
Size 20.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
9a06159258e1b48d6785fd68f4c0ecd8fe28a40bf6d6b705ffa2f5741e15f129
BLAKE2b-256 checksum
How to use checksums
bccc41bdfc167f806d59f80dc4e644b7cf4bc37121b853c3e247a6b913d23a0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a1af93ac49e266667199e4847049351ea8d72c4e27ea54896a319cf5ca9be279
BLAKE2b-256 checksum
How to use checksums
ecf29513b56be61c813889c3b1418f40dae356abf91ab9fc6459ec3c85a2bf16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp314-cp314-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp314-cp314-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
731182bea4e592a765d206c63b423a3ac020af096d90b0b84bc50926b2d9f56b
BLAKE2b-256 checksum
How to use checksums
2d1ac9510d5f4799895889031c67580a34b04273d50de49d4490820b5f3731bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp313-cp313-win_amd64.whl

Download URL plutoprint-0.23.0-cp313-cp313-win_amd64.whl
Size 19.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ea55276811673c5b737f23101579064db9885dd56c14ca7cca8b27a6a4dad97e
BLAKE2b-256 checksum
How to use checksums
49fb381dacdb2cfb992b7df086123378ec385d8bd9450861376970c1c8f3659b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
45818b9c6fe3627364932bbd8764b8e433c6ccc2f3198e066a42cb3c671e502c
BLAKE2b-256 checksum
How to use checksums
f184490d03ac6395a1328121da0737fddca0a7654e31f77a6d85f739fd6b8976
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp313-cp313-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp313-cp313-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
04a3170f58b2cd2b8be1f830a8efc66a3f45deeeac49171c23393d0396b06243
BLAKE2b-256 checksum
How to use checksums
4558049b7c3cde7344bf130378dd25a23e4de50c79c4d6dfed4217c0af550e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp312-cp312-win_amd64.whl

Download URL plutoprint-0.23.0-cp312-cp312-win_amd64.whl
Size 19.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
eb552e4b249b43b9c566ed19ec4a0d957a0f589b8085e0c9e498ff6ee5433919
BLAKE2b-256 checksum
How to use checksums
c9fce0e251591e6f8cf5beaa18e5fa80654b21575954ff168a8124c165035f06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3ac2b17a921be6da2fc59ebbcac394638d787b3696e03b9c185c86be445a1aef
BLAKE2b-256 checksum
How to use checksums
f8fed5f0d8ae76da270a8b026d2bd1d0469f04481f978eee11a1f7865847b35c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp312-cp312-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp312-cp312-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
a9171b5e7a34b88d26efadc106711699898feaae3bab905b72df95c61c1a65c8
BLAKE2b-256 checksum
How to use checksums
974710bf8a74bd80459aee141b5ee60ba65b9db471b4588bd75a088ccef48adf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp311-cp311-win_amd64.whl

Download URL plutoprint-0.23.0-cp311-cp311-win_amd64.whl
Size 19.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
418872d36f68af7314d7ac1e0dc3f99e4631b4286b5e7ebb68a7cce5b249aeb9
BLAKE2b-256 checksum
How to use checksums
a178c7bee4e55a488f6a5ade18fc795ceacd28beee9fc697c0b402e0d77b477b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5ce62e38728b2978e812e9abcc06340aaef10970c5c1a295be8efab8030b5124
BLAKE2b-256 checksum
How to use checksums
7ecab74b07c409c754b4386737c83a1e5a6f0aba2cf24d774a0cadd6479236c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp311-cp311-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp311-cp311-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
3b9bba16ad3e99f7ae1d9e18a01a7c3b67966d80257283e68915756ff8b20bfe
BLAKE2b-256 checksum
How to use checksums
a39546003f15cee6229ea7be98854fe1dc71861dd983118eb12c65b183f6554f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp310-cp310-win_amd64.whl

Download URL plutoprint-0.23.0-cp310-cp310-win_amd64.whl
Size 19.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
03999bb58208fb025a45d9b26bfbc54c27e54775e8d4dc7480a3b4820fe44d93
BLAKE2b-256 checksum
How to use checksums
ea66d8cf42038a33cd170cfb84cc011d3630362d16563149b361bb5a5d276cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL plutoprint-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 20.5 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
898e1928b24750970f53ac02224650f3a65f8a77d6d70e75a6785a1a4050e005
BLAKE2b-256 checksum
How to use checksums
d466dc6ad49c54ce567598d6c15ee9ea18799ca96ceb1278f777afaaa228065c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / plutoprint-0.23.0-cp310-cp310-macosx_15_0_arm64.whl

Download URL plutoprint-0.23.0-cp310-cp310-macosx_15_0_arm64.whl
Size 18.6 MB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
458b76a7cfd02cc9b15acaf0e298507bb7865ca285997d4fe943215936f29612
BLAKE2b-256 checksum
How to use checksums
c4e9d3ae7e787d2884ffcc2e8892768ce0390d1dbbe611514be82e04687a7cd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for plutoprint 0.23.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 19 files in this release have been uploaded with provenance metadata.

Select from 19 files

Attestation for plutoprint-0.23.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page