• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kivy / kivy / 25399660901 / 1
59%
master: 59%

Build:
DEFAULT BRANCH: master
Ran 05 May 2026 08:22PM UTC
Files 330
Run time 10s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 May 2026 08:10PM UTC coverage: 56.975% (-0.7%) from 57.723%
25399660901.1

push

github

web-flow
SvgWidget, AsyncSvgWidget with SVG Provider backed by ThorVG  (#9284)

* Add SVG example apps: layers, scale, download, and icon toggle button

* Add SvgWidget and AsyncSvgWidget backed by ThorVG

Adds kivy.core.svg (SVG core provider + ThorVG backend), kivy.uix.svg
(SvgWidget / AsyncSvgWidget), registers both in the factory, and adds
a canvas style rule in style.kv.

* Add tests for kivy.core.svg, kivy.uix.svg, and provider registry

* Remove thorvg-python workarounds now fixed in v1.1.2

Both bugs are fixed in thorvg-python 1.1.2 (ThorVG 1.0.3):

- Accessor.accessor_generate_id() now returns a plain int correctly;
  drop the ctypes bypass in _generate_id() and use it directly.
- Picture.get_paint() no longer causes an access violation; drop
  _picture_get_paint() and call pic.get_paint() directly.

Remove the _tvg_generate_id_fn and _tvg_get_paint_fn ctypes caches
and the associated imports (ctypes, PaintPointer, Paint) that existed
solely to support the workarounds.

* Use ThorVG accessible mode for SVG element ID discovery

Replace XML-based _parse_element_ids with a two-path approach:

- Primary: Picture.set_accessible(True) + Accessor.get_name() retrieves
  original SVG id strings directly from ThorVG (PR #4294 / issue #4217),
  avoiding a second XML parse and correctly excluding the root <svg> element.
- Fallback: _extract_element_ids_xml (renamed from _parse_element_ids) is
  used when the installed thorvg-python predates the accessible-mode API.

_probe_size_from_data is merged into _probe_from_data which returns both
the document size and element IDs from a single Picture load.

Update test_core_svg.py to import the renamed _extract_element_ids_xml.

* svg_thorvg: migrate from thorvg-python to kivy.lib.thorvg

Switch the ``kivy.core.svg`` ThorVG provider to Kivy's internal ThorVG
binding so that SVG support ships with official Kivy wheels and no longer
requires users to ``pip install thorvg-python``.

Key changes:

* Drop the module-level ``... (continued)

3002 of 6341 branches covered (47.34%)

26548 of 46596 relevant lines covered (56.97%)

0.57 hits per line

Source Files on job 25399660901.1
  • Tree
  • List 330
  • Changed 48
  • Source Changed 5
  • Coverage Changed 47
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 25399660901
  • 35ef09e9 on github
  • Prev Job for on master (#25397440657.1)
  • Next Job for on master (#25517353690.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc