Welcome to Kivy Garden

Note

This Page is under construction.

This is an organization for developers/users of Kivy widgets, add-ons and related software. Join us

General Usage Guidelines

  1. Make sure you have `requests` installed::

    sudo pip install requests

  2. Run the Garden tool present in kivy_install_dir/kivy/tools/::

    $ ./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

  3. To use a installed garden package::

    from kivy.garden import package_name

  4. 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 in my_app_dir/libs/garden/garden.widgetname

General Development Guidelines

  1. Code added to the garden is automatically licensed under MIT (same as Kivy) unless otherwise specified (via a LICENSE file).
  2. Keep the Widget and add-on simple. Do one task and do it well.
  3. 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
  4. Name your widget correctly. Don't put "Widget" in the widget name as this is obvious. (SliderWidget, ProgressBarWidget are wrong, keep it simple.)

  5. Create adequate documentation that explains the functionality of your widget.

  6. Follow the PEP8 guidelines for coding standards.

  7. 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.

  8. Use the Monitor module to ensure that your widget can maintain a FPS rate above 60, ensuring smooth interaction with the user.

  9. Follow the performance guidelines for Python, like:: ensuring minimim . lookups, avoiding .lookups in loops...

  10. As a way of self-organizing widgets, add a screenshot to your repo showcasing the widget.

  11. 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.

Other issues

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.

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