{ "info": { "author": "Ionel Cristian M\u0103rie\u0219", "author_email": "contact@ionelmc.ro", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Utilities" ], "description": "========\nOverview\n========\n\n\n\nRemote vanilla PDB (over TCP sockets) *done right*: no extras, proper handling around connection failures and CI. Based\non `pdbx `_.\n\n* Free software: BSD 2-Clause License\n\nInstallation\n============\n\n::\n\n pip install remote-pdb\n\nUsage\n=====\n\nTo open a remote PDB on first available port:\n\n.. code:: python\n\n from remote_pdb import set_trace\n set_trace() # you'll see the port number in the logs\n\nTo use some specific host/port:\n\n.. code:: python\n\n from remote_pdb import RemotePdb\n RemotePdb('127.0.0.1', 4444).set_trace()\n\nTo connect just run ``telnet 127.0.0.1 4444``. When you are finished\ndebugging, either exit the debugger, or press Control-], then Control-d.\n\nAlternately, one can connect with NetCat: ``nc -C 127.0.0.1 4444`` or Socat: ``socat readline\ntcp:127.0.0.1:4444`` (for line editing and history support). When finished debugging, either exit\nthe debugger, or press Control-c.\n\nIntegration with breakpoint() in Python 3.7+\n============================================\n\nIf you are using Python 3.7 one can use the new ``breakpoint()`` built in to invoke\nremote PDB. In this case the following environment variable must be set:\n\n.. code:: bash\n\n PYTHONBREAKPOINT=remote_pdb.set_trace\n\nThe debugger can then be invoked as follows, without any imports:\n\n.. code:: python\n\n breakpoint()\n\nAs the ``breakpoint()`` function does not take any arguments, environment variables can be used to\nspecify the host and port that the server should listen to. For example, to run ``script.py`` in such a\nway as to make ``telnet 127.0.0.1 4444`` the correct way of connecting, one would run:\n\n.. code:: bash\n\n PYTHONBREAKPOINT=remote_pdb.set_trace REMOTE_PDB_HOST=127.0.0.1 REMOTE_PDB_PORT=4444 python script.py\n\nIf ``REMOTE_PDB_HOST`` is omitted then a default value of 127.0.0.1 will be used. If ``REMOTE_PDB_PORT`` is\nomitted then the first available port will be used. The connection information will be logged to the console,\nas with calls to ``remote_pdb.set_trace()``.\n\n\nNote about OS X\n===============\n\nIn certain scenarios (backgrounded processes) OS X will prevent readline to be imported (and readline is a dependency of pdb). \nA workaround (run this early):\n\n.. code:: python\n\n import signal\n signal.signal(signal.SIGTTOU, signal.SIG_IGN)\n\nSee `#9 `_ and `cpython#14892 `_.\n\nRequirements\n============\n\nPython 2.6, 2.7, 3.2, 3.3 and PyPy are supported.\n\nSimilar projects\n================\n\n* `qdb `_\n\n\nChangelog\n=========\n\n1.3.0 (2019-03-13)\n------------------\n\n* Documented support for Python 3.8's ``breakpoint()``.\n* Added support for setting the socket listening host/port through the ``REMOTE_PDB_HOST``/``REMOTE_PDB_PORT``\n environment variables. Contributed by Matthew Wilkes in `#14 `_.\n* Removed use of `rw` file wrappers around sockets (turns out socket's ``makefile`` is very buggy in Python 3.6 and\n later - `output is discarded `_). Contributed in `#13\n `_.\n\n1.2.0 (2015-09-26)\n------------------\n\n* Always print/log listening address.\n\n1.1.3 (2015-07-06)\n------------------\n\n* Corrected the default frame tracing starts from.\n\n1.1.2 (2015-07-06)\n------------------\n\n* Small readme update.\n\n1.1.1 (2015-07-06)\n------------------\n\n* Remove bogus ``remote_pdb`` console script.\n\n1.1.0 (2015-06-21)\n------------------\n\n* Fixed buffering issues when running on Python 3 and Windows.\n\n1.0.0 (2015-06-15)\n------------------\n\n* Added support for PDB++.\n\n0.2.1 (2014-03-07)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/trendscenter/python-remote-pdb", "keywords": "", "license": "BSD 2-Clause License", "maintainer": "", "maintainer_email": "", "name": "coinstac-remote-pdb", "package_url": "https://pypi.org/project/coinstac-remote-pdb/", "platform": "", "project_url": "https://pypi.org/project/coinstac-remote-pdb/", "project_urls": { "Changelog": "https://python-remote-pdb.readthedocs.io/en/latest/changelog.html", "Documentation": "https://python-remote-pdb.readthedocs.io/", "Homepage": "https://github.com/trendscenter/python-remote-pdb", "Issue Tracker": "https://github.com/ionelmc/python-remote-pdb/issues" }, "release_url": "https://pypi.org/project/coinstac-remote-pdb/1.3.1/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "summary": "Coinstac revision with removed stdout calls. Remote vanilla PDB (over TCP sockets) *done right*: no extras, proper handling around connection failures and CI. Based on `pdbx `_.", "version": "1.3.1" }, "last_serial": 5493817, "releases": { "1.3.0": [ { "comment_text": "", "digests": { "md5": "b638d8fc0dfebf4626d68303053ebee9", "sha256": "80f48fd94059d47bf7f2e200a9573a03c2bfd5ffb62b3434da07de7990a464ac" }, "downloads": -1, "filename": "coinstac_remote_pdb-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b638d8fc0dfebf4626d68303053ebee9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 4614, "upload_time": "2019-07-06T02:56:31", "url": "https://files.pythonhosted.org/packages/d8/a1/e0b23622144b3f9949db3f6b1e0e4fc35f1bf0c3173ffd1cc125d6b93099/coinstac_remote_pdb-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0331ae664a1f1553fd4753b1d11888fa", "sha256": "dc2bf4344e961b94a9b6994652efb50829f28ff2f1839779a8eebe01cceecdeb" }, "downloads": -1, "filename": "coinstac-remote-pdb-1.3.0.tar.gz", "has_sig": false, "md5_digest": "0331ae664a1f1553fd4753b1d11888fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 18833, "upload_time": "2019-07-06T02:56:35", "url": "https://files.pythonhosted.org/packages/ce/d6/37f4b50a08b659a9432e0d5e979033e044589c5dc0ea2d354629f6014131/coinstac-remote-pdb-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "cf721d745cb3fbcdab89532d5299d5f2", "sha256": "5df79ea6ac3b689ac8983ac94473def64cc25637bc8c198cede2ffe4ebb4e4c9" }, "downloads": -1, "filename": "coinstac_remote_pdb-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf721d745cb3fbcdab89532d5299d5f2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 4553, "upload_time": "2019-07-06T02:58:22", "url": "https://files.pythonhosted.org/packages/33/0c/1159d0c820db378303801723227d7ae66e96248b72e35ababc77996fc4d5/coinstac_remote_pdb-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc39903180bb64dbdb8809d179803677", "sha256": "ccadac638de5883ed3234396d398830c3b92af5330caa7b20aba56e227a67784" }, "downloads": -1, "filename": "coinstac-remote-pdb-1.3.1.tar.gz", "has_sig": false, "md5_digest": "dc39903180bb64dbdb8809d179803677", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 18793, "upload_time": "2019-07-06T02:58:24", "url": "https://files.pythonhosted.org/packages/6f/42/4a0f8622ff9e1ec3d09792bfc5b1fd5aa3a750d01f6def8ba85474edd50d/coinstac-remote-pdb-1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cf721d745cb3fbcdab89532d5299d5f2", "sha256": "5df79ea6ac3b689ac8983ac94473def64cc25637bc8c198cede2ffe4ebb4e4c9" }, "downloads": -1, "filename": "coinstac_remote_pdb-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf721d745cb3fbcdab89532d5299d5f2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 4553, "upload_time": "2019-07-06T02:58:22", "url": "https://files.pythonhosted.org/packages/33/0c/1159d0c820db378303801723227d7ae66e96248b72e35ababc77996fc4d5/coinstac_remote_pdb-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc39903180bb64dbdb8809d179803677", "sha256": "ccadac638de5883ed3234396d398830c3b92af5330caa7b20aba56e227a67784" }, "downloads": -1, "filename": "coinstac-remote-pdb-1.3.1.tar.gz", "has_sig": false, "md5_digest": "dc39903180bb64dbdb8809d179803677", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 18793, "upload_time": "2019-07-06T02:58:24", "url": "https://files.pythonhosted.org/packages/6f/42/4a0f8622ff9e1ec3d09792bfc5b1fd5aa3a750d01f6def8ba85474edd50d/coinstac-remote-pdb-1.3.1.tar.gz" } ] }