Python2 bindings for cairo
Go to file
Christoph Reiter f3342173c1 meson support. Fixes #114 2018-06-23 21:31:31 +02:00
.appveyor appveyor: update MSVC cairo 2018-03-02 15:57:14 +01:00
cairo meson support. Fixes #114 2018-06-23 21:31:31 +02:00
docs c-api: Make it possible to use the C API with Python 3 outside of the CU doing the import. Fixes #110 2018-04-13 17:11:32 +02: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 meson support. Fixes #114 2018-06-23 21:31:31 +02:00
.appveyor.yml Move header into the package and add a get_include() function. See #92 2018-01-31 21:53:59 +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 setup.py: default to setuptools 2018-04-15 11:10:21 +02:00
COPYING Import pycairo-0.1.4 2017-04-06 15:42:36 +02:00
COPYING-LGPL-2.1 Import pycairo-0.1.4 2017-04-06 15:42:36 +02:00
COPYING-MPL-1.1 Import pycairo-0.1.4 2017-04-06 15:42:36 +02:00
MANIFEST.in meson support. Fixes #114 2018-06-23 21:31:31 +02:00
NEWS release 2018-04-15 12:15:22 +02:00
README.rst Update NEWS and docs for the next release 2018-04-09 19:59:36 +02:00
meson.build meson support. Fixes #114 2018-06-23 21:31:31 +02:00
meson_options.txt meson support. Fixes #114 2018-06-23 21:31:31 +02:00
setup.cfg mypy: enable strict_optional 2018-03-06 15:42:24 +01:00
setup.py version bump 2018-04-15 12:18:55 +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.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.

----

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

----

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://ci.appveyor.com/api/projects/status/9hurdbb19lg2i9xm/branch/master?svg=true
    :target: https://ci.appveyor.com/project/lazka/pycairo/branch/master

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