{"id":13699382,"url":"https://github.com/pygobject/pycairo","last_synced_at":"2025-10-20T16:09:24.934Z","repository":{"id":19546766,"uuid":"87304089","full_name":"pygobject/pycairo","owner":"pygobject","description":"Python bindings for cairo","archived":false,"fork":false,"pushed_at":"2024-02-11T21:44:26.000Z","size":2118,"stargazers_count":599,"open_issues_count":45,"forks_count":81,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-05-21T08:48:45.998Z","etag":null,"topics":["cairo","python"],"latest_commit_sha":null,"homepage":"https://pycairo.readthedocs.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pygobject.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-05T11:58:54.000Z","updated_at":"2024-06-18T07:46:41.806Z","dependencies_parsed_at":"2023-09-24T21:51:30.414Z","dependency_job_id":"bddde361-7e12-438d-8caa-2b538604cdbe","html_url":"https://github.com/pygobject/pycairo","commit_stats":{"total_commits":636,"total_committers":29,"mean_commits":21.93103448275862,"dds":"0.15094339622641506","last_synced_commit":"5b3b6590e80a5d68ae74b87364eb17d8ea678ec5"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygobject%2Fpycairo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygobject%2Fpycairo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygobject%2Fpycairo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pygobject%2Fpycairo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pygobject","download_url":"https://codeload.github.com/pygobject/pycairo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222865642,"owners_count":17049605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cairo","python"],"created_at":"2024-08-02T20:00:31.850Z","updated_at":"2025-10-20T16:09:24.843Z","avatar_url":"https://github.com/pygobject.png","language":"C","readme":".. image:: https://raw.githubusercontent.com/pygobject/pycairo/main/docs/images/pycairo.svg\n   :align: center\n   :width: 370px\n\n|\n\nPycairo is a Python module providing bindings for the `cairo graphics library\n\u003chttps://cairographics.org/\u003e`__. It depends on **cairo \u003e= 1.15.10** and works\nwith **Python 3.9+** and **PyPy3**. Pycairo, including this documentation, is\nlicensed under the `LGPL-2.1-only OR MPL-1.1 \u003chttps://spdx.dev/ids\u003e`__.\n\nThe Pycairo bindings are designed to match the cairo C API as closely as\npossible, and to deviate only in cases which are clearly better implemented in\na more ‘Pythonic’ way.\n\n.. code:: shell\n\n    pip install pycairo\n\nInstalling Pycairo requires cairo including its headers. For more info see\n\"`Getting Started\n\u003chttps://pycairo.readthedocs.io/en/latest/getting_started.html\u003e`__\".\n\n----\n\n.. code:: python\n\n    import cairo\n\n    with cairo.SVGSurface(\"example.svg\", 200, 200) as surface:\n        context = cairo.Context(surface)\n        x, y, x1, y1 = 0.1, 0.5, 0.4, 0.9\n        x2, y2, x3, y3 = 0.6, 0.1, 0.9, 0.5\n        context.scale(200, 200)\n        context.set_line_width(0.04)\n        context.move_to(x, y)\n        context.curve_to(x1, y1, x2, y2, x3, y3)\n        context.stroke()\n        context.set_source_rgba(1, 0.2, 0.2, 0.6)\n        context.set_line_width(0.02)\n        context.move_to(x, y)\n        context.line_to(x1, y1)\n        context.move_to(x2, y2)\n        context.line_to(x3, y3)\n        context.stroke()\n\n.. image:: https://raw.githubusercontent.com/pygobject/pycairo/main/docs/images/example.svg\n    :width: 320px\n    :align: center\n\n----\n\nFeatures of the Pycairo bindings:\n\n* Provides an object oriented interface to cairo.\n* Queries the error status of objects and translates them to exceptions.\n* Provides a C API that can be used by other Python extensions.\n* Fully typed and documented API.\n\nFor more information visit https://pycairo.readthedocs.io\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpygobject%2Fpycairo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpygobject%2Fpycairo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpygobject%2Fpycairo/lists"}