Command line tools (
ctapipe.tools contains the command line tools that use the ctapipe
framework. All commandline tools inherit from
which provides a common user-interface experience, complete with
command-line and configuration file handling, logging, and provenance
ctapipe.core documentation for examples.
You can find out what ctapipe tools are installed using the
ctapipe-info command-line tool:
ctapipe-info --tools # list all tools ctapipe-info --version # show ctapipe version ctapipe-info --dependencies # list dependencies
To find out more about a specific tool, use it’s
--help command-line option
Common Tool Functionality¶
High-level command-line options can be seen with
Low-level (Component) options can be seen with
You can either specify options on the command-line, or in a config file (so far in JSON or python format, see the documentation for
traitlets.config). Specify this configuration file using the
You can set the logging level of a tool using
--log_levelto a value or name in the list
[0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']. By default, only warning messages are shown, but if you specify DEBUG you will get everything.
Developing a new Tool¶
To create a new command-line Tool, follow the following procedure:
make a subclass of
define any user-configurable parameters of the tool
register any configurable
ctapipe.core.Componentclasses that you will use with the Tool via its
aliasesattribute to promote any parameters from one of the sub-Components to a high-level a command-line parameter (they can still be specified using the advanced command-line command syntax or via a config file if you do not do this, but if the parameter is commonly changed by the user, having it be high-level is more convenient
finish(self)methods to implement the functinatlity of the tool (these will be called in order when you call the
make sure you have a function called
main()that creates and runs your tool in the source file.
add the file and
main()function you made in step 6 to the top-level
setup.pyfile under the section called
entry_points['console_scripts']. This will automatically create a executable called
*is the name of the source file of your tool (e.g.
this new tool will be installed in the bin directory next time you run
make developat the top-level of ctapipe, or if you re-install the ctapipe package in non-developer mode.