Module Expr Str ImportFrom alias Import alias Import alias ImportFrom alias Import alias Expr Call AttributeLoad NameLoad attr Str ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Expr Call NameLoad Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Expr Call NameLoad Str Return Call NameLoad keyword Str decorator_list decorator_list ClassDef bases NameLoad body Expr Str Pass decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Expr Str Expr Call NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Str Expr Call NameLoad Str Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call NameLoad Str ClassDef bases NameLoad body Expr Str Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num With Call NameLoad NameLoad NameStore body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore BinOpAdd BinOpAdd Str NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad keyword BinOpBitOr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If NameLoad body Expr Call NameLoad Call AttributeLoad NameLoad attr Num decorator_list If CompareEq NameLoad Str body Assign NameStore BinOpMult Str Num Assign NameStore IfExp CompareGt Call NameLoad AttributeLoad NameLoad attr Num Call AttributeLoad SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num attr Str Expr Call NameLoad NameLoad If CompareEq NameLoad Str body Assign NameStore Call NameLoad Str If CompareEq NameLoad Str body Expr Call NameLoad Str Expr Call AttributeLoad Call NameLoad attr orelse If CompareEq NameLoad Str body Expr Call NameLoad Str Expr Call AttributeLoad Call NameLoad attr orelse If CompareEq NameLoad Str body Expr Call NameLoad Str Expr Call AttributeLoad Call NameLoad attr orelse If CompareEq NameLoad Str body Expr Call NameLoad Str Expr Call AttributeLoad Call NameLoad attr orelse If CompareEq NameLoad Str body Expr Call NameLoad Str Expr Call AttributeLoad Call NameLoad attr orelse Expr Call NameLoad Str Expr Call NameLoad NameLoad Expr Call NameLoad Str
N/A N/A 
Suite of Application Builders
=============================

This explores different methods of starting an application. If you run
this without a command line parameter, you should see a menu in your terminal.
You can also run this with a 'r' parameter to pick a random method.
There are lots of logging options to make this easier to debug: the execution
order may not be obvious. Each time you run the command, only one kivy
application is created.

This uses the file testkvfile.kv and the file app_suite_data/testkvdir.kv.

 __future__ print_function N/A sys N/A re random choice N/A kivy N/A N/A N/A kivy require 1.8.0 kivy.app App kivy.uix.button Button kivy.lang Builder kivy.uix.floatlayout FloatLayout N/A N/A print ** In main program, done with imports TestBuildApp N/A App N/A N/A  Use build() function to return a widget.  build N/A N/A self N/A N/A N/A    Build called by kivy when an App is started.
              Called after trying to load a .kv file.
              Returns a new Button as a root widget.
               N/A N/A print ** inside build() N/A N/A Button text hello from TestBuildApp N/A N/A TestKVFileApp N/A App N/A N/A 
    Empty class, but name used to find .kv file. The filename is the lowercase
    version of the class, i.e., 'testkvfileapp.kv'. If not found, it strips
    off the final 'app', i.e., 'testkvfile.kv'. If not file is found, and no
    other method sets the self.root, the program will run with an empty screen.
     N/A N/A TestKVDirApp N/A App N/A N/A 
    Empty class except for setting class variable kv_directory.
    This directory sets the directory in which to search for the .kv file.
    The name of the kv file is still governed by the class name and the .kv
    file should still have one root widget.
     N/A kv_directory app_suite_data N/A TestKVStringApp N/A App N/A N/A 
    Use a build() function and use the kivy.lang.Builder function to parse up a
    Kivy language string.
     build N/A N/A self N/A N/A N/A    Called by kivy run().   N/A N/A print ** inside build() N/A widget N/A N/A Builder load_string Button:
  text: 'hello from TestKVStringApp' N/A N/A print ** widget built N/A widget N/A N/A TestPrebuiltApp N/A App N/A N/A  Use the Builder to create a top level widget at the beginning
    of the Python program, then use a dummy class for that widget.
    This costs a bit more in start-up time.  N/A kv <Prebuilt>
  Button:
    text:'hello from TestPrebuiltApp' N/A N/A N/A Builder load_string kv N/A N/A print ** in TestPrebuiltApp, class initialization built <Prebuilt> Prebuilt N/A FloatLayout N/A N/A  Empty class to cause setting root to <Prebuilt> tag and
        set inheritence  N/A N/A build N/A N/A self N/A N/A N/A  called, returns instance matching tag .  N/A N/A N/A self Prebuilt N/A N/A print_class N/A N/A class_name N/A N/A N/A  Read this file and print the section with the class name specified.)  N/A filename N/A N/A sys argv N/A 0 N/A N/A open filename f N/A N/A data N/A N/A f read N/A regex N/A N/A ^(class  class_name \b.*?)^\S N/A match N/A N/A re search regex data flags N/A N/A re MULTILINE N/A re DOTALL N/A match N/A N/A N/A print N/A N/A match group 1 N/A N/A N/A __name__ __main__ N/A N/A dash N/A - 40 N/A arg N/A N/A N/A len N/A sys argv 1 N/A N/A N/A N/A N/A sys argv N/A 1 N/A 0 lower h N/A N/A print dash N/A N/A arg r N/A N/A arg N/A choice bfds N/A N/A arg b N/A N/A N/A print_class TestBuildApp N/A N/A N/A N/A TestBuildApp run N/A N/A N/A arg f N/A N/A N/A print_class TestKVFileApp N/A N/A N/A N/A TestKVFileApp run N/A N/A N/A arg d N/A N/A N/A print_class TestKVDirApp N/A N/A N/A N/A TestKVDirApp run N/A N/A N/A arg s N/A N/A N/A print_class TestKVStringApp N/A N/A N/A N/A TestKVStringApp run N/A N/A N/A arg p N/A N/A N/A print_class TestPrebuiltApp N/A N/A N/A N/A TestPrebuiltApp run N/A N/A N/A print 
This demo runs different application windows based on a command line argument.

Try using one of these:
   b - Use build() method to return a widget
   d - Use a kv file from a different directory
   f - Use a kv file with the widget object
   p - Use prebuilt widget inside a layout
   s - Use a kivy language string to create the widget
   r - pick one of the options at random.

   h - show this help message.

   After closing the application window, this program will exit.
   While the run() method does return, kivy cannot run another
   application window after one has been closed.
  N/A N/A print dash N/A N/A print This program is gratified to be of use.