--- title: "Python" url: https://docs.catalyst.zoho.com/en/tools/tunneling/implementation/ide-config/python/ description: "Catalyst Tunneling allows you to debug Non-HTTPS and Integration functions by routing function calls to your local system using a rever-proxy provider's tunneling URL." last_updated: 2026-08-17T12:16:04Z service: All Services type: general --- # Configure IDE to Debug Python Functions For the purposes of this help documentation we are going to illustrate how to configure debugging preferences of Python non-HTTPS and Integration functions in Visual Studio Code. > **Note:** This step is only applicable if you wish to **debug your tunneled functions** and if you have used the following CLI command: ```sh catalyst functions:shell --tunnel tunnel-port-number --debug port-number ``` If you wish only to tunnel your functions and you have used the following CLI command then no IDE configurations is required. ```sh catalyst functions:shell --tunnel tunnel-port-number ``` This command will **only tunnel your functions** and publish the logs of the functions in the Catalyst CLI. Configure your VS Code IDE's debugger in the following manner: 1. Ensure you have all the functions you need to debug in the local machine, and open the concerned project in VS Code. ![catalyst_tunneling_debug_vscode_python_openprojec](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debug_vscode_python_openprojec.webp) 2. Click the **Run/Debug** button present in the menu-bar and create a `launch.json` file, by clicking the "**create a launch.json file**" option. ![catalyst_tunneling_vscode_debug_create_json_high](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debug_create_json_high.webp) This is how the launch.json file appears before you begin configurations. ![catalyst_tunneling_vscode_debug_create_json_high](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debug_create_json_high.webp) 3. Copy the JSON snippet below and paste it as value in the "**configurations**" JSON key. **launch.json** ```json "configurations":[{ "name": "Python: Current File", "type": "debugpy", "request": "attach", "connect": { "host": "127.0.0.1", "port": 9001 //the debug port number which you have specified in the catalyst functions:shell --tunnel 8001 --debug 9001. }, "justMyCode": true }], ``` 4. Install the **Python Debugger** VS Code extension to be able to debug python fuctions in Visual Studio Code IDE. ![catalyst_tunneling_config_ide_python_debugger_extension install](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_config_ide_python_debugger_extension install.webp) 5. Install [debugpy](https://pypi.org/project/debugpy/) in the Python function's source directory using the following command: ```sh python3.10 -m pip install debugpy -t ./ ``` ![catalyst_tunneling_vscode_debug_install_python_debuggy](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debug_install_python_debuggy.webp) 6. Copy the following code lines and paste them in the very beginning of your function code: **code_file.py** ```python import debugpy debugpy.listen(9001) #specify the port for debugging print("Waiting for debugger to attach") debugpy.wait_for_client() print("debugger attached") ``` 7. Use the `debugpy.breakpoint()` function anywhere in the main python code file to introduce a breakpoint. ![catalyst_tunneling_vscode_debugging_with_debugger](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debugging_with_debugger.webp)