# PyDev.Debugger
PyCharms' fork of [PyDev.Debugger][pydevd].
## Installation
In general, the debugger backend should **NOT** be installed separately if you're using an IDE which already
bundles it (such as PyDev or PyCharm).
## Compatibility
It is however available in PyPi so that it can be installed for doing remote debugging with `pip` -- so, when
debugging a process which runs in another machine, it's possible to `pip install pydevd-pycharm` and in the code use
`pydevd_pycharm.settrace(host='10.1.1.1')` to connect the debugger backend to the debugger UI running in the IDE
(whereas previously the sources had to be manually copied from the IDE installation).
It should be compatible with Python 2.6 onwards (as well as Jython 2.7, IronPython and PyPy -- and
any other variant which properly supports the Python structure for debuggers -- i.e.: sys.settrace/threading.settrace).
Recent versions contain speedup modules using Cython, which are generated with a few changes in the regular files
to `cythonize` the files. To update and compile the cython sources (and generate some other auto-generated files),
`build_tools/build.py` should be run -- note that the resulting .pyx and .c files should be commited.
To generate a distribution with the precompiled binaries for the IDE, `build_binaries_windows.py` should be run (
note that the environments must be pre-created as specified in that file).
To generate a distribution to upload to PyPi, `python setup.py sdist bdist_wheel` should be run for each python version
which should have a wheel and afterwards `twine upload -s dist/pydevd-*` should be run to actually upload the contents
to PyPi.
## Dependencies
CI dependencies are stored in `ci-requirements/`. These are high-level dependencies required to initialize tests execution.
Basically `tox` and it's transient requirements.
Test dependencies are stored in `test-requirements/`. These dependencies are required for successful execution of all the tests.
For local development you only need CI dependencies. Test dependencies are completely handled by `tox`, assuming you are running tests
through it.
Dependencies are pinned and split by supported Python version. It is done ...
- to avoid rogue dependency update crashing the tests and consequently safe-push overnight if the test is in the aggregator,
- to have reproducible builds,
- to avoid finding a set of dependencies which satisfy all the supported Python version simultaneously.
For more details on the current dependency declaration approach see [PCQA-914][PCQA-914] and [PCQA-904][PCQA-904].
## Tests
Tests are executed via `tox` with the help of `pytest`.
To run all tests ...
```shell
tox
```
To run test vs. a specific Python version, e.g., Python 3.13 ...
```shell
tox -e py313
```
To run a specific test vs. a specific Python version ...
```shell
tox -e py313 -- pydev_tests/test_pyserver.py::TestCPython::test_message
```
[pydevd]: https://github.com/fabioz/PyDev.Debugger
[PCQA-904]: https://youtrack.jetbrains.com/issue/PCQA-904
[PCQA-914]: https://youtrack.jetbrains.com/issue/PCQA-914
Raw data
{
"_id": null,
"home_page": "https://github.com/JetBrains/intellij-community",
"name": "pydevd-pycharm",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "pydev, pydevd, pydev.debugger, pycharm",
"author": "JetBrains, Fabio Zadrozny and others",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/46/fe/4fe722b4c45146604588b7230d168d906495c545135a724500220769a09a/pydevd_pycharm-251.22821.82.tar.gz",
"platform": null,
"description": "# PyDev.Debugger\n\nPyCharms' fork of [PyDev.Debugger][pydevd].\n\n## Installation\n\nIn general, the debugger backend should **NOT** be installed separately if you're using an IDE which already\nbundles it (such as PyDev or PyCharm).\n\n## Compatibility\n\nIt is however available in PyPi so that it can be installed for doing remote debugging with `pip` -- so, when\ndebugging a process which runs in another machine, it's possible to `pip install pydevd-pycharm` and in the code use\n`pydevd_pycharm.settrace(host='10.1.1.1')` to connect the debugger backend to the debugger UI running in the IDE\n(whereas previously the sources had to be manually copied from the IDE installation).\n\nIt should be compatible with Python 2.6 onwards (as well as Jython 2.7, IronPython and PyPy -- and\nany other variant which properly supports the Python structure for debuggers -- i.e.: sys.settrace/threading.settrace).\n\nRecent versions contain speedup modules using Cython, which are generated with a few changes in the regular files\nto `cythonize` the files. To update and compile the cython sources (and generate some other auto-generated files),\n`build_tools/build.py` should be run -- note that the resulting .pyx and .c files should be commited.\n\nTo generate a distribution with the precompiled binaries for the IDE, `build_binaries_windows.py` should be run (\nnote that the environments must be pre-created as specified in that file).\n\nTo generate a distribution to upload to PyPi, `python setup.py sdist bdist_wheel` should be run for each python version\nwhich should have a wheel and afterwards `twine upload -s dist/pydevd-*` should be run to actually upload the contents\nto PyPi.\n\n## Dependencies\n\nCI dependencies are stored in `ci-requirements/`. These are high-level dependencies required to initialize tests execution.\nBasically `tox` and it's transient requirements.\n\nTest dependencies are stored in `test-requirements/`. These dependencies are required for successful execution of all the tests.\n\nFor local development you only need CI dependencies. Test dependencies are completely handled by `tox`, assuming you are running tests\nthrough it.\n\nDependencies are pinned and split by supported Python version. It is done ...\n\n- to avoid rogue dependency update crashing the tests and consequently safe-push overnight if the test is in the aggregator,\n- to have reproducible builds,\n- to avoid finding a set of dependencies which satisfy all the supported Python version simultaneously.\n\nFor more details on the current dependency declaration approach see [PCQA-914][PCQA-914] and [PCQA-904][PCQA-904].\n\n## Tests\n\nTests are executed via `tox` with the help of `pytest`.\n\nTo run all tests ...\n\n```shell\ntox\n```\n\nTo run test vs. a specific Python version, e.g., Python 3.13 ...\n\n```shell\ntox -e py313\n```\n\nTo run a specific test vs. a specific Python version ...\n\n```shell\ntox -e py313 -- pydev_tests/test_pyserver.py::TestCPython::test_message\n```\n\n[pydevd]: https://github.com/fabioz/PyDev.Debugger\n\n[PCQA-904]: https://youtrack.jetbrains.com/issue/PCQA-904\n\n[PCQA-914]: https://youtrack.jetbrains.com/issue/PCQA-914\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "PyCharm Debugger (used in PyCharm and PyDev)",
"version": "251.22821.82",
"project_urls": {
"Homepage": "https://github.com/JetBrains/intellij-community"
},
"split_keywords": [
"pydev",
" pydevd",
" pydev.debugger",
" pycharm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "46fe4fe722b4c45146604588b7230d168d906495c545135a724500220769a09a",
"md5": "4b18879600ae15e68ec55cc2870885ac",
"sha256": "3c44235385b12edeac56d54d9b34e7a7feb9fe9153b702430dfb13729d84fa44"
},
"downloads": -1,
"filename": "pydevd_pycharm-251.22821.82.tar.gz",
"has_sig": false,
"md5_digest": "4b18879600ae15e68ec55cc2870885ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8024297,
"upload_time": "2025-02-24T14:49:30",
"upload_time_iso_8601": "2025-02-24T14:49:30.211724Z",
"url": "https://files.pythonhosted.org/packages/46/fe/4fe722b4c45146604588b7230d168d906495c545135a724500220769a09a/pydevd_pycharm-251.22821.82.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-24 14:49:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JetBrains",
"github_project": "intellij-community",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pydevd-pycharm"
}