{ "info": { "author": "Ben Bass", "author_email": "benbass@codedstructure.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Debuggers" ], "description": "rpcpdb\n======\n\nA PDB wrapper designed to be part of RPC systems for remote\nintrospection and debugging of RPC server state\n\nFeatures\n--------\n * debug any API function from the client side\n * store a trace file from any API function\n * open an interactive console into the RPC process\n * match and ignore count on function breakpoints\n * Python 2 and 3 support\n\nAbout\n-----\nrpcpdb supports three main functions to support debugging of RPC contexts:\n * a wrapper around the pdb debugger with stdio routed over a UNIX socket\n * tracing of API functions\n * an interactive console available within the target RPC process\n\nIt is designed to fulfil the need to debug a function on\nan already-running server which uses threads or processes\nto dispatch each remote procedure call, without having to\nchange the source code to the server in any way. There is\nno disruption to other clients and rpc calls while the\nselected call is being debugged or traced.\n\nIn particular, a mixin class is provided which adds a small number of\ndebug and trace methods to your RPC server.\nThese allow breakpoints to be controlled by another RPC client.\n\nFor an example, run the xmlrpc_server.py server process,\nthen run one or more xmlrpc_client.py processes which will\ncontinually perform RPC requests against it. xmlrpc_debug.py\ncan then be run to inject a debug breakpoint in a method\nwhich the clients are continually calling; the next client\nto call that function will be remotely debuggable, while\nother clients carry on oblivious.\n\nAn alternative example added in v0.2 is the 'test_server.py'\nwhich does not use RPC but runs functions in background threads.\nIt gives a good overview of usage in a single module without\nextra dependencies.\n\nCurrently the debug interface is provided via a UNIX socket,\nbut this will be extended in future.\n\nRPC framework support is intended to cover XMLRPC, RPyC and\nPyro in the initial stages.\n\nPlans\n-----\n\n * Update examples, tidy up, document.\n * Support other interfaces than termsock / UNIX socket.\n * Support json-rpc\n * Improve API tracing functionality\n\nLicense information\n-------------------\n\nCopyright (c) 2010-2015 Ben Bass \nAll rights reserved.\n\nSee the file \"LICENSE\" for information terms & conditions\nfor usage, and a DISCLAIMER OF ALL WARRANTIES.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/codedstructure/rpcpdb", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "rpcpdb", "package_url": "https://pypi.org/project/rpcpdb/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rpcpdb/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/codedstructure/rpcpdb" }, "release_url": "https://pypi.org/project/rpcpdb/0.4.5/", "requires_dist": null, "requires_python": null, "summary": "Debug support for RPC servers", "version": "0.4.5" }, "last_serial": 2190349, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3fd44e28e7b4081f929a020b033e36f2", "sha256": "357bb866cc63c8e1b93c9ddb67e577f07c9de7efd1363a9cb1f59c2c562ab453" }, "downloads": -1, "filename": "rpcpdb-0.1.tar.gz", "has_sig": false, "md5_digest": "3fd44e28e7b4081f929a020b033e36f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6068, "upload_time": "2011-03-02T00:45:33", "url": "https://files.pythonhosted.org/packages/ae/f1/e550cf201c924d381aac8eb58c84bfb5d0fe5dcc8c2c5d0a5671093727cd/rpcpdb-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3d150e1c7f812f458710a7422983280a", "sha256": "3b502d6fbbf712b41a097c531a78a9a20527b5636e2bd530d1a284bd8858528e" }, "downloads": -1, "filename": "rpcpdb-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3d150e1c7f812f458710a7422983280a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5288, "upload_time": "2011-09-20T17:26:18", "url": "https://files.pythonhosted.org/packages/5b/c6/e455b347cca14aa0785f3f18f1bf76c873d4a44d31a9eb9e756ba474dafe/rpcpdb-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "0cbbd0b6ed19bd0658dad5082c076776", "sha256": "057fc86c12588e1e350878fbe688d392fbe2f8a7f3e1d551d002799a62b91e49" }, "downloads": -1, "filename": "rpcpdb-0.2.tar.gz", "has_sig": false, "md5_digest": "0cbbd0b6ed19bd0658dad5082c076776", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7929, "upload_time": "2011-10-07T00:27:39", "url": "https://files.pythonhosted.org/packages/e5/c2/63fc90f13c5d12e4ccd059e6b3559014a99e291744dbee5b435ac4002b47/rpcpdb-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d19567f488eef3d305bc2b299fe529eb", "sha256": "1a52be5aec26fbfb4845d60b815c428d94b46ee0e20c0c3113b04e7dbdcdcead" }, "downloads": -1, "filename": "rpcpdb-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d19567f488eef3d305bc2b299fe529eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7952, "upload_time": "2011-10-07T00:34:25", "url": "https://files.pythonhosted.org/packages/94/9c/269a87963fa374a1b17cdba22bc80f0a8b508a7be74569836f4d0c61b27b/rpcpdb-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "5474f014bd96a7452d74ff57ea5bea99", "sha256": "1464be869111c3359ae64a83bd419b7395f13a9518a659e39777fda13aa4b464" }, "downloads": -1, "filename": "rpcpdb-0.3.tar.gz", "has_sig": false, "md5_digest": "5474f014bd96a7452d74ff57ea5bea99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8159, "upload_time": "2012-05-12T23:16:54", "url": "https://files.pythonhosted.org/packages/33/c9/5d4864c0a25b710986a77f9eafa0f7d17216737f395c46a75ab7c7f66b6a/rpcpdb-0.3.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "6a9707da6c1b32a816768360eed29a29", "sha256": "312896ce841dd275c29cb0a43cccbd8456f0c18ef409d5f691a729c20263c32c" }, "downloads": -1, "filename": "rpcpdb-0.3.2.tar.gz", "has_sig": false, "md5_digest": "6a9707da6c1b32a816768360eed29a29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9483, "upload_time": "2012-09-18T22:23:53", "url": "https://files.pythonhosted.org/packages/5c/16/b16ef6f4ffe4c206b59ffa84435e3018978e42e4608c980fc1652ed27d02/rpcpdb-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "dc2a35602d4d0d6ee2012f9c580a6b7a", "sha256": "7c7034741502a9ce2ecf6463de1ca2b13db55b88892310b3081cce7e77929c0a" }, "downloads": -1, "filename": "rpcpdb-0.3.3.tar.gz", "has_sig": false, "md5_digest": "dc2a35602d4d0d6ee2012f9c580a6b7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10425, "upload_time": "2012-09-20T21:55:45", "url": "https://files.pythonhosted.org/packages/b5/8c/9b1ad605bc6e07659336ed962d4fbc761e4a3e468f3bfa609006a5bae5d0/rpcpdb-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "b80df6b4bf90e07d97acb67a4b90efab", "sha256": "c8629271408de4d7d499608574d2fa10c55f580c6ec6626440cdfbdd875227ca" }, "downloads": -1, "filename": "rpcpdb-0.3.4.tar.gz", "has_sig": false, "md5_digest": "b80df6b4bf90e07d97acb67a4b90efab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9774, "upload_time": "2013-07-11T14:07:32", "url": "https://files.pythonhosted.org/packages/8a/4a/f10adcc19e01bf2b4135d09b784f5cdf28a4903d6714c75075e33d4b60df/rpcpdb-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "0a54b7b0faa8b0a9b017cafe40a6ecc6", "sha256": "ff0a795e91b8381b373f6975be19575bd26f30ed8f8fa715d83b34f91e0030e3" }, "downloads": -1, "filename": "rpcpdb-0.3.5.tar.gz", "has_sig": false, "md5_digest": "0a54b7b0faa8b0a9b017cafe40a6ecc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10436, "upload_time": "2013-07-11T21:32:06", "url": "https://files.pythonhosted.org/packages/fa/83/0c14cfe4bd26a619fa21f59ad265fbae6c97bdcfe36a2823b012dd326334/rpcpdb-0.3.5.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "677283387c73df0d6a59b6cdc6a31b4e", "sha256": "80a5d1beadae100437a0aa4dd17afbb9033c254b400a2724be42be62864f1933" }, "downloads": -1, "filename": "rpcpdb-0.4.tar.gz", "has_sig": false, "md5_digest": "677283387c73df0d6a59b6cdc6a31b4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11698, "upload_time": "2013-11-17T17:32:16", "url": "https://files.pythonhosted.org/packages/ae/d3/23ff0286e9753410bfe54998576e3cee9c3a7859b8dc2f61ac9787c0e7d5/rpcpdb-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "de9d2ccc27fe5d92361c7a8e0a74d6d1", "sha256": "d6581aafa6713d31ac3d594cc4289d9e767ae2c47ca1f046caff6b85f18ebb9a" }, "downloads": -1, "filename": "rpcpdb-0.4.1-py27-none-any.whl", "has_sig": false, "md5_digest": "de9d2ccc27fe5d92361c7a8e0a74d6d1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18033, "upload_time": "2013-11-18T22:28:04", "url": "https://files.pythonhosted.org/packages/c8/f8/fe34e89dcc99e7450548c81da95d0a82b33088cbfd8053fc16ad7087d4cf/rpcpdb-0.4.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6da54d18b922def4befe4fb8c9219245", "sha256": "da52b51431ae94838116ca87519665835a9dee598e32eaad01866d800d1c75a6" }, "downloads": -1, "filename": "rpcpdb-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6da54d18b922def4befe4fb8c9219245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12547, "upload_time": "2013-11-18T22:28:06", "url": "https://files.pythonhosted.org/packages/15/af/837d92b1a1ab1c28841eec71915c79d1936b439bcc8cb7a2c9d5092ebb1a/rpcpdb-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "a3b250e884dda613db617c905143dd27", "sha256": "e927cbbfec0a264c10a725ff0457e2483317c5cdcaec73074fd7487f49d57d47" }, "downloads": -1, "filename": "rpcpdb-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a3b250e884dda613db617c905143dd27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12565, "upload_time": "2014-01-16T15:11:16", "url": "https://files.pythonhosted.org/packages/b4/cb/1c9a2ef4b8973065c1e62a7d7f4297bc3be320e6047bebeef1b3990c64fc/rpcpdb-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "fc0ab39b2dcb481eb8ef4b7976928dca", "sha256": "e1c43022a137b0eb2e721bbbf5a5d5b735229dfd4fa68fa0fa6d20c24a5566f3" }, "downloads": -1, "filename": "rpcpdb-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc0ab39b2dcb481eb8ef4b7976928dca", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18026, "upload_time": "2015-06-11T09:10:30", "url": "https://files.pythonhosted.org/packages/bd/3e/e2c38bd81d9f776c62f0acf544aed1674318fbf2e2178a330b1fe8be896b/rpcpdb-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10e1178602cf688402129392ba1447fd", "sha256": "22f43657cf2eb6939a77eb7f4d5b4afa40e8ec89066a2f76fd09abfd4ea86a7c" }, "downloads": -1, "filename": "rpcpdb-0.4.3.tar.gz", "has_sig": false, "md5_digest": "10e1178602cf688402129392ba1447fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12633, "upload_time": "2015-06-11T09:10:27", "url": "https://files.pythonhosted.org/packages/b0/f0/054c447e79d8b956e917fbf23eb5080f64f1098f548f13390de181acfbc1/rpcpdb-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "f8c2480b3c3de4aaa2d037bb42d698f0", "sha256": "f925c304d8a45f0b3cc14ee0c3a4935007f7ea13190db55109092056cd8589a6" }, "downloads": -1, "filename": "rpcpdb-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8c2480b3c3de4aaa2d037bb42d698f0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18043, "upload_time": "2015-06-30T13:57:16", "url": "https://files.pythonhosted.org/packages/29/a0/c78bfa8fa067e5bb94be7134cf6d975d727bcb7d8ec25910cea48d4354b3/rpcpdb-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00b432b17d5da68b97759dbec5705f05", "sha256": "44be0d5e3dd5a0ef84d149113c22f5130d2861e34771e28eb6bca1677a465f23" }, "downloads": -1, "filename": "rpcpdb-0.4.4.tar.gz", "has_sig": false, "md5_digest": "00b432b17d5da68b97759dbec5705f05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12678, "upload_time": "2015-06-30T13:57:12", "url": "https://files.pythonhosted.org/packages/5b/c1/1e9ef6030c68a905a2eb025eccf6bee6f0f5e263fbf9aa2a980decbc29bb/rpcpdb-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "80bf1c6590bdaa3b86c16328e64fbca8", "sha256": "e56a55446c837f865f2c317acfb1b1f8e02d1ac92ca1de442a930a5a2b1cfbad" }, "downloads": -1, "filename": "rpcpdb-0.4.5.tar.gz", "has_sig": false, "md5_digest": "80bf1c6590bdaa3b86c16328e64fbca8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12921, "upload_time": "2016-06-27T21:24:59", "url": "https://files.pythonhosted.org/packages/85/52/bd06263411fa97fa832a3fa5c040bfd1375e3ed8b85e9c1702b6a794ab85/rpcpdb-0.4.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "80bf1c6590bdaa3b86c16328e64fbca8", "sha256": "e56a55446c837f865f2c317acfb1b1f8e02d1ac92ca1de442a930a5a2b1cfbad" }, "downloads": -1, "filename": "rpcpdb-0.4.5.tar.gz", "has_sig": false, "md5_digest": "80bf1c6590bdaa3b86c16328e64fbca8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12921, "upload_time": "2016-06-27T21:24:59", "url": "https://files.pythonhosted.org/packages/85/52/bd06263411fa97fa832a3fa5c040bfd1375e3ed8b85e9c1702b6a794ab85/rpcpdb-0.4.5.tar.gz" } ] }