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

kivy / kivy / 25974339468
60%

Build:
DEFAULT BRANCH: master
Ran 16 May 2026 10:24PM UTC
Jobs 2
Files 337
Run time 1min
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

16 May 2026 10:14PM UTC coverage: 59.762% (+0.3%) from 59.431%
25974339468

push

github

web-flow
Remove deprecated kv-lang templates (Kivy 3.0) (#9308)

The kv-lang templates feature (the ``[Name@Base]:`` syntax,
``Builder.template()``, ``Builder.templates``, ``Factory.is_template()``)
has been deprecated since Kivy 1.7. This commit hard-removes it in
preparation for Kivy 3.0; the modern dynamic-class syntax
(``<Name@Base>:``) is the replacement.

Core
----
* parser: drop ``[Name@Base]:`` template parsing; the parser now raises
  ``ParserException`` when the syntax is encountered.
* builder: remove ``Builder.template()``, ``Builder.templates``, the
  ``template_ctx`` parameter on ``_apply_rule``, and the
  ``Factory.is_template()`` branch. Clean up related imports.
* factory: remove ``Factory.is_template()`` and the ``is_template=``
  kwarg on ``Factory.register()``.

Built-in templates promoted to Python classes
---------------------------------------------
The three built-in templates in ``kivy/data/style.kv`` are now public
Python classes with explicit Kivy ``Property`` declarations. They are
still looked up via the Factory under the same names:

* ``kivy.uix.filechooser.FileListEntry``
* ``kivy.uix.filechooser.FileIconEntry``
* ``kivy.uix.accordion.AccordionItemTitle``

AccordionItem
-------------
* Remove ``AccordionItem.title_template`` and ``title_args``.
* Add ``AccordionItem.title_class``, modeled on
  ``RecycleView.viewclass``: accepts either a class object or a string
  resolved through the Factory. Defaults to ``AccordionItemTitle``.

FileChooser
-----------
* Rename the internal ``_ENTRY_TEMPLATE`` attribute on layouts/views
  to ``_ENTRY_CLASS`` to drop template-era vocabulary.
* ``FileListEntry`` / ``FileIconEntry`` are now importable from
  ``kivy.uix.filechooser``.

Documentation & tests
---------------------
* Remove the templates sections from ``kivy/lang/__init__.py`` and
  ``doc/sources/guide/lang.rst``.
* Add a "Kivy 2.x.x -> 3.x.x" section to ``doc/sources/migration.rst``
  covering the template removal, the ``title_class``... (continued)

3248 of 6441 branches covered (50.43%)

107 of 124 new or added lines in 8 files covered. (86.29%)

46 existing lines in 11 files now uncovered.

28688 of 48004 relevant lines covered (59.76%)

1.18 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
49.68
0.87% kivy/data/style.kv
1
52.46
0.15% kivy/factory.py
1
66.51
-1.42% kivy/lang/builder.py
1
65.48
-0.17% kivy/lang/parser.py
1
97.44
-0.53% kivy/tests/test_lang.py
1
97.06
kivy/tests/test_uix_accordion.py
1
62.32
62.32% kivy/uix/accordion.py
1
55.68
1.78% kivy/uix/filechooser.py

Coverage Regressions

Lines Coverage ∆ File
23
49.68
0.87% kivy/data/style.kv
5
70.19
-4.81% kivy/core/video/__init__.py
4
51.68
-2.68% kivy/core/__init__.py
3
0.0
-100.0% kivy/core/video/video_null.py
3
0.0
0.0% kivy/lang/__init__.py
2
71.15
-1.92% kivy/core/audio_output/audio_ffpyplayer.py
2
45.87
-0.83% kivy/core/video/video_ffpyplayer.py
1
68.65
-0.12% kivy/core/window/__init__.py
1
66.51
-1.42% kivy/lang/builder.py
1
65.48
-0.17% kivy/lang/parser.py
1
93.18
-2.27% kivy/tests/test_audio.py
Jobs
ID Job ID Ran Files Coverage
1 25974339468.1 16 May 2026 10:24PM UTC 337
59.69
GitHub Action Run
2 25974339468.2 16 May 2026 10:24PM UTC 337
58.26
GitHub Action Run
Source Files on build 25974339468
  • Tree
  • List 337
  • Changed 12
  • Source Changed 9
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25974339468
  • bf8af34e on github
  • Prev Build on master (#25973897069)
  • Next Build on master (#26119124326)
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