Introducing Sidekick's Python Support
We are happy to announce support for Python runtime for Thundra Sidekick. Now, with Thundra's latest release, developers can live debug their Python applications using Sidekick’s web applications, the IntelliJ IDEA plugin, or the VSCode extension.
To note; Sidekick supports Python versions 2.7, 3.5, 3.6, 3.7, 3.8 and applies an asynchronous approach to achieve adding zero overhead to your application execution times.
Sidekick is a live debugging tool that helps you to trace flaws and find bugs in Python applications. It supports frameworks such as AWS Lambda (All), Django (1.11+), Flask (0.5+), Fastapi (0.62.0+), Chalice (1.0.0+), Tornado(6.0+).
As the Thundra engineering team, we develop applications to mock real-world problem scenarios and to demonstrate Thundra’s products and features to solve those problems.
In this post, I will give a quick overview of the bug I found while working on a social media application in Python runtime thanks to Sidekick.
I and one of my colleagues signed up for the social media app with the usernames “Thundra” and “thundra”.
Then when I wanted to see my own posts in the app I got an error message and I could not see my posts.
To troubleshoot, I instrumented my app with Sidekick, and I put a tracepoint (with a condition) to the relevant line of code in my application.
When I clicked on the “my posts” button again, the app ran and Sidekick captured the event without even stopping the execution.
Sidekick’s seamless TraceMap integration enabled me to detect what was really difficult to point out. I clicked on the TraceMap link and saw the request & response flow of my application with all the necessary information such as the full error stack and so.
When I read the error stack, it was clear and observable that I should have used exact lookup instead of iexact in Django strings because exact lookup is case sensitive where iexact is not.
So the error was caused because of missing the case sensitiveness case in the application. During creating the Queryset, the database got an error because we had two users in the same name.
It was really fast and easy to troubleshoot and resolve the error in minutes with Sidekick.
Try it out and read more by checking out our documentation of this new functionality: