Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 3.54 KB

README.md

File metadata and controls

73 lines (53 loc) · 3.54 KB

kivysome

GitHub Workflow Status (branch) Codecov Dependabot Status Libraries.io dependency status for latest release CodeFactor security: bandit Code style: black PyPI - Python Version PyPI PyPI - Downloads GitHub License GitHub last commit

Font Awesome 5 Icons for Kivy

Usage

Enable it

Using a version

This will only work for free versions of Font Awesome.

import kivysome 
kivysome.enable(kivysome.LATEST, group=kivysome.FontGroup.REGULAR)

Using a kit

Kits will not be maintained any further. They will work as long as Font Awesome don't change their API.

1. Generate your kit

Go to Font Awesome and generate your kit there. The specified version is respected. For the moment, only free licenses are supported.

2. Enable it

In your main.py register your font:

import kivysome 
kivysome.enable("https://kit.fontawesome.com/{YOURCODE}.js", group=kivysome.FontGroup.SOLID)

3. Use it

In your .kv file or string, reference the short Font Awesome (i.e., without fa- prefix) as you can copy them from their website.

#: import icon kivysome.icon
Button:
    markup: True # Always turn markup on
    text: "%s Comment" % icon('comment', 24)

Caching

Kivysome will cache the files in the font folder and not redownload them from GitHub. If a kit is given, however, the kit version will have to be fetched from Font Awesome on every execution. If kivysome.LATEST is given, the latest version will also have to be determined from GitHub's servers. Font packs will only be downloaded if new versions are published, then. To completely avoid regular server access, a pinned version will have to be given. The initial download can also be circumvented by downloading it a single time on the developer's machine and publishing the downloaded fonts folder with the project. The folder should then contain a .css, .fontd, and a .ttf file matching the pinned Font Awesome version and font group.

Check the examples folder for more insight.