bokeh.command.subcommand¶
Provides a base class for defining subcommands of the Bokeh command line application.
-
class
Subcommand
(parser)[source]¶ Abstract base class for subcommands
Subclasses should implement an
invoke(self, args)
method that accepts a set of argparse processed arguments as input.Subclasses should also define the following class attributes:
name
a name for this subcommandhelp
a help string for argparse to use for this subcommandargs
the parameters to pass toparser.add_argument
The format of the
args
should be a sequence of tuples of the form:('argname', dict( metavar='ARGNAME', nargs='+', ))
Example
A simple subcommand “foo” might look like this:
class Foo(Subcommand): name = "foo" help = "performs the Foo action" args = ( ('--yell', dict( action='store_true', help="Make it loud", )), ) def invoke(self, args): if args.yell: print("FOO!") else: print("foo")
Then executing
bokeh foo --yell
would printFOO!
at the console.-
__init__
(parser)[source]¶ Initialize the subcommand with its parser
Parameters: parser (Parser) – an Argparse Parser
instance to configure with the args for this subcommand.This method will automatically add all the arguments described in
self.args
. Subclasses can perform any additional customizations onself.parser
.
-
invoke
(args)[source]¶ Takes over main program flow to perform the subcommand.
This method must be implemented by subclasses.
Parameters: args (seq) – command line arguments for the subcommand to parse Raises: NotImplementedError