Debugging Indico

How does one start with debugging Indico?

I guess there’s no architecture/design documentation, so I want to start fiddling with Indico to learn how it works behind the scenes.

Currently I am using VS Code inside Ubuntu Desktop, where Indico is running successfully.

Any help/pointers will be much appreciated! Thanks!!

print statements are usually the easiest way. Also, inspecting objects and their attributes via indico shell.

BTW, our IRC channel would be much more useful for this type of questions than the forum!

Our API docs will probably be of help.

I mean setting breakpoints here and there in Python code (for starters) to figure out the flow of code, etc.

You can use any Python debugger and whatever method they use to set breakpoints. For wdb it’d be import wdb; wdb.set_trace() for example.

Great! What’s the “main” .py file that everything runs through on HTTP requests to Indico, so that I can start from there? Thanks!

Trust me, you don’t want to break there. You’d just get through all of the Flask routing.

If you want to start where the Indico code takes over control for a request, go to the base RH class and into its process() method.