Skip to main content

An advanced kivy file browser.

Project description

Coverage Status Github Build Status

See for the rendered filebrowser docs.


The FileBrowser widget is an advanced file browser. You use it similarly to FileChooser usage.

It provides a shortcut bar with links to special and system directories. When touching next to a shortcut in the links bar, it'll expand and show all the directories within that directory. It also facilitates specifying custom paths to be added to the shortcuts list.

It provides a icon and list view to choose files from. And it also accepts filter and filename inputs.

To create a FileBrowser which prints the currently selected file as well as the current text in the filename field when 'Select' is pressed, with a shortcut to the Documents directory added to the favorites bar:

.. code-block:: python

from import App
from os.path import sep, expanduser, isdir, dirname
import sys

class TestApp(App):

    def build(self):
        if sys.platform == 'win':
            user_path = dirname(expanduser('~')) + sep + 'Documents'
            user_path = expanduser('~') + sep + 'Documents'
        browser = FileBrowser(select_string='Select',
                              favorites=[(user_path, 'Documents')])
        return browser

    def _fbrowser_canceled(self, instance):
        print 'cancelled, Close self.'

    def _fbrowser_success(self, instance):
        print instance.selection



  • on_canceled Fired when the Cancel buttons on_release event is called.
  • on_success Fired when the Select buttons on_release event is called.


pip install kivy_garden.filebrowser


Every push or pull request run the GitHub Action CI. It tests the code on various OS and also generates wheels that can be released on PyPI upon a tag. Docs are also generated and uploaded to the repo as well as artifacts of the CI.


  • add your code


Check out our contribution guide and feel free to improve the flower.


This software is released under the terms of the MIT License. Please see the LICENSE.txt file.

How to release

  • update __version__ in kivy-garden/filebrowser/ to the latest version.
  • update and commit the changes
  • call git tag -a x.y.z -m "Tagging version x.y.z"
  • call python bdist_wheel --universal and python sdist, which generates the wheel and sdist in the dist/* directory
  • Make sure the dist directory contains the files to be uploaded to pypi and call twine check dist/*
  • then call twine upload dist/* to upload to pypi.
  • call git push origin master --tags to push the latest changes and the tags to github.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kivy_garden.filebrowser-1.1.2.tar.gz (9.0 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page