Python bindings for the Skia 2D graphics library. Current version is 144.0.post2, released on 2025-04-28. The project tracks upstream Skia milestones (currently m144) and releases irregularly, often with significant API changes between milestones.
Install & Compatibility
Where this runs
tested against v144.0.post2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
build_error
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.5s · import 0.000s · 119MB
120MB installed
● package 120MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Basic example: create a surface, draw a red rectangle, and save as PNG.
import skia
import os
# Create 256x256 red canvas
surface = skia.Surface(256, 256)
with surface as canvas:
paint = skia.Paint(color=skia.ColorRED, style=skia.Paint.kFill_Style)
canvas.drawRect(skia.Rect(10, 10, 100, 100), paint)
# Save to PNG
image = surface.makeImageSnapshot()
image.save('output.png', skia.kPNG)
print('Image saved as output.png')
Upgrade
Version history
Breaking-change detection hasn't run for this library yet.
Audit
Security & dependencies
CVE tracking and dependency tree are planned for a later release.