Live Debugger
=============
Overview
********
Live Debugger is a library for CPython that allows to collect stacktrace data from running
processes in production environments without stopping the world. The library provides
safe building blocks and concepts for developers to collect stack snapshot from
processes. It is designed to be minimal and extensible. It also makes no assumptions
on what the process plans to do with the collected data, focusing only on providing immutable
safe data.
The debugger implementation uses CPython debugging functions available in the standard
library to intercept function call and collect stack frames data. Stackframes are transformed
into immutable data structures so no harm can be done to the running process.
The main benefits of using this library are:
* Free (as in freedom)
* Depends only on CPython standard libraries
* Easy to extend
* Easy to use
* Small codebase
Installation
************
This library is available in `PyPI <https://pypi.org/>`_ so you can install it as a normal Python package:
.. code-block:: bash
pip install live-debugger
Usage
*****
.. code-block:: python
>>> from live_debugger import api
>>> cookie = api.add_point("flask_example/app.py", 33, print)
>>> api.clear_point(cookie)
Next
****
* Async support
* Anonymization
Credits
*******
* Yunier Rojas García
* ChatGPT -- for helping me writing this README
License
*******
AGPL v3
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/yunier.rojas/python-live-debugger",
"name": "live-debugger",
"maintainer": "Yunier Rojas Garc\u00eda",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "yunier.rojas@gmail.com",
"keywords": "python,live,debugger",
"author": "Yunier Rojas Garc\u00eda",
"author_email": "yunier.rojas@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/60/b1/42b8ad01642b6ef681d0c4ad8acf357d3f2c5222b60f35018c816110477f/live_debugger-0.1.0.tar.gz",
"platform": null,
"description": "Live Debugger\n=============\n\nOverview\n********\n\nLive Debugger is a library for CPython that allows to collect stacktrace data from running\nprocesses in production environments without stopping the world. The library provides\nsafe building blocks and concepts for developers to collect stack snapshot from\nprocesses. It is designed to be minimal and extensible. It also makes no assumptions\non what the process plans to do with the collected data, focusing only on providing immutable\nsafe data.\n\nThe debugger implementation uses CPython debugging functions available in the standard\nlibrary to intercept function call and collect stack frames data. Stackframes are transformed\ninto immutable data structures so no harm can be done to the running process.\n\nThe main benefits of using this library are:\n\n* Free (as in freedom)\n* Depends only on CPython standard libraries\n* Easy to extend\n* Easy to use\n* Small codebase\n\n\nInstallation\n************\n\nThis library is available in `PyPI <https://pypi.org/>`_ so you can install it as a normal Python package:\n\n.. code-block:: bash\n\n pip install live-debugger\n\n\nUsage\n*****\n\n.. code-block:: python\n \n >>> from live_debugger import api\n >>> cookie = api.add_point(\"flask_example/app.py\", 33, print)\n >>> api.clear_point(cookie)\n\n\nNext\n****\n\n* Async support\n* Anonymization\n\n\nCredits\n*******\n\n* Yunier Rojas Garc\u00eda\n* ChatGPT -- for helping me writing this README\n\n\nLicense\n*******\nAGPL v3\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0",
"summary": "A simple library for CPython that allows you to collect stacktrace data from running processes in production environments without stopping the execution of the process.",
"version": "0.1.0",
"split_keywords": [
"python",
"live",
"debugger"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4023db531ed8c0c0c0331d384ae218b96084eeb375dbbb130fac4fff255ae890",
"md5": "6524cd47bc24768b31c6c4e68f1a9492",
"sha256": "70694e45dddb08a446e1796f38039c58f861863f3d3b7da2a033696597c54776"
},
"downloads": -1,
"filename": "live_debugger-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6524cd47bc24768b31c6c4e68f1a9492",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 21443,
"upload_time": "2023-01-15T13:47:26",
"upload_time_iso_8601": "2023-01-15T13:47:26.717173Z",
"url": "https://files.pythonhosted.org/packages/40/23/db531ed8c0c0c0331d384ae218b96084eeb375dbbb130fac4fff255ae890/live_debugger-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60b142b8ad01642b6ef681d0c4ad8acf357d3f2c5222b60f35018c816110477f",
"md5": "963bc96c4482861a90499555da475e22",
"sha256": "102809dc64118690dd00c89fff21d71afdd3dd6fd269e043d3f51eb365f91366"
},
"downloads": -1,
"filename": "live_debugger-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "963bc96c4482861a90499555da475e22",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 18890,
"upload_time": "2023-01-15T13:47:28",
"upload_time_iso_8601": "2023-01-15T13:47:28.520811Z",
"url": "https://files.pythonhosted.org/packages/60/b1/42b8ad01642b6ef681d0c4ad8acf357d3f2c5222b60f35018c816110477f/live_debugger-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-15 13:47:28",
"github": false,
"gitlab": true,
"bitbucket": false,
"gitlab_user": "yunier.rojas",
"gitlab_project": "python-live-debugger",
"lcname": "live-debugger"
}