{ "info": { "author": "valensc, Wu Xiao", "author_email": "weidong1312@gmail.com, notgiven@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# pylane\n\n[![PyPI version](https://badge.fury.io/py/pylane.svg)](https://badge.fury.io/py/pylane)\n\n\n[\u7b80\u4f53\u4e2d\u6587](README.zh-cn.md)\n\nPylane is a python vm injector with debug tools, based on gdb and ptrace.\nPylane uses gdb to trace python process, inject and run some code in its python vm.\n\n## Usage\n\n![pylane_show](misc/pylane_show.gif)\n\nuse inject command to inject a python script in an process:\n\n```\npylane inject \n```\n\nuse shell command to inject an interactive shell:\n\n```\npylane shell \n```\n\nPylane shell features:\n\n* use IPython as its interactive interface, support magic functions like ? and %\n* support remote automatic completion\n* provide debug toolkit functions, such as:\n * lookup class or instance by name\n * get source code of an object\n * print all threads' stack and locals\n\n## Install\n\n```\npip install pylane\n```\n\npylane should be installed in virtualenv the target process uses or in os python lib.\n\n## Compatibility\n\nSupport Linux and BSD\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/NtesEyes/pylane/archive/0.0.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NtesEyes/pylane", "keywords": "debug,attach,gdb,shell", "license": "", "maintainer": "", "maintainer_email": "", "name": "pylane", "package_url": "https://pypi.org/project/pylane/", "platform": "", "project_url": "https://pypi.org/project/pylane/", "project_urls": { "Download": "https://github.com/NtesEyes/pylane/archive/0.0.2.tar.gz", "Homepage": "https://github.com/NtesEyes/pylane" }, "release_url": "https://pypi.org/project/pylane/0.0.8/", "requires_dist": [ "ipython (==5.7)", "Click (==7.0)" ], "requires_python": "", "summary": "", "version": "0.0.8" }, "last_serial": 5889512, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ebc68492ce9c90a1c34708c96fa08f63", "sha256": "3a41b2f96c774a8f2c6d9c6dc12bfd9ac89911a8cc4be5ed7a19d7e737a5873b" }, "downloads": -1, "filename": "pylane-0.0.1-py2.7.egg", "has_sig": false, "md5_digest": "ebc68492ce9c90a1c34708c96fa08f63", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 32246, "upload_time": "2019-01-08T10:14:30", "url": "https://files.pythonhosted.org/packages/9b/8d/75618a6898e71140e7bcd57ea4fcd119f0e6ce5765c36bad3cde1eb1c833/pylane-0.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "0c9fc1911b46cc2d160cea4643048884", "sha256": "b768a1d87d3d05e381be9e8e47a183353264ecb659762e53bb234ddc89180425" }, "downloads": -1, "filename": "pylane-0.0.1-py3.5.egg", "has_sig": false, "md5_digest": "0c9fc1911b46cc2d160cea4643048884", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 33250, "upload_time": "2019-01-08T10:14:32", "url": "https://files.pythonhosted.org/packages/05/bc/f4666227898319d8f09beae26fa7c6817d169a73f047936517008cbdd28b/pylane-0.0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "a909e1d0312cfccb598ebfa3786ef512", "sha256": "85b1e8e87d029f8e13ad297116f28222becdb722749a1686bd0743826c35a0a7" }, "downloads": -1, "filename": "pylane-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a909e1d0312cfccb598ebfa3786ef512", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11016, "upload_time": "2018-03-29T05:41:21", "url": "https://files.pythonhosted.org/packages/37/e4/3343a836703609f357c8d5f018454ed0a18b027922107524ceb370880ef1/pylane-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "96b1599acaf0dd8ca38c8634d4e03c5c", "sha256": "0e2aecf5e21dfaa991211f1acfc708821cc1e1401d8440d003dc991876ec9683" }, "downloads": -1, "filename": "pylane-0.0.2.tar.gz", "has_sig": false, "md5_digest": "96b1599acaf0dd8ca38c8634d4e03c5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10909, "upload_time": "2019-01-08T09:58:21", "url": "https://files.pythonhosted.org/packages/60/2c/75734d1434ce39d013f83b888190a9c55ca2018f291e23ed8c8c510b124c/pylane-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "028eb23496b36edd1c61d595fd25c42f", "sha256": "44c2c58a43b5c21cd5f38e1b78b138be24ee1e05e36c34ed340dc0e66bdfd1a2" }, "downloads": -1, "filename": "pylane-0.0.3.tar.gz", "has_sig": false, "md5_digest": "028eb23496b36edd1c61d595fd25c42f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11594, "upload_time": "2019-01-08T10:02:34", "url": "https://files.pythonhosted.org/packages/70/55/ef18a19d58ee3cc3c1532e0f4155ea14a84eaedf0afff6ceb8a36531bc77/pylane-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "cb7b4385f1e3aa5ca3f278b9762c87da", "sha256": "6b731b608f4bc58db6013f11d8e71f53c6179b492351fdc28069c61d90f4bf2e" }, "downloads": -1, "filename": "pylane-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "cb7b4385f1e3aa5ca3f278b9762c87da", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15682, "upload_time": "2019-01-10T02:50:26", "url": "https://files.pythonhosted.org/packages/fa/c2/e0245010899cb54420c4abba3b13daa22b07d46da9754c314d2fed81eac9/pylane-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f22ff751b9a54aa58f53b40d395b5fb", "sha256": "c566f2233fd930763b79b42af1b5c49df4153f716141a24844eb44d26d0ec426" }, "downloads": -1, "filename": "pylane-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2f22ff751b9a54aa58f53b40d395b5fb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26658, "upload_time": "2019-01-08T10:14:28", "url": "https://files.pythonhosted.org/packages/1d/ca/7abce120ee1645c458874cfd5b2e22d6cf566bd1243ff6ccfe3c569012df/pylane-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "384b3f4ca8b65d05a91a65eaa538a24b", "sha256": "2e7844b8c7355ad3d543b570ef6fb14ad3148ba514f1f91d29e41f9aa27d9956" }, "downloads": -1, "filename": "pylane-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "384b3f4ca8b65d05a91a65eaa538a24b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16162, "upload_time": "2019-01-10T10:14:27", "url": "https://files.pythonhosted.org/packages/45/a2/a517fed0a8ad95f7d8e5f60e6171a9c6d1d465f568a097431cbb5f783005/pylane-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2843ccf149c098ca986af67f07ef0d6c", "sha256": "82dc54d9a72522fb64e04e2821ef547d9ee5aabe7065b658cb0903fbf4ef3a6c" }, "downloads": -1, "filename": "pylane-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2843ccf149c098ca986af67f07ef0d6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27134, "upload_time": "2019-01-10T10:14:29", "url": "https://files.pythonhosted.org/packages/26/a0/1f44e26732fad9cf3959c493a576294ee1aa8c4c9107f20b8ea7f0b3443b/pylane-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94491a5717c158ed33d6bfb49328a608", "sha256": "0e199b1089d2ee7632b40d1a3ebf93d994ab995cfec0c42b5e09d98e6fac4db5" }, "downloads": -1, "filename": "pylane-0.0.5.tar.gz", "has_sig": false, "md5_digest": "94491a5717c158ed33d6bfb49328a608", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12018, "upload_time": "2019-01-10T10:14:30", "url": "https://files.pythonhosted.org/packages/c7/88/4d6712d5920835c5db0370142e42589b7e1a07703198b54f29b4a267aa14/pylane-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4fd96f7ea352df8ad58ed278406fbb55", "sha256": "f97cb361d705f94b503b5d030f2cafc04fff84b7000a7feb355dc69957f99db2" }, "downloads": -1, "filename": "pylane-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fd96f7ea352df8ad58ed278406fbb55", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27570, "upload_time": "2019-02-01T08:26:10", "url": "https://files.pythonhosted.org/packages/b2/7f/577a1c851d2e31aac153a4a5a33e4b50cbedc9fb35393595b01498c84958/pylane-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5cc46af59cfda7b48e0ecfb2aa64128", "sha256": "b716df710a357cd3fbd65a2c664c1aa89f694b0c6a1bcf7512bc1ca70d77761e" }, "downloads": -1, "filename": "pylane-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f5cc46af59cfda7b48e0ecfb2aa64128", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12493, "upload_time": "2019-02-01T08:26:12", "url": "https://files.pythonhosted.org/packages/8d/13/b5a84d23bba92e9928c7da9b32bc055a8162b019bd934d990bb7f0e067fa/pylane-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "aefb3a8b00aaae9c4cae8d77f2b57023", "sha256": "a9eddab18b7df21fbaf1ee0a0e04516089fb19f420c5d3d8307b3f5e94ea7e8c" }, "downloads": -1, "filename": "pylane-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aefb3a8b00aaae9c4cae8d77f2b57023", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27657, "upload_time": "2019-09-25T07:51:06", "url": "https://files.pythonhosted.org/packages/77/34/953b198d8069e3210c985f618d27da1203f743a14d2404668e671dafe2d1/pylane-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b7a08683be15858a5d87e94e23dae27", "sha256": "7d7d66a24abc7ddc273dd9407733d48bd404d6898fe3f817c94dd31793f4042e" }, "downloads": -1, "filename": "pylane-0.0.7.tar.gz", "has_sig": false, "md5_digest": "1b7a08683be15858a5d87e94e23dae27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12574, "upload_time": "2019-09-25T07:51:08", "url": "https://files.pythonhosted.org/packages/f7/de/19f54ef20e5a24946345026cec4f4703bad4f7e49aec5c200b5c0c275eda/pylane-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "a1e4ff2ae36427666e0d575d0926800d", "sha256": "cb23620ab5e79122c5437c2c854814a0793341d0077103185db8b616ca881049" }, "downloads": -1, "filename": "pylane-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1e4ff2ae36427666e0d575d0926800d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27704, "upload_time": "2019-09-26T09:02:23", "url": "https://files.pythonhosted.org/packages/a3/08/8c00864360b1e9bb2c665b8e1d94f48c23f349cb3e7f82634ab16ac643de/pylane-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f8e3c1a214425f0f5261b94cd4b4949", "sha256": "d1d0e79aeae81f6cbc1374143b8130094554cc3a2083c76a0af6ab449e124f78" }, "downloads": -1, "filename": "pylane-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7f8e3c1a214425f0f5261b94cd4b4949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12613, "upload_time": "2019-09-26T09:02:25", "url": "https://files.pythonhosted.org/packages/5d/b9/16d164832dc105878fa5c085e0cd23c36cf8ecff1c6067e808faf0707034/pylane-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1e4ff2ae36427666e0d575d0926800d", "sha256": "cb23620ab5e79122c5437c2c854814a0793341d0077103185db8b616ca881049" }, "downloads": -1, "filename": "pylane-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1e4ff2ae36427666e0d575d0926800d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27704, "upload_time": "2019-09-26T09:02:23", "url": "https://files.pythonhosted.org/packages/a3/08/8c00864360b1e9bb2c665b8e1d94f48c23f349cb3e7f82634ab16ac643de/pylane-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f8e3c1a214425f0f5261b94cd4b4949", "sha256": "d1d0e79aeae81f6cbc1374143b8130094554cc3a2083c76a0af6ab449e124f78" }, "downloads": -1, "filename": "pylane-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7f8e3c1a214425f0f5261b94cd4b4949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12613, "upload_time": "2019-09-26T09:02:25", "url": "https://files.pythonhosted.org/packages/5d/b9/16d164832dc105878fa5c085e0cd23c36cf8ecff1c6067e808faf0707034/pylane-0.0.8.tar.gz" } ] }