masoniteframework / debugbar Goto Github PK
View Code? Open in Web Editor NEWA Python Debugging tool
License: MIT License
A Python Debugging tool
License: MIT License
When using package provider if name("debugbar")
it implies that debugbar
will be used for config file.
Right now you're using config("debug")
, one or the other should be changed.
Need to be able to set and stop time to measure between 2 time points
Right now it's a mix between lowercase and capitalized
should glob the directory for all the requests stored
Should have the ability to see the variables as part of the view
Can be done with a close or X button in the top right
How we structured it was that on "Normal requests". it would clear out the directory of stored requests and then "ajax requests" it would store additional requests in the directory.
That leads to an issue on things like assets. This is clearing the request because its doing a call that the package thinks is a normal request.
Need a collector to get basic python and system information
we need to be able to use this package offline. A lot of development is all done locally so we need to store any assets we use in the package and load them in.
We can't use a CDN all the time. We should store these assets in the package and then when we render we can just load the javascript minified asset into the javascript renderer.. if that makes sense.
also the resize bar at the top of the debugbar seems a little wonky, could just be brave browser though. has no problem shrinking the bar to 1 pixel but doesnt expand the best.
Need a collector to fetch environment information like environment variables
When you select another request, the data does not show until you select another tab
Now that dump feature has been improved in M4, it would be great to add a tab to show the current dumps
that have been made.
It looks cleaner to be able to do:
debugger.get_collector('messages')
rather than
debugger.get_collector('Messages')
When you scroll down on a tab it loses the header. That part should stay and the tab contents should be scrollable
Whats the issue?:
I want to use the debug bar in M4
Steps to replicate this:
Install a basic M4 Project
Install the debug bar as per the docs - as per the docs here
Publish the atrifacts for the debug bar into storage - as per the docs here
See the exception during publish due to incorrect application binding.
File ".../venv/lib/python3.9/site-packages/masonite/container/container.py", line 112, in make
raise MissingContainerBindingNotFound(
masonite.exceptions.exceptions.MissingContainerBindingNotFound: storage key was not found in the container
Notice that storage
is not actually part of the bindings in the M4 Kernel
What would you expect?:
This binding should be part of the setup as per the M4 Kernel as it is supposed to work with M4 but the bindings impy its still part of M3
In my controller
def index(self, view: View):
categories = Category.all()
return view.render('welcome', {
'categories': categories,
})
This works in view
<ul>
{% for category in categories %}
<li>{{ category.name }}</li>
{% endfor %}
</ul>
This doesn't work in view
<ul>
{% for category in categories %}
<li>{{ category.name }} - {{ category.user.name }}</li>
{% endfor %}
</ul>
This works in view
<ul>
{% for category in categories %}
<li>{{ category.name }}</li>
{% endfor %}
</ul>
This also works in view
<ul>
{% for category in categories %}
<li>{{ category.name }} - {{ category.user.name }}</li>
{% endfor %}
</ul>
Add configuration options
This package will be basic Python debugging functionality. From this package we can create things like masonite-debugbar
Here are proof of concept screenshots of what the package is capable of doing.
This package will have several renderers available. The screenshot is an example of a JavascriptDebugbarRenderer
Collectors are classes responsible for collecting information. Each collector would show as a separate tab
Should have default base collectors such as:
Each collector should be responsible for converting their data into a dictionary to be later collected. This should be JSON encodable for the future.
Another requirement is being able to support multiple requests and AJAX requests
Should be able to take the collectors and show it in a nice format in the terminal. If possible, should be interactive
Need a way to attach a debugbar to all templates of an application. Should just render an HTML snippet with some vanilla JS
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.