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

kivy / kivy / 21880842821
56%

Build:
DEFAULT BRANCH: master
Ran 10 Feb 2026 08:24PM UTC
Jobs 2
Files 313
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

10 Feb 2026 08:15PM UTC coverage: 55.772% (+0.1%) from 55.669%
21880842821

push

github

web-flow
Add `user_cache_dir` property and fix Linux `user_data_dir` (#9255)

* Add user_cache_dir and KIVY_DESKTOP_PATH_ID for desktop platforms

This adds support for user cache directories and application-specific
configuration paths on desktop platforms (Windows, macOS, Linux).

New Features:
- Add App.user_cache_dir property for cache data
- Add KIVY_DESKTOP_PATH_ID environment variable for app-specific paths
- Enhance normalize_path_id with Unicode NFC normalization
- Add length limiting (120 chars) to normalize_path_id
- Remove control and format characters including zero-width chars
- Collapse consecutive underscores for cleaner paths

Platform Paths:
- Windows: %APPDATA%\<app_name>\Cache
- macOS: ~/Library/Caches/<app_name>
- Linux: ~/.cache/<app_name> (respects $XDG_CACHE_HOME)

Key Feature:
Setting KIVY_DESKTOP_PATH_ID creates application-specific locations
for .kivy directories (config and logs). Without it, config and logs
are placed in a single global .kivy directory shared by all apps.

Tests:
- Add 12 comprehensive tests for normalize_path_id
- All tests passing (43 total in test_utils.py)
- Tests cover Unicode normalization, emoji, edge cases

Documentation:
- Update migration.rst with key feature highlights
- Update environment.rst with detailed KIVY_DESKTOP_PATH_ID docs
- Add examples and platform-specific path information

Co-authored-by: Cursor <cursoragent@cursor.com>

* Removed useless tests prior to makedirs calls with exists_ok=True.

* updated to read kivy_home_dir

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>

2878 of 6074 branches covered (47.38%)

122 of 153 new or added lines in 5 files covered. (79.74%)

1 existing line in 1 file now uncovered.

24097 of 43206 relevant lines covered (55.77%)

1.1 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
62.5
7.44% kivy/utils.py
13
62.46
0.85% kivy/app.py
15
6.77
-0.21% kivy/__init__.py

Uncovered Existing Lines

Lines Coverage ∆ File
1
62.5
7.44% kivy/utils.py
Jobs
ID Job ID Ran Files Coverage
1 21880842821.1 10 Feb 2026 08:24PM UTC 313
54.01
GitHub Action Run
2 21880842821.2 10 Feb 2026 08:24PM UTC 313
55.66
GitHub Action Run
Source Files on build 21880842821
  • Tree
  • List 313
  • Changed 41
  • Source Changed 5
  • Coverage Changed 41
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #21880842821
  • 8b1439cf on github
  • Prev Build on master (#21880351028)
  • Next Build on master (#21880977816)
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