nvim-dap VS nvim-dap-python

Compare nvim-dap vs nvim-dap-python and see what are their differences.

nvim-dap

Debug Adapter Protocol client implementation for Neovim (by mfussenegger)

nvim-dap-python

An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes. (by mfussenegger)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
nvim-dap nvim-dap-python
138 19
4,771 444
- -
7.9 4.6
5 days ago 16 days ago
Lua Lua
GNU General Public License v3.0 only GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

nvim-dap

Posts with mentions or reviews of nvim-dap. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.

nvim-dap-python

Posts with mentions or reviews of nvim-dap-python. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-06.
  • struggling to setup python with nvim dap - module not found on import - need to setup dap root?
    3 projects | /r/neovim | 6 Jul 2023
    I think nvim-dap doesn't (always?) use neovim current working directory as root, which can cause issues like yours. I'd recommend using https://github.com/mfussenegger/nvim-dap-python along with a local .nvim.lua (:h 'exrc') with the following config:
  • How can I debug Python code in neovim!
    3 projects | /r/vim | 1 Jul 2023
    You could use nvim-dap with nvim-dap-python.
  • How to debug python code in neovim
    2 projects | /r/neovim | 1 Jul 2023
    I'd suggest starting with a Neovim distro that makes things work for you and as you get familiar you can transition to a more custom configuration as you see fit. If you want to do it by yourself then the most popular plugin for debugging in Neovim is nvim-dap and there is also an extension for Python to give you a more ready to go config instead of doing it yourself. You should read the docs of those 2 to see how you should customize accordingly your configuration.
  • Need help setting working directory of my debugger for python in neovim
    4 projects | /r/neovim | 29 May 2023
    I figured out a solution btw. I got this plugin and created a .vscode/launch.json file for my project and set the cwd in there
  • Does anyone ever use Neovim to debug PyTorch?
    3 projects | /r/neovim | 17 May 2023
    lmao. I'm asking this because I'm trying to do this. Just want to know whether this is a good idea. I have some basic setup using nvim-dap-python.
  • What has been people's experience with nvim-dap? Or integrating the debugging experience within Neovim itself?
    5 projects | /r/neovim | 23 Apr 2023
    -- 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, }
  • Supercharge Python Development with this Plugin
    2 projects | /r/neovim | 18 Apr 2023
    Oh yes.. I think https://github.com/mfussenegger/nvim-dap-python is what you are looking for. The configuration might not be as simple as the VS code equivalent but seems to serve the same purpose?
  • Finding the right Virtual Envs with Pyright and DAP.
    1 project | /r/neovim | 30 Jan 2023
    But how do specify the same virtual env for Debugging with dap? nvim-dap-python is looking for the env variables VIRTUAL_ENV and CONDA_PREFIX. But that means i cannot open multiple python projects in the same nvim instance.
  • What IDE do you think is best for Python Programming? I currently am using Visual Studio Code but am open to test others...
    9 projects | /r/Python | 17 Dec 2022
    Yes, you can use nvim-dap-ui on top of nvim-dap or just nvim-dap-python (note that I haven‘t used the latter). Both options are able to parse .vscode/launch.json debug configs.
  • How to setup neotest with neotest-python and dap?
    3 projects | /r/neovim | 15 Dec 2022
    Have you installed and configured nvim-dap and nvim-dap-python ?

What are some alternatives?

When comparing nvim-dap and nvim-dap-python you can also consider the following projects:

vimspector - vimspector - A multi-language debugging system for Vim

mason-lspconfig.nvim - Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim.

LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.

vim-test - Run your tests at the speed of thought

nvim-gdb - Neovim thin wrapper for GDB, LLDB, PDB/PDB++ and BashDB

packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

CodeLLDB - A native debugger extension for VSCode based on LLDB

vim-ultest - The ultimate testing plugin for (Neo)Vim

vscode-cpptools - Official repository for the Microsoft C/C++ extension for VS Code.

trouble.nvim - 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.

my-lunarvim-config - My config for LunarVim

nvim-dap-ui - A UI for nvim-dap