Extensions allow extending the debugger without modifying the debugger code. This is implemented with explicit namespace packages.
To implement your own extension:
__init__.py files inside the pydevd_plugin and extension folder must contain the preamble below, and nothing else. Preamble:try: __import__('pkg_resources').declare_namespace(__name__) except ImportError: import pkgutil __path__ = pkgutil.extend_path(__path__, __name__)
"pydevd_plugin"_pydevd_bundle.pydevd_extension_api. This can be done by either inheriting from them or registering with the abstract base class.|-- root_directory-> must be on python path | |-- pydevd_plugins | | |-- __init__.py -> must contain preamble | | |-- extensions | | | |-- __init__.py -> must contain preamble | | | |-- pydevd_plugin_plugin_name.py