pdbpp
debugpy
Our great sponsors
pdbpp | debugpy | |
---|---|---|
9 | 18 | |
1,248 | 1,649 | |
1.2% | 5.5% | |
0.0 | 7.9 | |
12 days ago | 8 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.
pdbpp
-
The new pdbp (Pdb+) Python debugger!
Why not just use Python’s built-in pdb debugger or another existing one like ipdb or pdbpp?
-
Show HN: Clamshell- an experimental Python based shell
I like pdbpp. Make sure to install from source as there hasn’t been a release in a while.
https://github.com/pdbpp/pdbpp
-
Useful Python Modules for us
pdbpp: Improved pdb boltons: assorted python addtions twisted: event driven networking framework sorcery: Dark magic in python, things know where+how they are being called, helps reducing boilerplate sh: Better alternative for subprocess module, much more pythonic taskipy: npm run scipt_name like functionality snoop: pdb lite, record+replay function steps birdseye: graphical debugger remote-pdb: easy pdb from inside containers typer: wrapper around click for simpler code for CLIs arrow: Always TZ aware datetimes, plus more features more-itertools: more functions for iterators pydantic: data validation + dataclasses loguru: better logging notifiers: sending notifications from python
-
For whose use Emacs and VS Code, when and why you use VSCode? #emacs #vscode
If you want to use pdbpp, install it into your Python environment you're using the debugger from and it'll automatically hook itself into pdb with no additional setup.
-
What Python debugger do you use?
I love pdbpp
-
Which not so well known Python packages do you like to use on a regular basis and why?
pdbpp feels like getting super powers over using pdb
-
What dev tools do you use in your python projects?
Most of the tools and libraries I use have been mentioned, but I haven’t seen pdb++ brought up. It’s like ipython for debugging!
-
Debug in VIM
Improved version of built-in debugger: https://github.com/pdbpp/pdbpp
-
Icecream: Never use print() to debug again in Python
I like to use PDB++ which is a drop in replacement for PDB
https://github.com/pdbpp/pdbpp
debugpy
-
How to debug Django inside a Docker container with VSCode
debugpy description from it's repository:
-
Show HN: Mutable.ai – Turn your codebase into a Wiki
I'd love to see what it can do with https://github.com/microsoft/debugpy - and especially how it would handle vendored dependencies.
-
Need help setting working directory of my debugger for python in neovim
I read that nvim-dap-python uses debugpy which has all these configuration parameters of which one of them is `cwd` which represents the "absolute path to the working directory of the program being debugged".
-
nvim-dap closes my remote session each time I try to restart - how do I make it stop?
Hey all, I'm not sure if this is normal or not but, when debugging with nvim-dap, nvim-dap-ui, and nvim-dap-python (which uses debugpy) over a remote session, dap runs exactly once and then closes the entire process. This even happens when I just call `require("dap").restart()`. It's pretty frustrating to deal with and is not something that I was used to when I used to debug with vimspector, which let me restart the debug remotely as many times as I wanted without killing the application that I was connected to. Is this happening for anyone else? How do I disable it? I didn't see anything in debugpy's configuration options. I'm rereading dap's vim :help but haven't found any mention of auto-close / terminate logic yet.
-
What has been people's experience with nvim-dap? Or integrating the debugging experience within Neovim itself?
-- Debug adapter plug-in. Debug anything in Neovim { "mfussenegger/nvim-dap", config = function() vim.keymap.set("n", "d", ":DapContinue") vim.keymap.set("n", "dl", ":DapStepInto") vim.keymap.set("n", "dj", ":DapStepOver") vim.keymap.set("n", "dh", ":DapStepOut") vim.keymap.set("n", "dz", ":ZoomWinTabToggle") vim.keymap.set( "n", "dgt", -- dg as in debu[g] [t]race ":lua require('dap').set_log_level('TRACE')" ) vim.keymap.set( "n", "dge", -- dg as in debu[g] [e]dit function() vim.cmd(":edit " .. vim.fn.stdpath('cache') .. "/dap.log") end ) vim.keymap.set("n", "", ":DapStepOut") vim.keymap.set("n", "", ":DapStepOver") vim.keymap.set("n", "", ":DapStepInto") vim.keymap.set( "n", "d-", function() require("dap").restart() end ) vim.keymap.set( "n", "d_", function() require("dap").terminate() require("dapui").close() end ) end, lazy = true, }, -- A default "GUI" front-end for nvim-dap { "rcarriga/nvim-dap-ui", config = function() require("dapui").setup() -- Note: Added this dd duplicate of because somehow the -- mapping keeps getting reset each time I restart nvim-dap. Annoying but whatever. -- vim.keymap.set( "n", "dd", function() require("dapui").open() -- Requires nvim-dap-ui vim.cmd[[DapContinue]] -- Important: This will lazy-load nvim-dap end ) end, dependencies = { "mfussenegger/nvim-dap", "mfussenegger/nvim-dap-python", -- Optional adapter for Python }, }, -- TODO: Make sure that debugpy is installed. Otherwise, disable -- Reference: https://github.com/mfussenegger/nvim-dap-python#installation -- { "mfussenegger/nvim-dap-python", config = function() require("dap-python").setup("/path/to/python/here") -- XXX: Replace this with your preferred Python, if wanted -- An example configuration to launch any Python file, via Houdini -- table.insert( -- require("dap").configurations.python, -- { -- type = "python", -- request = "launch", -- name = "Launch Via hython", -- program = "${file}", -- python = "/opt/hfs19.5.569/bin/hython" -- -- ... more options, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings -- } -- ) end, dependencies = { "mfussenegger/nvim-dap", "nvim-treesitter/nvim-treesitter", }, }, -- Remember nvim-dap breakpoints between sessions, ``:PBToggleBreakpoint`` { "Weissle/persistent-breakpoints.nvim", config = function() require("persistent-breakpoints").setup{ load_breakpoints_event = { "BufReadPost" } } vim.keymap.set("n", "db", ":PBToggleBreakpoint") end, }
-
Unable to view complex numpy arrays in Dataviewer in VSCode
After testing I have the same situation. I reported this issue on GitHub, you can follow up.
-
How to setup neotest with neotest-python and dap?
vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''}) dap.configurations.python = { { -- The first three options are required by nvim-dap type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` request = 'launch'; name = "Launch file"; -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options program = "${file}"; -- This configuration will launch the current file if used. pythonPath = function() -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself. -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within. -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable. return os.getenv("VIRTUAL_ENV") .. "/bin/python" or '/usr/bin/env python' end; }, }
- How does mfussenegger / nvim-dap-python with nvim-dap runs the code in venv?
- What Python debugger do you use?
-
Any functionality like VS Code debugger from command line (for Python)?
You should take a look at DAP (Debug Adapter Protocol). There exist a Python module implementing this protocol (debugpy) and you can probably find some client applications that can hook into it (like this neovim plugin).
What are some alternatives?
ipdb - Integration of IPython pdb
nvim-dap-python - An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
pudb - Full-screen console debugger for Python
nvim-dap - Debug Adapter Protocol client implementation for Neovim
pdbr - pdb + Rich library
python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community
PySnooper - Never use print for debugging again
mason-nvim-dap.nvim
python-devtools - Dev tools for python
nvim-config
snoop - A powerful set of Python debugging tools, based on PySnooper
fastapi-vscode-debug-setup - Sample configuration to setup fastapi debugging with vscode and docker-compose