My Own Debugger and More
- See #1623 for details.
- I created https://github.com/mdmintz/pdbp
- I also created https://github.com/mdmintz/tabcompleter
SeleniumBase will automatically use the new debugger when a breakpoint is reached.
Other changes:
- Update ARM64-detection on Macs
- Update the test-directory generator script
- Update colors when displaying dot-files
- Refresh Python dependencies
New Debugger Info
I've been building my own debugger as an upgrade to pdb, called pdbp (Pdb+): https://github.com/mdmintz/pdbp. Originally, I tried using https://github.com/pdbpp/pdbpp, but that has bugs, and the maintainer hasn't fixed them yet. My only alternative is to build my own debugger clone if I want all my required fixes in.
The good news is that I'm already done. The whole project and upgrade took me less than a day to complete! I'm just testing the parts to make sure everything is good before I include the new Python packages as a SeleniumBase dependency. Here's what was made:
- https://github.com/mdmintz/tabcompleter (a replacement for https://github.com/pdbpp/fancycompleter)
- https://github.com/mdmintz/pdbp (a replacement for https://github.com/pdbpp/pdbpp)
Here's what the main issue was: pdbpp has a dependency on fancycompleter, which has a Windows dependency on pyreadline (https://github.com/pyreadline/pyreadline), which has this issue: pyreadline/pyreadline#65, which leads to this error: AttributeError: module 'collections' has no attribute 'Callable'.
Here's what I did: I created pdbp with a dependency on my own library tabcompleter, which has a dependency on the improved pyreadline3 (https://github.com/pyreadline3/pyreadline3/) instead of pyreadline. Then things started working again. As a bonus, I fixed some bugs and improved on default configuration settings.
If testing goes well, the new debugger,pdbp / (Pdb+) will be included with SeleniumBase dependencies very soon.
What's Changed
Full Changelog: v4.9.1...v4.9.2
