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

kivy / kivy / 27978273122 / 2
60%
master: 60%

Build:
DEFAULT BRANCH: master
Ran 22 Jun 2026 07:36PM UTC
Files 345
Run time 19s
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

22 Jun 2026 07:26PM UTC coverage: 59.473% (+1.5%) from 58.014%
27978273122.2

push

github

web-flow
Modernize build: PEP 621 metadata (#9325)

* Modernize build: PEP 621 metadata, gate Kivy-Garden on mobile, split examples wheel

- Migrate project metadata, dependencies and extras from setup.py/setup.cfg
  into a PEP 621 [project] table in pyproject.toml; slim setup.py to the
  C-extension build only (version stays dynamic).
- Gate the Kivy-Garden tool out of iOS/Android wheels via a
  `sys_platform != "ios" and sys_platform != "android"` marker; it cannot run
  on mobile. Other deps stay unconditional.
- Split the Kivy-examples wheel into packaging/kivy_examples/ with its own
  pyproject.toml + setup.py; repoint the osx/manylinux/windows CI builds to it
  and drop the KIVY_BUILD_EXAMPLES path from setup.py.
- Retire setup.cfg: move [coverage:run] -> [tool.coverage.run] and
  [kivy] -> [tool.kivy]; update cython_cfg.py and doc conf.py to read
  [tool.kivy] from pyproject.toml (tomllib with tomli fallback).

* fix: use relative ext_modules paths for PEP 517/660 editable builds

Under isolated PEP 517/660 builds, __file__ resolves to an absolute path,
making src_path and all derived extension source/depends paths absolute.
setuptools' wheel/editable-wheel builder rejects absolute paths in setup()
arguments, aborting the Windows editable install. Convert the source and
depends paths to be relative to the setup.py directory before passing them
to CythonExtension.

* build: make Kivy-Garden an unconditional dependency

The sys_platform != ios/android marker did not achieve its goal: mobile
build pipelines (kivy-ios, python-for-android) resolve dependencies on a
desktop build host, where PEP 508 markers evaluate against the host, not
the target. The gate was therefore a no-op for excluding kivy-garden from
mobile builds. Mobile trimming is handled where it actually works, via the
consumer's exclude list (e.g. kivy-ios [tool.kivy.ios].exclude).

3247 of 6493 branches covered (50.01%)

28870 of 48543 relevant lines covered (59.47%)

0.59 hits per line

Source Files on job 27978273122.2
  • Tree
  • List 345
  • Changed 42
  • Source Changed 1
  • Coverage Changed 42
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 27978273122
  • ea15cc56 on github
  • Prev Job for on master (#27977373136.1)
  • Next Job for on master (#27978542803.1)
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