dj-tracker
pudb
dj-tracker | pudb | |
---|---|---|
7 | 19 | |
72 | 2,878 | |
- | - | |
6.6 | 7.1 | |
6 months ago | 7 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dj-tracker
-
Finding n + 1 problem on a local machine
I'd recommend dj-tracker. It can show you exactly which field your related queries come from and you'll easily be able to know when your N+1 problem is solved or not using the dashboard. See the Detect and resolve related queries page on the docs. (It comes with very little overhead compared to silk or debug-toolbar and it persists all the data in a database so you don't lose when you quit the server).
-
Queryset performance when joining tables?
You could try dj-tracker. It'll help you detect N+1 or any related queries but also apply the deferring optimisation suggested by eysidi.
-
A Django app that tracks your queries to help optimize them
That was the little story for dj-tracker and here is what it can do in summary: - Keep track of all fields accessed (allowing to use only or defer when some fields aren't used - Keep track of all attributes accessed (it can then give you a hint to use .values or .values_list) - Show how effective a queryset's cache is (and provide hints on using the .iterator optimisation) - Show all related queries in the same section and where they come from (making it super easy to detect N+1 queries) - Detailed traceback, SQL and template information for each query - Everything is persisted in a database so you can see how your application performs over time
- A Django app that helps monitor and improve your database queries
-
Django performance optimization techniques
For these reasons and many others (we lose the data as soon as we quit the session, it only keeps track of queries inside a request/response cycle i.e not in a background job for example...), I started building an app (dj-tracker) that can give you various insights into your queries but also hints on how to optimize them.
-
dj-tracker - A django app that tracks your queries and helps optimise them
Hmm, interesting. There is a Github action that builds wheels and uploads them to Pypi. That's why I didn't specify Cython in the project's dependencies. I guess I'll need to look at it more in-depth. I'll also update the documentation re urls.
pudb
-
How can I debug Python code in neovim!
I simply use the superb pudb. Press ctrl+e to open the current file at the current line in your editor.
-
Writing Python Like Rust
such a waste of time...
To this day, I'm baffled by the dynamic language folks who cannot get they head around how strictness/rigor (via a good expressive type system) actually makes maintenance easier and more importantly: cheaper.
[1] https://github.com/inducer/pudb
- Tracing Python
-
What IDE do y’all use
I use the very under-rated pudb in an adjacent terminal window.
-
What Python debugger do you use?
I've been using PuDB for a while now.
-
Make your Debugging easier with these 8 tips in Python
I think it is also worth mentioning pudb here
-
Does anyone use python debugger?
Most of the time I simply use icecream (a much better version of print()), and sometimes, I use pudb (a visual debugger) for tougher/trickier bugs.
-
What do you use for an IDE and for debugging?
For a quick view etc I usually fire up pudb in an adjacent terminal window but for a detailed/heavy debugging session I fire up VS Code (with the vim plugin of course). I have used vi/vim for 37+ years now so it is part of my DNA and use VS Code only for it's great vim + debugging facility.
-
What is your favorite ,most underrated 3rd party python module that made your programming 10 times more easier and less code ? so we can also try that out :-) .as a beginner , mine is pyinputplus
Two that I haven’t seen here and have saved me tons of time are pudb, a great debugger and petl a simple powerful ETL toolkit.
-
Using a debugger in Vim
If you want to debug Python then pudb is simply superb. Vim users don't really want or need to "debug inside of vim" do they? We usually are happy to use multiple command line and other tools in adjacent windows. Also, you can just step around and view variables etc in pudb and then press ctrl+e to edit that file in vim, then q to restart debugger.
What are some alternatives?
django-debug-toolbar - A configurable set of panels that display various debug information about the current request/response.
ipdb - Integration of IPython pdb
Cyberbrain - Python debugging, redefined.
pdb-tutorial - A simple tutorial about effectively using pdb
python3-trepan - A gdb-like Python3 Debugger in the Trepan family
flask-debugtoolbar - A toolbar overlay for debugging Flask applications
winpdb - Fork of the official winpdb with improvements
pyringe - Debugger capable of attaching to and injecting code into python processes.
wdb - An improbable web debugger through WebSockets
django-devserver - A drop-in replacement for Django's runserver.