Creating command-line Tools¶
[1]:
from ctapipe.core import Tool, Component, TelescopeComponent
from ctapipe.core.traits import (
Integer,
Float,
List,
Dict,
Unicode,
TraitError,
observe,
FloatTelescopeParameter,
Path,
)
import logging
from time import sleep
from astropy import units as u
from ctapipe.utils import get_dataset_path
[2]:
GAMMA_FILE = get_dataset_path("gamma_prod5.simtel.zst")
see https://github.com/ipython/traitlets/blob/master/examples/myapp.py
Setup:¶
Create a few Component
s that we will use later in a Tool
:
[3]:
class MyComponent(Component):
"""A Component that does stuff"""
value = Integer(default_value=-1, help="Value to use").tag(config=True)
def do_thing(self):
self.log.debug("Did thing")
# in order to have 2 of the same components at once
class SecondaryMyComponent(MyComponent):
"""A second component"""
pass
class AdvancedComponent(Component):
"""An advanced technique"""
value1 = Integer(default_value=-1, help="Value to use").tag(config=True)
infile = Path(
help="input file name",
exists=None, # set to True to require existing, False for requiring non-existing
directory_ok=False,
).tag(config=True)
outfile = Path(help="output file name", exists=False, directory_ok=False).tag(
config=True
)
def __init__(self, config=None, parent=None, **kwargs):
super().__init__(config=config, parent=parent, **kwargs)
# components can have sub components, but these must have
# then parent=self as argument and be assigned as member
# so the full config can be received later
self.subcompent = MyComponent(parent=self)
@observe("outfile")
def on_outfile_changed(self, change):
self.log.warning("Outfile was changed to '{}'".format(change))
class TelescopeWiseComponent(TelescopeComponent):
"""a component that contains parameters that are per-telescope configurable"""
param = FloatTelescopeParameter(
help="Something configurable with telescope patterns", default_value=5.0
).tag(config=True)
[4]:
MyComponent()
[4]:
A Component that does stuff
value | -1 | Value to use (default: -1) |
---|
[5]:
AdvancedComponent(infile="test.foo", outfile="out.foo")
Outfile was changed to '{'name': 'outfile', 'old': None, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.foo'), 'owner': <__main__.AdvancedComponent object at 0x7fe7e07bcc10>, 'type': 'change'}'
[5]:
An advanced technique
infile | / |
input file name (default: traitlets.Undefined) |
---|---|---|
outfile | / |
output file name (default: traitlets.Undefined) |
value1 | -1 | Value to use (default: -1) |
TelescopeComponents
need to have a subarray given to them in order to work (since they need one to turn a TelescopeParameter
into a concrete list of values for each telescope. Here we will give a dummy one:
[6]:
from ctapipe.instrument import SubarrayDescription, TelescopeDescription
subarray = SubarrayDescription.read(GAMMA_FILE)
subarray.info()
Subarray : MonteCarloArray
Num Tels : 180
Footprint: 4.92 km2
Type Count Tel IDs
----------------- ----- ---------------
SST_ASTRI_CHEC 120 30-99,131-180
LST_LST_LSTCam 4 1-4
MST_MST_FlashCam 28 5-29,125-127
MST_MST_NectarCam 28 100-124,128-130
[7]:
TelescopeWiseComponent(subarray=subarray)
[7]:
a component that contains parameters that are per-telescope configurable
param | [('type', '*', 5.0)] | Something configurable with telescope patterns. (default: traitlets.Undefined) |
---|
This TelescopeParameters can then be set using a list of patterns like:
component.param = [
("type", "LST*",3.0),
("type", "MST*", 2.0),
(id, 25, 4.0)
]
These get translated into per-telescope-id values once the subarray is registered. After that one acccess the per-telescope id values via:
component.param.tel[tel_id]
Now create an executable Tool that contains the Components¶
Note that all the components we wish to be configured via the tool must be added to the classes
attribute.
[8]:
class MyTool(Tool):
name = "mytool"
description = "do some things and stuff"
aliases = dict(
infile="AdvancedComponent.infile",
outfile="AdvancedComponent.outfile",
iterations="MyTool.iterations",
)
# Which classes are registered for configuration
classes = [
MyComponent,
AdvancedComponent,
SecondaryMyComponent,
TelescopeWiseComponent,
]
# local configuration parameters
iterations = Integer(5, help="Number of times to run", allow_none=False).tag(
config=True
)
def setup(self):
self.comp = MyComponent(parent=self)
self.comp2 = SecondaryMyComponent(parent=self)
self.comp3 = TelescopeWiseComponent(parent=self, subarray=subarray)
self.advanced = AdvancedComponent(parent=self)
def start(self):
self.log.info("Performing {} iterations...".format(self.iterations))
for ii in range(self.iterations):
self.log.info("ITERATION {}".format(ii))
self.comp.do_thing()
self.comp2.do_thing()
sleep(0.1)
def finish(self):
self.log.warning("Shutting down.")
Get Help info¶
The following allows you to print the help info within a Jupyter notebook, but this same inforamtion would be displayed if the user types:
mytool --help
[9]:
tool = MyTool()
tool
[9]:
do some things and stuff
config_files | [] | (default: traitlets.Undefined) |
---|---|---|
iterations | 5 | Number of times to run (default: 5) |
log_config | {} | (default: traitlets.Undefined) |
log_datefmt | %Y-%m-%d %H:%M:%S | The date format used by logging formatters for %(asctime)s (default: %Y-%m-%d %H:%M:%S) |
log_file | None | Filename for the log (default: None) |
log_file_level | INFO | Logging Level for File Logging (default: INFO) |
log_format | [%(name)s]%(highlevel)s %(message)s | The Logging format template (default: [%(name)s]%(highlevel)s %(message)s) |
log_level | 30 | Set the log level by value or name. (default: 30) |
logging_config | {} |
Configure additional log handlers.
The default stderr logs handler is configured by the
log_level, log_datefmt and log_format settings.
This configuration can be used to configure additional handlers
(e.g. to output the log to a file) or for finer control over the
default handlers.
If provided this should be a logging configuration dictionary, for
more information see:
https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
This dictionary is merged with the base logging configuration which
defines the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': ' |
overwrite | False | (default: False) |
provenance_log | / |
(default: traitlets.Undefined) |
quiet | False | (default: False) |
show_config | False | Instead of starting the Application, dump configuration to stdout (default: False) |
show_config_json | False | Instead of starting the Application, dump configuration to stdout (as JSON) (default: False) |
Components: MyTool, MyComponent, AdvancedComponent, SecondaryMyComponent, TelescopeWiseComponent
[10]:
tool.print_help()
do some things and stuff
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
-q, --quiet
Disable console logging.
Equivalent to: [--Tool.quiet=True]
-v, --verbose
Set log level to DEBUG
Equivalent to: [--Tool.log_level=DEBUG]
--overwrite
Overwrite existing output files without asking
Equivalent to: [--Tool.overwrite=True]
--debug
Set log-level to debug, for the most verbose logging.
Equivalent to: [--Application.log_level=10]
--show-config
Show the application's configuration (human-readable format)
Equivalent to: [--Application.show_config=True]
--show-config-json
Show the application's configuration (json format)
Equivalent to: [--Application.show_config_json=True]
-c, --config=<list-item-1>...
Default: []
Equivalent to: [--Tool.config_files]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Tool.log_level]
-l, --log-file=<Path>
Filename for the log
Default: None
Equivalent to: [--Tool.log_file]
--log-file-level=<Enum>
Logging Level for File Logging
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 'INFO'
Equivalent to: [--Tool.log_file_level]
--provenance-log=<Path>
Default: traitlets.Undefined
Equivalent to: [--Tool.provenance_log]
--infile=<Path>
input file name
Default: traitlets.Undefined
Equivalent to: [--AdvancedComponent.infile]
--outfile=<Path>
output file name
Default: traitlets.Undefined
Equivalent to: [--AdvancedComponent.outfile]
--iterations=<Int>
Number of times to run
Default: 5
Equivalent to: [--MyTool.iterations]
To see all available configurables, use `--help-all`.
The following is equivalant to the user typing mytool --help-all
[11]:
tool.print_help(classes=True)
do some things and stuff
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
-q, --quiet
Disable console logging.
Equivalent to: [--Tool.quiet=True]
-v, --verbose
Set log level to DEBUG
Equivalent to: [--Tool.log_level=DEBUG]
--overwrite
Overwrite existing output files without asking
Equivalent to: [--Tool.overwrite=True]
--debug
Set log-level to debug, for the most verbose logging.
Equivalent to: [--Application.log_level=10]
--show-config
Show the application's configuration (human-readable format)
Equivalent to: [--Application.show_config=True]
--show-config-json
Show the application's configuration (json format)
Equivalent to: [--Application.show_config_json=True]
-c, --config=<list-item-1>...
Default: []
Equivalent to: [--Tool.config_files]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Tool.log_level]
-l, --log-file=<Path>
Filename for the log
Default: None
Equivalent to: [--Tool.log_file]
--log-file-level=<Enum>
Logging Level for File Logging
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 'INFO'
Equivalent to: [--Tool.log_file_level]
--provenance-log=<Path>
Default: traitlets.Undefined
Equivalent to: [--Tool.provenance_log]
--infile=<Path>
input file name
Default: traitlets.Undefined
Equivalent to: [--AdvancedComponent.infile]
--outfile=<Path>
output file name
Default: traitlets.Undefined
Equivalent to: [--AdvancedComponent.outfile]
--iterations=<Int>
Number of times to run
Default: 5
Equivalent to: [--MyTool.iterations]
Class options
=============
The command-line option below sets the respective configurable class-parameter:
--Class.parameter=value
This line is evaluated in Python, so simple expressions are allowed.
For instance, to set `C.a=[0,1,2]`, you may type this:
--C.a='range(3)'
Application(SingletonConfigurable) options
------------------------------------------
--Application.log_datefmt=<Unicode>
The date format used by logging formatters for %(asctime)s
Default: '%Y-%m-%d %H:%M:%S'
--Application.log_format=<Unicode>
The Logging format template
Default: '[%(name)s]%(highlevel)s %(message)s'
--Application.log_level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
--Application.logging_config=<key-1>=<value-1>...
Configure additional log handlers.
The default stderr logs handler is configured by the log_level, log_datefmt
and log_format settings.
This configuration can be used to configure additional handlers (e.g. to
output the log to a file) or for finer control over the default handlers.
If provided this should be a logging configuration dictionary, for more
information see:
https://docs.python.org/3/library/logging.config.html#logging-config-
dictschema
This dictionary is merged with the base logging configuration which defines
the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': '<path/to/file>',
}
},
'loggers': {
'<application-name>': {
'level': 'DEBUG',
# NOTE: if you don't list the default "console"
# handler here then it will be disabled
'handlers': ['console', 'file'],
},
}
}
Default: {}
--Application.show_config=<Bool>
Instead of starting the Application, dump configuration to stdout
Default: False
--Application.show_config_json=<Bool>
Instead of starting the Application, dump configuration to stdout (as JSON)
Default: False
Tool(Application) options
-------------------------
--Tool.config_files=<list-item-1>...
Default: []
--Tool.log_config=<key-1>=<value-1>...
Default: {}
--Tool.log_datefmt=<Unicode>
The date format used by logging formatters for %(asctime)s
Default: '%Y-%m-%d %H:%M:%S'
--Tool.log_file=<Path>
Filename for the log
Default: None
--Tool.log_file_level=<Enum>
Logging Level for File Logging
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 'INFO'
--Tool.log_format=<Unicode>
The Logging format template
Default: '[%(name)s]%(highlevel)s %(message)s'
--Tool.log_level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
--Tool.logging_config=<key-1>=<value-1>...
Configure additional log handlers.
The default stderr logs handler is configured by the log_level, log_datefmt
and log_format settings.
This configuration can be used to configure additional handlers (e.g. to
output the log to a file) or for finer control over the default handlers.
If provided this should be a logging configuration dictionary, for more
information see:
https://docs.python.org/3/library/logging.config.html#logging-config-
dictschema
This dictionary is merged with the base logging configuration which defines
the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': '<path/to/file>',
}
},
'loggers': {
'<application-name>': {
'level': 'DEBUG',
# NOTE: if you don't list the default "console"
# handler here then it will be disabled
'handlers': ['console', 'file'],
},
}
}
Default: {}
--Tool.overwrite=<Bool>
Default: False
--Tool.provenance_log=<Path>
Default: traitlets.Undefined
--Tool.quiet=<Bool>
Default: False
--Tool.show_config=<Bool>
Instead of starting the Application, dump configuration to stdout
Default: False
--Tool.show_config_json=<Bool>
Instead of starting the Application, dump configuration to stdout (as JSON)
Default: False
MyTool(Tool) options
--------------------
--MyTool.config_files=<list-item-1>...
Default: []
--MyTool.iterations=<Int>
Number of times to run
Default: 5
--MyTool.log_config=<key-1>=<value-1>...
Default: {}
--MyTool.log_datefmt=<Unicode>
The date format used by logging formatters for %(asctime)s
Default: '%Y-%m-%d %H:%M:%S'
--MyTool.log_file=<Path>
Filename for the log
Default: None
--MyTool.log_file_level=<Enum>
Logging Level for File Logging
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 'INFO'
--MyTool.log_format=<Unicode>
The Logging format template
Default: '[%(name)s]%(highlevel)s %(message)s'
--MyTool.log_level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
--MyTool.logging_config=<key-1>=<value-1>...
Configure additional log handlers.
The default stderr logs handler is configured by the log_level, log_datefmt
and log_format settings.
This configuration can be used to configure additional handlers (e.g. to
output the log to a file) or for finer control over the default handlers.
If provided this should be a logging configuration dictionary, for more
information see:
https://docs.python.org/3/library/logging.config.html#logging-config-
dictschema
This dictionary is merged with the base logging configuration which defines
the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': '<path/to/file>',
}
},
'loggers': {
'<application-name>': {
'level': 'DEBUG',
# NOTE: if you don't list the default "console"
# handler here then it will be disabled
'handlers': ['console', 'file'],
},
}
}
Default: {}
--MyTool.overwrite=<Bool>
Default: False
--MyTool.provenance_log=<Path>
Default: traitlets.Undefined
--MyTool.quiet=<Bool>
Default: False
--MyTool.show_config=<Bool>
Instead of starting the Application, dump configuration to stdout
Default: False
--MyTool.show_config_json=<Bool>
Instead of starting the Application, dump configuration to stdout (as JSON)
Default: False
MyComponent(Component) options
------------------------------
--MyComponent.value=<Int>
Value to use
Default: -1
AdvancedComponent(Component) options
------------------------------------
--AdvancedComponent.infile=<Path>
input file name
Default: traitlets.Undefined
--AdvancedComponent.outfile=<Path>
output file name
Default: traitlets.Undefined
--AdvancedComponent.value1=<Int>
Value to use
Default: -1
SecondaryMyComponent(MyComponent) options
-----------------------------------------
--SecondaryMyComponent.value=<Int>
Value to use
Default: -1
TelescopeWiseComponent(TelescopeComponent) options
--------------------------------------------------
--TelescopeWiseComponent.param=<floattelescopeparameter-item-1>...
Something configurable with telescope patterns.
Default: [('type', '*', 5.0)]
Run the tool¶
here we pass in argv since it is a Notebook, but if argv is not specified it’s read from sys.argv
, so the following is the same as running:
mytool --log_level=INFO --infile gamma_test.simtel.gz --iterations=3
As Tools are intended to be exectutables, they are raising SystemExit
on exit. Here, we use them to demonstrate how it would work, so we catch the SystemExit
.
[12]:
try:
tool.run(argv=["--infile", str(GAMMA_FILE), "--outfile", "out.csv"])
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
2023-05-17 15:27:46,459 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d4f9de50>, 'type': 'change'}'
2023-05-17 15:27:46,962 WARNING [__main__.mytool] (462504653.finish): Shutting down.
[13]:
tool.log_format = "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s"
try:
tool.run(
argv=[
"--log-level",
"INFO",
"--infile",
str(GAMMA_FILE),
"--outfile",
"out.csv",
"--iterations",
"3",
]
)
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
2023-05-17 15:27:47,214 INFO [__main__.mytool] (tool.initialize): Loading config from '[]'
2023-05-17 15:27:47,219 INFO [__main__.mytool] (tool.initialize): ctapipe version 0.19.2
2023-05-17 15:27:47,223 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d4f9d370>, 'type': 'change'}'
2023-05-17 15:27:47,225 INFO [__main__.mytool] (462504653.start): Performing 3 iterations...
2023-05-17 15:27:47,226 INFO [__main__.mytool] (462504653.start): ITERATION 0
2023-05-17 15:27:47,327 INFO [__main__.mytool] (462504653.start): ITERATION 1
2023-05-17 15:27:47,428 INFO [__main__.mytool] (462504653.start): ITERATION 2
2023-05-17 15:27:47,529 WARNING [__main__.mytool] (462504653.finish): Shutting down.
2023-05-17 15:27:47,530 INFO [__main__.mytool] (tool.run): Finished: mytool
2023-05-17 15:27:47,534 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:47,535 INFO [__main__.mytool] (tool.write_provenance): Output:
here we change the log-level to DEBUG:
[14]:
try:
tool.run(
argv=[
"--log-level",
"DEBUG",
"--infile",
str(GAMMA_FILE),
"--outfile",
"out.csv",
]
)
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
2023-05-17 15:27:47,550 INFO [__main__.mytool] (tool.run): Starting: mytool
2023-05-17 15:27:47,776 INFO [__main__.mytool] (tool.initialize): Loading config from '[]'
2023-05-17 15:27:47,780 INFO [__main__.mytool] (tool.initialize): ctapipe version 0.19.2
2023-05-17 15:27:47,786 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d500d850>, 'type': 'change'}'
2023-05-17 15:27:47,786 DEBUG [__main__.mytool] (tool.run): CONFIG: {'MyTool': {'config_files': [], 'iterations': 3, 'log_config': {}, 'log_datefmt': '%Y-%m-%d %H:%M:%S', 'log_file': None, 'log_file_level': 'INFO', 'log_format': '%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s', 'log_level': 10, 'logging_config': {}, 'overwrite': False, 'provenance_log': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log'), 'quiet': False, 'show_config': False, 'show_config_json': False, 'MyComponent': {'value': -1}, 'SecondaryMyComponent': {'value': -1}, 'TelescopeWiseComponent': {'param': [('type', '*', 5.0)]}, 'AdvancedComponent': {'infile': PosixPath('/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst'), 'outfile': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'value1': -1, 'MyComponent': {'value': -1}}}}
2023-05-17 15:27:47,788 INFO [__main__.mytool] (462504653.start): Performing 3 iterations...
2023-05-17 15:27:47,790 INFO [__main__.mytool] (462504653.start): ITERATION 0
2023-05-17 15:27:47,791 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:47,792 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:47,893 INFO [__main__.mytool] (462504653.start): ITERATION 1
2023-05-17 15:27:47,894 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:47,894 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:47,995 INFO [__main__.mytool] (462504653.start): ITERATION 2
2023-05-17 15:27:47,996 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:47,997 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,098 WARNING [__main__.mytool] (462504653.finish): Shutting down.
2023-05-17 15:27:48,099 INFO [__main__.mytool] (tool.run): Finished: mytool
2023-05-17 15:27:48,102 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:48,103 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:48,105 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:48,110 DEBUG [__main__.mytool] (tool.write_provenance): PROVENANCE: '[
{
"activity_name": "mytool",
"activity_uuid": "063b058d-3860-4fda-9e0e-50c54c53e83c",
"start": {
"time_utc": "2023-05-17T15:27:46.231"
},
"stop": {
"time_utc": "2023-05-17T15:27:46.963"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:46.451"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 5,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "[%(name)s]%(highlevel)s %(message)s",
"log_level": 30,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.012199999999999989
},
{
"activity_name": "mytool",
"activity_uuid": "1965b8d8-0de4-4773-b8be-c1cc4d45aa2c",
"start": {
"time_utc": "2023-05-17T15:27:46.987"
},
"stop": {
"time_utc": "2023-05-17T15:27:47.532"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:47.209"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 3,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s",
"log_level": 20,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.009083333333332888
},
{
"activity_name": "mytool",
"activity_uuid": "a81e4fab-a21c-4667-a429-e9932399f1e3",
"start": {
"time_utc": "2023-05-17T15:27:47.552"
},
"stop": {
"time_utc": "2023-05-17T15:27:48.100"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:47.771"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 3,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s",
"log_level": 10,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.009133333333313232
}
]'
2023-05-17 15:27:48,116 DEBUG [__main__.mytool] (application.exit): Exiting application: mytool
you can also set parameters directly in the class, rather than using the argument/configfile parser. This is useful if you are calling the Tool from a script rather than the command-line
[15]:
tool.iterations = 1
tool.log_level = 0
try:
tool.run(["--infile", str(GAMMA_FILE), "--outfile", "out.csv"])
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
2023-05-17 15:27:48,129 INFO [__main__.mytool] (tool.run): Starting: mytool
2023-05-17 15:27:48,372 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d500d8b0>, 'type': 'change'}'
2023-05-17 15:27:48,474 WARNING [__main__.mytool] (462504653.finish): Shutting down.
see what happens when a value is set that is not of the correct type:
[16]:
try:
tool.iterations = "badval"
except TraitError as E:
print("bad value:", E)
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
bad value: The 'iterations' trait of a MyTool instance expected an int, not the str 'badval'.
Example of what happens when you change a parameter that is being “observed” in a class. It’s handler is called:
[17]:
tool.advanced.outfile = "Another.txt"
2023-05-17 15:27:48,504 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/Another.txt'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d500d8b0>, 'type': 'change'}'
we see that the handler for outfile
was called, and it receive a change dict that shows the old and new values.
create a tool using a config file:
[18]:
tool2 = MyTool()
[19]:
try:
tool2.run(argv=["--config", "Tools.json"])
except SystemExit as e:
assert e.code == 0, f"Tool returned with error status {e}"
2023-05-17 15:27:48,751 INFO [__main__.mytool] (tool.initialize): ctapipe version 0.19.2
2023-05-17 15:27:48,755 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/foo.txt'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d4f76610>, 'type': 'change'}'
2023-05-17 15:27:48,757 DEBUG [__main__.mytool] (tool.run): CONFIG: {'MyTool': {'config_files': [PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/Tools.json')], 'iterations': 5, 'log_config': {}, 'log_datefmt': '%Y-%m-%d %H:%M:%S', 'log_file': None, 'log_file_level': 'INFO', 'log_format': '[%(name)s]%(highlevel)s %(message)s', 'log_level': 10, 'logging_config': {}, 'overwrite': False, 'provenance_log': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log'), 'quiet': False, 'show_config': False, 'show_config_json': False, 'MyComponent': {'value': -1}, 'SecondaryMyComponent': {'value': -1}, 'TelescopeWiseComponent': {'param': [('type', '*', 5.0)]}, 'AdvancedComponent': {'infile': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/something.txt'), 'outfile': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/foo.txt'), 'value1': -1, 'MyComponent': {'value': -1}}}}
2023-05-17 15:27:48,759 INFO [__main__.mytool] (462504653.start): Performing 5 iterations...
2023-05-17 15:27:48,760 INFO [__main__.mytool] (462504653.start): ITERATION 0
2023-05-17 15:27:48,763 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,763 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,865 INFO [__main__.mytool] (462504653.start): ITERATION 1
2023-05-17 15:27:48,865 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,867 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,968 INFO [__main__.mytool] (462504653.start): ITERATION 2
2023-05-17 15:27:48,968 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:48,971 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:49,072 INFO [__main__.mytool] (462504653.start): ITERATION 3
2023-05-17 15:27:49,073 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:49,074 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:49,175 INFO [__main__.mytool] (462504653.start): ITERATION 4
2023-05-17 15:27:49,175 DEBUG [__main__.mytool.MyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:49,176 DEBUG [__main__.mytool.SecondaryMyComponent] (2562530776.do_thing): Did thing
2023-05-17 15:27:49,277 WARNING [__main__.mytool] (462504653.finish): Shutting down.
2023-05-17 15:27:49,278 INFO [__main__.mytool] (tool.run): Finished: mytool
2023-05-17 15:27:49,280 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:49,281 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:49,282 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:49,282 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:49,283 INFO [__main__.mytool] (tool.write_provenance): Output:
2023-05-17 15:27:49,292 DEBUG [__main__.mytool] (tool.write_provenance): PROVENANCE: '[
{
"activity_name": "mytool",
"activity_uuid": "063b058d-3860-4fda-9e0e-50c54c53e83c",
"start": {
"time_utc": "2023-05-17T15:27:46.231"
},
"stop": {
"time_utc": "2023-05-17T15:27:46.963"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:46.451"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 5,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "[%(name)s]%(highlevel)s %(message)s",
"log_level": 30,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.012199999999999989
},
{
"activity_name": "mytool",
"activity_uuid": "1965b8d8-0de4-4773-b8be-c1cc4d45aa2c",
"start": {
"time_utc": "2023-05-17T15:27:46.987"
},
"stop": {
"time_utc": "2023-05-17T15:27:47.532"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:47.209"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 3,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s",
"log_level": 20,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.009083333333332888
},
{
"activity_name": "mytool",
"activity_uuid": "a81e4fab-a21c-4667-a429-e9932399f1e3",
"start": {
"time_utc": "2023-05-17T15:27:47.552"
},
"stop": {
"time_utc": "2023-05-17T15:27:48.100"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:47.771"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 3,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s",
"log_level": 10,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.009133333333313232
},
{
"activity_name": "mytool",
"activity_uuid": "d5480606-509c-4129-9b3f-c5a0ab0272cd",
"start": {
"time_utc": "2023-05-17T15:27:48.131"
},
"stop": {
"time_utc": "2023-05-17T15:27:48.475"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:48.364"
},
"input": [],
"output": [],
"config": {
"MyTool": {
"config_files": [],
"iterations": 1,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "%(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s",
"log_level": 0,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/.cache/ctapipe/cccta-dataserver.in2p3.fr/data/ctapipe-test-data/v1.1.0/gamma_prod5.simtel.zst",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.0057333333332110215
},
{
"activity_name": "mytool",
"activity_uuid": "d1a462fa-57ec-46b9-9287-4b70c21fd78f",
"start": {
"time_utc": "2023-05-17T15:27:48.523"
},
"stop": {
"time_utc": "2023-05-17T15:27:49.279"
},
"system": {
"ctapipe_version": "0.19.2",
"ctapipe_resources_version": "not installed",
"eventio_version": "1.11.0",
"ctapipe_svc_path": null,
"executable": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin/python",
"platform": {
"architecture_bits": "64bit",
"architecture_linkage": "",
"machine": "x86_64",
"processor": "x86_64",
"node": "build-20735940-project-702899-ctapipe",
"version": "#6-Ubuntu SMP Thu Mar 31 09:44:20 UTC 2022",
"system": "Linux",
"release": "5.15.0-1004-aws",
"libcver": [
"glibc",
"2.35"
],
"n_cpus": 2,
"boot_time": "2023-05-17T12:46:35.000"
},
"python": {
"version_string": "3.8.15 (default, Oct 26 2022, 10:34:39) \n[GCC 11.2.0]",
"version": [
"3",
"8",
"15"
],
"compiler": "GCC 11.2.0",
"implementation": "CPython",
"packages": [
{
"name": "Babel",
"version": "2.12.1"
},
{
"name": "Cython",
"version": "0.29.34"
},
{
"name": "Jinja2",
"version": "3.0.3"
},
{
"name": "MarkupSafe",
"version": "2.1.2"
},
{
"name": "Pillow",
"version": "9.5.0"
},
{
"name": "PyYAML",
"version": "6.0"
},
{
"name": "Pygments",
"version": "2.15.1"
},
{
"name": "QtPy",
"version": "2.3.1"
},
{
"name": "Send2Trash",
"version": "1.8.2"
},
{
"name": "Sphinx",
"version": "3.5.4"
},
{
"name": "alabaster",
"version": "0.7.13"
},
{
"name": "anyio",
"version": "3.6.2"
},
{
"name": "argon2-cffi",
"version": "21.3.0"
},
{
"name": "argon2-cffi-bindings",
"version": "21.2.0"
},
{
"name": "arrow",
"version": "1.2.3"
},
{
"name": "astropy",
"version": "5.2.2"
},
{
"name": "asttokens",
"version": "2.2.1"
},
{
"name": "attrs",
"version": "23.1.0"
},
{
"name": "backcall",
"version": "0.2.0"
},
{
"name": "beautifulsoup4",
"version": "4.12.2"
},
{
"name": "bleach",
"version": "6.0.0"
},
{
"name": "blosc2",
"version": "2.0.0"
},
{
"name": "bokeh",
"version": "2.4.3"
},
{
"name": "certifi",
"version": "2023.5.7"
},
{
"name": "cffi",
"version": "1.15.1"
},
{
"name": "charset-normalizer",
"version": "3.1.0"
},
{
"name": "comm",
"version": "0.1.3"
},
{
"name": "commonmark",
"version": "0.9.1"
},
{
"name": "contourpy",
"version": "1.0.7"
},
{
"name": "corsikaio",
"version": "0.2.6.post1"
},
{
"name": "ctapipe",
"version": "0.19.2"
},
{
"name": "cycler",
"version": "0.11.0"
},
{
"name": "debugpy",
"version": "1.6.7"
},
{
"name": "decorator",
"version": "5.1.1"
},
{
"name": "defusedxml",
"version": "0.7.1"
},
{
"name": "docutils",
"version": "0.16"
},
{
"name": "eventio",
"version": "1.11.0"
},
{
"name": "executing",
"version": "1.2.0"
},
{
"name": "fastjsonschema",
"version": "2.16.3"
},
{
"name": "ffmpeg-python",
"version": "0.2.0"
},
{
"name": "fonttools",
"version": "4.39.4"
},
{
"name": "fqdn",
"version": "1.5.1"
},
{
"name": "future",
"version": "0.18.3"
},
{
"name": "graphviz",
"version": "0.20.1"
},
{
"name": "idna",
"version": "3.4"
},
{
"name": "imagesize",
"version": "1.4.1"
},
{
"name": "iminuit",
"version": "2.21.3"
},
{
"name": "importlib-metadata",
"version": "6.6.0"
},
{
"name": "importlib-resources",
"version": "5.12.0"
},
{
"name": "ipykernel",
"version": "6.23.1"
},
{
"name": "ipython",
"version": "8.12.2"
},
{
"name": "ipython-genutils",
"version": "0.2.0"
},
{
"name": "ipywidgets",
"version": "8.0.6"
},
{
"name": "isoduration",
"version": "20.11.0"
},
{
"name": "jedi",
"version": "0.18.2"
},
{
"name": "joblib",
"version": "1.2.0"
},
{
"name": "jsonpointer",
"version": "2.3"
},
{
"name": "jsonschema",
"version": "4.17.3"
},
{
"name": "jupyter",
"version": "1.0.0"
},
{
"name": "jupyter-console",
"version": "6.6.3"
},
{
"name": "jupyter-events",
"version": "0.6.3"
},
{
"name": "jupyter_client",
"version": "8.2.0"
},
{
"name": "jupyter_core",
"version": "5.3.0"
},
{
"name": "jupyter_server",
"version": "2.5.0"
},
{
"name": "jupyter_server_terminals",
"version": "0.4.4"
},
{
"name": "jupyterlab-pygments",
"version": "0.2.2"
},
{
"name": "jupyterlab-widgets",
"version": "3.0.7"
},
{
"name": "kiwisolver",
"version": "1.4.4"
},
{
"name": "llvmlite",
"version": "0.40.0"
},
{
"name": "matplotlib",
"version": "3.7.1"
},
{
"name": "matplotlib-inline",
"version": "0.1.6"
},
{
"name": "mistune",
"version": "2.0.5"
},
{
"name": "mock",
"version": "1.0.1"
},
{
"name": "msgpack",
"version": "1.0.5"
},
{
"name": "nbclassic",
"version": "1.0.0"
},
{
"name": "nbclient",
"version": "0.7.4"
},
{
"name": "nbconvert",
"version": "7.4.0"
},
{
"name": "nbformat",
"version": "5.8.0"
},
{
"name": "nbsphinx",
"version": "0.8.12"
},
{
"name": "nest-asyncio",
"version": "1.5.6"
},
{
"name": "notebook",
"version": "6.5.4"
},
{
"name": "notebook_shim",
"version": "0.2.3"
},
{
"name": "numba",
"version": "0.57.0"
},
{
"name": "numexpr",
"version": "2.8.4"
},
{
"name": "numpy",
"version": "1.24.3"
},
{
"name": "numpydoc",
"version": "1.4.0"
},
{
"name": "packaging",
"version": "23.1"
},
{
"name": "pandas",
"version": "2.0.1"
},
{
"name": "pandocfilters",
"version": "1.5.0"
},
{
"name": "parso",
"version": "0.8.3"
},
{
"name": "pexpect",
"version": "4.8.0"
},
{
"name": "pickleshare",
"version": "0.7.5"
},
{
"name": "pip",
"version": "23.1.2"
},
{
"name": "pkgutil_resolve_name",
"version": "1.3.10"
},
{
"name": "platformdirs",
"version": "3.5.1"
},
{
"name": "prometheus-client",
"version": "0.16.0"
},
{
"name": "prompt-toolkit",
"version": "3.0.38"
},
{
"name": "psutil",
"version": "5.9.5"
},
{
"name": "ptyprocess",
"version": "0.7.0"
},
{
"name": "pure-eval",
"version": "0.2.2"
},
{
"name": "py-cpuinfo",
"version": "9.0.0"
},
{
"name": "pycparser",
"version": "2.21"
},
{
"name": "pyerfa",
"version": "2.0.0.3"
},
{
"name": "pyparsing",
"version": "3.0.9"
},
{
"name": "pyrsistent",
"version": "0.19.3"
},
{
"name": "python-dateutil",
"version": "2.8.2"
},
{
"name": "python-json-logger",
"version": "2.0.7"
},
{
"name": "pytz",
"version": "2023.3"
},
{
"name": "pyzmq",
"version": "25.0.2"
},
{
"name": "qtconsole",
"version": "5.4.3"
},
{
"name": "readthedocs-sphinx-ext",
"version": "2.2.0"
},
{
"name": "recommonmark",
"version": "0.5.0"
},
{
"name": "requests",
"version": "2.30.0"
},
{
"name": "rfc3339-validator",
"version": "0.1.4"
},
{
"name": "rfc3986-validator",
"version": "0.1.1"
},
{
"name": "scikit-learn",
"version": "1.2.2"
},
{
"name": "scipy",
"version": "1.10.1"
},
{
"name": "setuptools",
"version": "67.7.2"
},
{
"name": "setuptools-scm",
"version": "7.1.0"
},
{
"name": "six",
"version": "1.16.0"
},
{
"name": "sniffio",
"version": "1.3.0"
},
{
"name": "snowballstemmer",
"version": "2.2.0"
},
{
"name": "soupsieve",
"version": "2.4.1"
},
{
"name": "sphinx-automodapi",
"version": "0.15.0"
},
{
"name": "sphinx-rtd-theme",
"version": "1.2.0"
},
{
"name": "sphinxcontrib-applehelp",
"version": "1.0.4"
},
{
"name": "sphinxcontrib-devhelp",
"version": "1.0.2"
},
{
"name": "sphinxcontrib-htmlhelp",
"version": "2.0.1"
},
{
"name": "sphinxcontrib-jquery",
"version": "4.1"
},
{
"name": "sphinxcontrib-jsmath",
"version": "1.0.1"
},
{
"name": "sphinxcontrib-qthelp",
"version": "1.0.3"
},
{
"name": "sphinxcontrib-serializinghtml",
"version": "1.1.5"
},
{
"name": "stack-data",
"version": "0.6.2"
},
{
"name": "tables",
"version": "3.8.0"
},
{
"name": "terminado",
"version": "0.17.1"
},
{
"name": "threadpoolctl",
"version": "3.1.0"
},
{
"name": "tinycss2",
"version": "1.2.1"
},
{
"name": "tomli",
"version": "2.0.1"
},
{
"name": "tornado",
"version": "6.3.2"
},
{
"name": "tqdm",
"version": "4.65.0"
},
{
"name": "traitlets",
"version": "5.9.0"
},
{
"name": "typing_extensions",
"version": "4.5.0"
},
{
"name": "tzdata",
"version": "2023.3"
},
{
"name": "uri-template",
"version": "1.2.0"
},
{
"name": "urllib3",
"version": "2.0.2"
},
{
"name": "wcwidth",
"version": "0.2.6"
},
{
"name": "webcolors",
"version": "1.13"
},
{
"name": "webencodings",
"version": "0.5.1"
},
{
"name": "websocket-client",
"version": "1.5.1"
},
{
"name": "wheel",
"version": "0.37.0"
},
{
"name": "widgetsnbextension",
"version": "4.0.7"
},
{
"name": "zipp",
"version": "3.15.0"
},
{
"name": "zstandard",
"version": "0.21.0"
}
]
},
"environment": {
"CONDA_DEFAULT_ENV": null,
"CONDA_PREFIX": null,
"CONDA_PYTHON_EXE": null,
"CONDA_EXE": null,
"CONDA_PROMPT_MODIFIER": null,
"CONDA_SHLVL": null,
"PATH": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/bin:/home/docs/.asdf/shims:/home/docs/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH": null,
"DYLD_LIBRARY_PATH": null,
"USER": null,
"HOME": "/home/docs",
"SHELL": null
},
"arguments": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/envs/v0.19.2/lib/python3.8/site-packages/ipykernel_launcher.py",
"-f",
"/tmp/tmpwq7fcpmb.json",
"--HistoryManager.hist_file=:memory:"
],
"start_time_utc": "2023-05-17T15:27:48.743"
},
"input": [
{
"url": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/Tools.json",
"role": "Tool Configuration"
}
],
"output": [],
"config": {
"MyTool": {
"config_files": [
"/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/Tools.json"
],
"iterations": 5,
"log_config": {},
"log_datefmt": "%Y-%m-%d %H:%M:%S",
"log_file": null,
"log_file_level": "INFO",
"log_format": "[%(name)s]%(highlevel)s %(message)s",
"log_level": 10,
"logging_config": {},
"overwrite": false,
"provenance_log": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/mytool.provenance.log",
"quiet": false,
"show_config": false,
"show_config_json": false,
"MyComponent": {
"value": -1
},
"SecondaryMyComponent": {
"value": -1
},
"TelescopeWiseComponent": {
"param": [
[
"type",
"*",
5.0
]
]
},
"AdvancedComponent": {
"infile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/something.txt",
"outfile": "/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/foo.txt",
"value1": -1,
"MyComponent": {
"value": -1
}
}
}
},
"status": "completed",
"duration_min": 0.012600000000002609
}
]'
2023-05-17 15:27:49,304 DEBUG [__main__.mytool] (application.exit): Exiting application: mytool
[20]:
print(tool2.advanced.infile)
/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/something.txt
[21]:
print(tool2.config)
{'MyTool': {'config_files': ['Tools.json'], 'log_level': 'DEBUG'}, 'AdvancedComponent': {'infile': 'something.txt', 'outfile': 'foo.txt'}}
[22]:
tool2.is_setup
[22]:
True
[23]:
tool3 = MyTool()
[24]:
tool3.is_setup
[24]:
False
[25]:
tool3.initialize(argv=[])
[26]:
tool3.is_setup
[26]:
False
[27]:
tool3
[27]:
do some things and stuff
config_files | [] | (default: traitlets.Undefined) |
---|---|---|
iterations | 5 | Number of times to run (default: 5) |
log_config | {} | (default: traitlets.Undefined) |
log_datefmt | %Y-%m-%d %H:%M:%S | The date format used by logging formatters for %(asctime)s (default: %Y-%m-%d %H:%M:%S) |
log_file | None | Filename for the log (default: None) |
log_file_level | INFO | Logging Level for File Logging (default: INFO) |
log_format | [%(name)s]%(highlevel)s %(message)s | The Logging format template (default: [%(name)s]%(highlevel)s %(message)s) |
log_level | 30 | Set the log level by value or name. (default: 30) |
logging_config | {} |
Configure additional log handlers.
The default stderr logs handler is configured by the
log_level, log_datefmt and log_format settings.
This configuration can be used to configure additional handlers
(e.g. to output the log to a file) or for finer control over the
default handlers.
If provided this should be a logging configuration dictionary, for
more information see:
https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
This dictionary is merged with the base logging configuration which
defines the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': ' |
overwrite | False | (default: False) |
provenance_log | / |
(default: traitlets.Undefined) |
quiet | False | (default: False) |
show_config | False | Instead of starting the Application, dump configuration to stdout (default: False) |
show_config_json | False | Instead of starting the Application, dump configuration to stdout (as JSON) (default: False) |
Components: MyTool, MyComponent, AdvancedComponent, SecondaryMyComponent, TelescopeWiseComponent
[28]:
tool.setup()
tool
2023-05-17 15:27:49,396 WARNING [__main__.mytool.AdvancedComponent] (2562530776.on_outfile_changed): Outfile was changed to '{'name': 'outfile', 'old': traitlets.Undefined, 'new': PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/ctapipe/checkouts/v0.19.2/docs/examples/out.csv'), 'owner': <__main__.AdvancedComponent object at 0x7fe7d4ff9490>, 'type': 'change'}'
[28]:
do some things and stuff
config_files | [] | (default: traitlets.Undefined) |
---|---|---|
iterations | 1 | Number of times to run (default: 5) |
log_config | {} | (default: traitlets.Undefined) |
log_datefmt | %Y-%m-%d %H:%M:%S | The date format used by logging formatters for %(asctime)s (default: %Y-%m-%d %H:%M:%S) |
log_file | None | Filename for the log (default: None) |
log_file_level | INFO | Logging Level for File Logging (default: INFO) |
log_format | %(asctime)s : %(levelname)s [%(name)s %(funcName)s] %(message)s | The Logging format template (default: [%(name)s]%(highlevel)s %(message)s) |
log_level | 0 | Set the log level by value or name. (default: 30) |
logging_config | {} |
Configure additional log handlers.
The default stderr logs handler is configured by the
log_level, log_datefmt and log_format settings.
This configuration can be used to configure additional handlers
(e.g. to output the log to a file) or for finer control over the
default handlers.
If provided this should be a logging configuration dictionary, for
more information see:
https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
This dictionary is merged with the base logging configuration which
defines the following:
* A logging formatter intended for interactive use called
``console``.
* A logging handler that writes to stderr called
``console`` which uses the formatter ``console``.
* A logger with the name of this application set to ``DEBUG``
level.
This example adds a new handler that writes to a file:
.. code-block:: python
c.Application.logging_config = {
'handlers': {
'file': {
'class': 'logging.FileHandler',
'level': 'DEBUG',
'filename': ' |
overwrite | False | (default: False) |
provenance_log | / |
(default: traitlets.Undefined) |
quiet | False | (default: False) |
show_config | False | Instead of starting the Application, dump configuration to stdout (default: False) |
show_config_json | False | Instead of starting the Application, dump configuration to stdout (as JSON) (default: False) |
Components: MyTool, MyComponent, AdvancedComponent, SecondaryMyComponent, TelescopeWiseComponent