Python2 bindings for cairo
Go to file
Christoph Reiter 71630e59df version bump 2019-10-24 22:24:56 +02:00
.azure-pipelines CI/msys2: don't pass extra cflags, it's all handled in setup.py now 2019-10-22 20:36:28 +02:00
cairo enum: explicitely set enum.__str__ 2019-10-22 19:30:46 +02:00
docs getting_started: add Python devel packages to install commands 2019-01-27 10:17:31 +01:00
examples examples/snippets: fix error in case .pyc files of snippets are present. Fixes #35 2017-05-04 16:07:24 +02:00
tests tests: fix a pytest deprecation warning 2019-02-13 17:02:47 +01:00
.codecov.yml Rename codecov.yml 2017-12-06 15:36:12 +01:00
.gitignore update .gitignore 2018-04-15 12:14:59 +02:00
.travis.yml travis: try building with a newer macos image 2019-10-24 22:02:21 +02:00
COPYING
COPYING-LGPL-2.1
COPYING-MPL-1.1
MANIFEST.in meson: install an .egg-info file 2018-06-24 15:00:07 +02:00
NEWS release 2019-10-24 22:23:26 +02:00
PKG-INFO.in Add py3.8 classifier 2019-10-22 19:31:09 +02:00
README.rst ci: drop the win32 py3.4 build and appveyor 2019-02-24 16:21:00 +01:00
azure-pipelines.yml ci: move the py27 win32 build from appveyor to azure-pipelines 2019-02-24 15:57:52 +01:00
meson.build version bump 2019-10-24 22:24:56 +02:00
meson_options.txt meson support. Fixes #114 2018-06-23 21:31:31 +02:00
setup.cfg travis-ci: add Python 3.7, drop 3.3 2018-07-07 16:33:50 +02:00
setup.py version bump 2019-10-24 22:24:56 +02:00

README.rst

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. image:: https://cdn.rawgit.com/pygobject/pycairo/master/docs/images/pycairo.svg
   :align: center
   :width: 370px

|

Pycairo is a Python module providing bindings for the `cairo graphics library
<https://cairographics.org/>`__. 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.

.. code:: shell

    pip install pycairo

Installing Pycairo requires cairo including its headers. For more info see
"`Getting Started
<https://pycairo.readthedocs.io/en/latest/getting_started.html>`__".

----

.. image:: https://cdn.rawgit.com/pygobject/pycairo/master/docs/images/example.svg
   :align: right
   :width: 200px

.. code:: python

    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
<https://cairocffi.readthedocs.io>`__, which is an API compatible package
using `cffi <https://cffi.readthedocs.io/>`__ or `Qahirah
<https://github.com/ldo/qahirah>`__, which is using `ctypes
<https://docs.python.org/3/library/ctypes.html>`__ and provides a more
"pythonic" API with less focus on matching the cairo C API.

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

.. image:: https://travis-ci.org/pygobject/pycairo.svg?branch=master
    :target: https://travis-ci.org/pygobject/pycairo

.. image:: https://dev.azure.com/pygobject/pycairo/_apis/build/status/pygobject.pycairo
  :target: https://dev.azure.com/pygobject/pycairo/_build/latest?definitionId=1

.. image:: https://codecov.io/gh/pygobject/pycairo/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/pygobject/pycairo