pydevd-pycharm

PyCharm build of the pydevd debugger for remote Python debugging

Tool
PyPI
v262.8665.186
20,465stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
95/100Excellent
Development Activity100
Maintenance84
Community96
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
82/100Excellent
Architecture84
Code Quality82
Innovation78
Learning Curve72

pydevd-pycharm is the PyCharm-bundled distribution of pydevd, the Python debugger engine that powers PyCharm’s debugging features. Installed into your target environment, it lets PyCharm attach to and debug Python code running elsewhere — on a remote server, inside a container, or in a separate process.

You add a single pydevd_pycharm.settrace() call to your program, point it at the host and port where the PyCharm debug server is listening, and execution pauses so you can inspect frames, set breakpoints, and step through code from the IDE. The package version is pinned to match a specific PyCharm build.

What You Get

  • The pydevd debugger engine packaged for PyCharm
  • A pydevd_pycharm.settrace(host, port=...) entry point to start debugging
  • Remote and attach-to-process debugging over a socket connection
  • Version pinning aligned with matching PyCharm builds

Common Use Cases

  • Debugging Python running on a remote server from a local PyCharm
  • Attaching PyCharm to code executing inside a Docker container
  • Stepping through a process that PyCharm cannot launch directly

Under The Hood

Architecture - pydevd runs as an in-process agent inside your Python program. When settrace() is called, it installs tracing hooks and opens a socket back to the PyCharm debug server, streaming frame, variable, and breakpoint information over the pydevd wire protocol so the IDE drives execution remotely. The source lives under python/helpers/pydev in the IntelliJ Community monorepo.

Tech Stack - The debugger is written primarily in Python with optional C extensions (Cython-compiled frame evaluation) for lower-overhead tracing on supported interpreters. It is maintained as part of the larger IntelliJ platform codebase and released to PyPI on JetBrains’ PyCharm build cadence.

Code Quality - As a component of a very actively developed, mature JetBrains project, pydevd is heavily exercised by every PyCharm user and carries extensive internal test coverage. Its versioning tracks PyCharm builds, so the debugger and IDE stay protocol-compatible.

API Design - For end users the surface is deliberately tiny: import pydevd_pycharm and call settrace() with the debug server’s host and port. The heavy lifting is hidden behind that one call, matching the workflow documented in JetBrains’ remote-debugging guide.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search