Welcome to Kivy Garden
Note
This Page is under construction.
This is an organization for developers of Kivy widgets, add-ons and related software.
Join us by opening a new issue.
Memberships are granted for users who have contributed to existing garden flowers in the past year or have submitted their own flower in the application. Please note that memberships expire after a year of inactivity.
General Usage Guidelines
-
Make sure you have
requests
installed:sudo pip install requests
-
Install
kivy-garden
if you don't have it:pip install kivy-garden
Make sure you have the folder that containsgarden
file on yourPATH
(orcd
to the folder).$ garden list
To list all the installed garden packages$ garden search
To search garden packages on GitHub$ garden install package_name
To install a garden package$ garden uninstall package_name
To uninstall a garden package -
To use a installed garden package:
from kivy.garden import package_name
-
By default the installation is done in
~/.kivy/garden/garden.widgetname
so that all kivy apps can use the widget once installed.To include the package in your mobile distribution, you should install the garden package with
--app
command line argument, this way the package is downloaded and installed in your app directory and thus included in your apk.cd my_app_dir /path/to/kivy_instalation/kivy/tools/garden install --app graph
This should install the Graph Widget inmy_app_dir/libs/garden/garden.widgetname
Development Guidelines
- Code added to the garden must be licensed under MIT (same as Kivy) and a LICENSE file must be added to every repository.
- Keep the Widget and add-on simple. Do one task and do it well.
-
Your repository will be named "garden.widgetname". This will allow us to import your widget by using the following import statement:
from kivy.garden.widgetname import WidgetName
-
Name your widget correctly. Don't put "Widget" in the widget name as this is obvious. (SliderWidget, ProgressBarWidget are wrong, keep it simple.)
-
Create adequate documentation that explains the functionality of your widget.
-
Follow the PEP8 guidelines for coding standards.
-
Follow the kivy guidelines for contributing. To install the pep8 checker into your git directory do
cp path-to-kivy/kivy/tools/pep8checker/pre-commit.githook path-to-your-source/.git/hooks/pre-commit
chmod +x path-to-garden-source/.git/hooks/pre-commitThen assuming you have kivy in your path, our style guide check will run whenever you do a commit, and if there are violations in the parts that you changed, your commit will be aborted. Fix & retry.
-
Use the
Monitor
module to ensure that your widget can maintain a FPS rate above 60, ensuring smooth interaction with the user. -
Follow the performance guidelines for Python, like ensuring minimum lookups, avoiding lookups in loops...
-
As a way of self-organizing widgets, add a screenshot named "
screenshot.png
" to the root of your repo showcasing the widget. -
Use tags instead of a directory structure to categorize your widgets in the documentation.
Note: you must have a GitHub account to open a ticket. You can create one for free here.
Other issues
For all other issues, please open a ticket in the appropriate repository.
Disabling notification spam
By default you are subscribed to all new Garden github repository notifications. Unless you disable this yourself, your inbox will soon contain only Github spam.
Go to https://github.com/watching
Select what to watch or uncheck Automatically watch. But
attention: latter will disable watch for all organizations.
Transferring repository
How to move your repository to Kivy Garden shared ownership?
About transferring the ownership of repositories. See Github instructions regarding transfers
Personally contact any of the Kivy Garden administrators. Make him/her the owner of the repository which needs to be transferred. If the repository is already part of Github organization then create a new team and make the garden admin person the sole member of this team. Then assign the ownership permission of the repository to the new team. Now the garden administrator can go to the repository settings and press Transfer Ownership button