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.3+. 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

surface = cairo.SVGSurface("example.svg", 200, 200)
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()
surface.finish()

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://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.16.1.tar.gz (180.5 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pycairo-1.16.1.tar.gz
  • Upload date:
  • Size: 180.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycairo-1.16.1.tar.gz
Algorithm Hash digest
SHA256 47a14a6a2f8dadb649229f099ac712a5f3d0a22e14877165a203d8a0de09ad63
MD5 c8dfc0103b9c81b8568dfd5fe7af4de7
BLAKE2b-256 1f8d992c2c80c0fd56417029e886786cc1b40e6a55aba1c39f1418fad6f7c9aa

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