HEP IPython Tools

Toolkit for using jupyter notebooks in HEP software (and beyond)

Show project on GitHub

What is this?

The HEP IPython project gives you a set of reoccuring tools to solve typical problems when using your software project with jupyter notebooks. It is built to seemlessly interact with your software framework and give you all the functionality you want to have in your everyday jupyter usage, e.g.

  • Show calculation information with interactive widgets which is the best method to show your content in jupyter notebooks.
  • Manage your processes with an easy-to use interface, which is suited for the interactive manner of jupyter notebooks.
  • Handle multiple processes and grid searches.
It is best suited for HEP software but can also be used for many other use cases!

Show me!

The following short screencast shows the core functionality of the IPython tools in combination with the Belle 2 software framework.

In the video, a typical workflow in HEP software is shown:

  • Information on the environment are added to the notebook so that future user can directly see in which context the calculations were made.
  • A path object is created and filled with modules. A clickable help is used to get information on the modules and their parameters.
  • The path is processed and the added modules are executed.
  • Information on the calculation (e.g. statistics, logs, path content, data store content) are received.
The implementation of the path or the content of the modules is part of the Belle II software but interacts nicely with the IPython tools. For this, only a few lines of code were needed!

How can I use it?

Look into the example notebooks on binder, if you want to see more of the functionalities in action!

You can also have a look into the code itself on github and see how everything comes together.

How can I contribute?

Just fork the project from github and start coding! You can also have a look into the open issues of the project or write me a mail.

Happy coding!