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 3.5+. Pycairo, including this documentation, is licensed under the LGPL-2.1-only OR MPL-1.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.

pip install pycairo

Installing Pycairo requires cairo including its headers. For more info see “Getting Started”.


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()

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.

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://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.

Source Distribution

pycairo-1.19.0.tar.gz (200.9 kB view details)

Uploaded Source

File details

Details for the file pycairo-1.19.0.tar.gz.

File metadata

  • Download URL: pycairo-1.19.0.tar.gz
  • Upload date:
  • Size: 200.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.6

File hashes

Hashes for pycairo-1.19.0.tar.gz
Algorithm Hash digest
SHA256 4f5ba9374a46c98729dd3727d993f5e17ed0286fd6738ed464fe4efa0612d19c
MD5 38b84416021640b01250c8f8ec4c52d4
BLAKE2b-256 2595ac361f06789c7dad19c37f4d7043df9275f416dffcdc44e22c3befeb7b08

See more details on using hashes here.

Supported by

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