Python2 bindings for cairo
Go to file
Christoph Reiter 43e9c4a83d release 2020-02-16 16:40:19 +01:00
.azure-pipelines msvc: let codecov fail, it's too flaky 2019-12-31 16:45:15 +01:00
cairo Support os.PathLike with PyPy3 2020-02-09 11:49:34 +01:00
docs Integration: ModernGL 2020-02-03 12:59:53 +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 Support os.PathLike with PyPy3 2020-02-09 11:49:34 +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 Support os.PathLike with PyPy3 2020-02-09 11:49:34 +01:00
COPYING Add machine-readable license statement 2019-11-11 13:14:32 +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: install an .egg-info file 2018-06-24 15:00:07 +02:00
NEWS release 2020-02-16 16:40:19 +01:00
PKG-INFO.in Add py3.8 classifier 2019-06-15 16:28:37 +02:00
README.rst Drop Python 2 support 2020-01-19 11:44:25 +01:00
azure-pipelines.yml Drop Python 2 support 2020-01-19 11:44:25 +01:00
meson.build version bump 2020-01-23 22:03:29 +01:00
meson_options.txt meson support. Fixes #114 2018-06-23 21:31:31 +02:00
setup.cfg Support os.PathLike with PyPy3 2020-02-09 11:49:34 +01:00
setup.py version bump 2020-01-23 22:03:29 +01: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 3.5+**. Pycairo, including this documentation, is licensed under
the `LGPL-2.1-only OR MPL-1.1 <https://spdx.org/ids-how>`__.

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