ipython
PyDev.Debugger
Our great sponsors
ipython | PyDev.Debugger | |
---|---|---|
34 | 2 | |
16,134 | 409 | |
0.3% | - | |
9.6 | 7.0 | |
8 days ago | 5 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | Eclipse Public License 1.0 |
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.
ipython
-
The new pdbp (Pdb+) Python debugger!
If you’re already using ipython, this isn’t a problem because you’ll already need to download most of these dependencies anyway. But if you’re not using ipython… you’ll still need to download those dependencies.
-
Pandas 1.5 released
!pip install is error-prone, it is better to use %pip install, ipython even warns about this, https://github.com/ipython/ipython/pull/12954/
-
Why deprecate loading unpackaged extensions?
The git history (here is the git blame) shows it has not been updated in 9 year. Looks like a documentation issue that you should open an issue against.
-
Debugging Python programs without an IDE
Do you know IPython? It is a modern Python console that extends the capabilities of the classic builtin Python shell by offering introspection, tab completion, syntaxing coloring, as well as history. If you don't know it, I can't recommend it enough. More information can be found in its GitHub page.
-
External variables in lambda functions in Python
There is an IPython ticket on GitHub on the topic, but it's unclear if the problem has been solved.
-
Pipx: A python package consumption tool for CLI packages
For further documentation on ipython using the CLI, you can refer to the GitHub link or the documentation page.
-
Workflow-killing crash from strange added characters.
> ??????_ Traceback (most recent call last): File "/home/nvaughn4/bin/miniconda3/envs/newprime/bin/ipython", line 11, in sys.exit(start_ipython()) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/__init__.py", line 126, in start_ipython return launch_new_instance(argv=argv, **kwargs) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance app.start() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/ipapp.py", line 356, in start self.shell.mainloop() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 563, in mainloop self.interact() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 554, in interact self.run_cell(code, store_history=True) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2858, in run_cell raw_cell, store_history, silent, shell_futures) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2880, in _run_cell elif self.should_run_async(raw_cell): File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2918, in should_run_async return _should_be_async(cell) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/async_helpers.py", line 161, in _should_be_async code = compile(cell, "<>", "exec") UnicodeEncodeError: 'utf-8' codec can't encode characters in position 537-542: surrogates not allowed If you suspect this is an IPython 7.15.0 bug, please report it at: https://github.com/ipython/ipython/issues or send an email to the mailing list at [email protected] You can print a more detailed traceback right now with "%tb", or use "%debug" to interactively debug it. Extra-detailed tracebacks for bug-reporting purposes can be enabled via: %config Application.verbose_crash=True sys:1: RuntimeWarning: coroutine 'InteractiveShell.run_cell_async' was never awaited
-
No_color
There’s one I’ve come across recently here where you’re fighting against syntax highlighting with extra error context. https://github.com/ipython/ipython/issues/13446#issuecomment...
-
Anybody else getting tired of parso and jedi?
I see. https://github.com/ipython/ipython/issues/13529
-
Django Codebase Reformatted with Black
You can automate setup for developers using this simple script:
https://github.com/ipython/ipython/pull/12091/files
And here’s a GitLab issue requesting support for blame-ignore:
https://gitlab.com/gitlab-org/gitlab/-/issues/31423
I don’t think there’s a corresponding GitHub request, but maybe if GitLab adds this feature GitHub will have some incentive to follow suit.
PyDev.Debugger
-
Why is debugging so difficult in Docker containers ?
[1] https://github.com/fabioz/PyDev.Debugger/
-
Reloadr – Hot code reloading tool for Python
Ha, I'm just working on integrating the `pydev.debugger` code reloading into `debugpy` (so that the code reloading from the PyDev debugger will be available for Python-VSCode debugger users too).
The in-memory reloading (which may be seen at: https://github.com/fabioz/PyDev.Debugger/blob/main/_pydevd_b...) unfortunately doesn't work all the time (fixing the references at runtime in Python is difficult), but it works well enough for the cases where you have a simple function and change it (that file does explain some of the issues that the reloading faces).
One major issue is that after doing the reload, you need to get out of the function and then back into it to see the difference -- so, if you're stopped in the function in a breakpoint, it's not possible to simply drop the function and restart it as Python itself doesn't support that... maybe that's a good idea for a PEP ;)
Anyways, when it works, it's pretty nice in that you don't have to restart your whole debug session to see changes (the other approach, which webservers use in general is just restart the whole process, so, for instance, Django has an initial process just monitoring for changes and a 2nd process which is actually serving requests which is restarted when something changes -- not as good if you have a heavy startup or are working with something where you have to click through multiple things to get to the state which you want).
What are some alternatives?
CPython - The Python programming language
jurigged - Hot reloading for Python
bpython - bpython - A fancy curses interface to the Python interactive interpreter
ipdb - Integration of IPython pdb
xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.
PythonHotswap - Hotswap Python functions. And persistence of runtime.
vim-slime - A vim plugin to give you some slime. (Emacs)
reloadr - Hot code reloading tool for Python
spacemacs - A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
pyqtboiler - PyQt application boilerplate for rapid development
ptpython - A better Python REPL
reloading - Change Python code while it's running without losing state