Welcome to Kivy Garden
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.
Membership is 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
Run the Garden tool present in kivy_install_dir/kivy/tools/::
$ ./garden listTo list all the installed garden packages
$ ./garden searchTo search garden packages on github
$ ./garden install package_nameTo install a garden package
$ ./garden uninstall package_nameTo 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 graphThis should install the Graph Widget in my_app_dir/libs/garden/garden.widgetname
General 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-commit
Then 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 minimim
.lookups, avoiding .lookups in loops...
As a way of self-organizing widgets, add a screenshot to 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. New repository.
For all other issues, please open a ticket.
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.
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