Skip to main content

Python interface for cairo

Project description

https://cdn.rawgit.com/pygobject/pycairo/master/docs/images/pycairo.svg

Pycairo is a Python module providing bindings for the cairo graphics library. It depends on cairo >= 1.13.1 and works with Python 2.7+ as well as Python 3.4+. Pycairo, including this documentation, is licensed under the LGPLv2.1 as well as the MPLv1.1.

The Pycairo bindings are designed to match the cairo C API as closely as possible, and to deviate only in cases which are clearly better implemented in a more ‘Pythonic’ way.

Features of the Pycairo bindings:

  • Provides an object oriented interface to cairo.
  • Queries the error status of objects and translates them to exceptions.
  • Provides a C API that can be used by other Python extensions.

https://cdn.rawgit.com/pygobject/pycairo/master/docs/images/example.svg
import cairo

with cairo.SVGSurface("example.svg", 200, 200) as surface:
    context = cairo.Context(surface)
    x, y, x1, y1 = 0.1, 0.5, 0.4, 0.9
    x2, y2, x3, y3 = 0.6, 0.1, 0.9, 0.5
    context.scale(200, 200)
    context.set_line_width(0.04)
    context.move_to(x, y)
    context.curve_to(x1, y1, x2, y2, x3, y3)
    context.stroke()
    context.set_source_rgba(1, 0.2, 0.2, 0.6)
    context.set_line_width(0.02)
    context.move_to(x, y)
    context.line_to(x1, y1)
    context.move_to(x2, y2)
    context.line_to(x3, y3)
    context.stroke()

If Pycairo is not what you need, have a look at cairocffi, which is an API compatible package using cffi or Qahirah, which is using ctypes and provides a more “pythonic” API with less focus on matching the cairo C API.

For more information visit https://pycairo.readthedocs.io

https://travis-ci.org/pygobject/pycairo.svg?branch=master https://ci.appveyor.com/api/projects/status/9hurdbb19lg2i9xm/branch/master?svg=true https://dev.azure.com/pygobject/pycairo/_apis/build/status/pygobject.pycairo https://codecov.io/gh/pygobject/pycairo/branch/master/graph/badge.svg

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pycairo-1.18.0.tar.gz (202.1 kB) Copy SHA256 hash SHA256 Source None Nov 4, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page